diff --git a/core/composer.json b/core/composer.json
index 5f64514..247d8ce 100644
--- a/core/composer.json
+++ b/core/composer.json
@@ -6,17 +6,17 @@
   "require": {
     "php": ">=5.4.5",
     "sdboyer/gliph": "0.1.*",
-    "symfony/class-loader": "2.6.*",
-    "symfony/css-selector": "2.6.*",
-    "symfony/dependency-injection": "2.6.*",
-    "symfony/event-dispatcher": "2.6.*",
-    "symfony/http-foundation": "2.6.*",
-    "symfony/http-kernel": "2.6.*",
-    "symfony/routing": "2.6.*",
-    "symfony/serializer": "2.6.*",
-    "symfony/validator": "2.6.*@dev",
-    "symfony/process": "2.6.*",
-    "symfony/yaml": "2.6.*",
+    "symfony/class-loader": "2.7.*",
+    "symfony/css-selector": "2.7.*",
+    "symfony/dependency-injection": "2.7.*",
+    "symfony/event-dispatcher": "2.7.*",
+    "symfony/http-foundation": "2.7.*",
+    "symfony/http-kernel": "2.7.*",
+    "symfony/routing": "2.7.*",
+    "symfony/serializer": "2.7.*",
+    "symfony/validator": "2.7.*",
+    "symfony/process": "2.7.*",
+    "symfony/yaml": "2.7.*",
     "twig/twig": "1.18.*",
     "doctrine/common": "~2.4.2",
     "doctrine/annotations": "1.2.*",
@@ -33,6 +33,8 @@
     "fabpot/goutte": "^2.0.3",
     "masterminds/html5": "~2.1"
   },
+  "minimum-stability": "dev",
+  "prefer-stable": true,
   "autoload": {
     "psr-4": {
       "Drupal\\Core\\": "lib/Drupal/Core",
diff --git a/core/composer.lock b/core/composer.lock
index efa5529..837e1bf 100644
--- a/core/composer.lock
+++ b/core/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "ba1a97bf2c0bcef4fb771231a4c1fbdb",
+    "hash": "889ef3c9ba7aa2218dcf4958e06f5d32",
     "packages": [
         {
             "name": "behat/mink",
@@ -2191,21 +2191,20 @@
         },
         {
             "name": "symfony/class-loader",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/ClassLoader",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/ClassLoader.git",
-                "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5"
+                "reference": "ebbd647c2f40e2153b5bc044de62af4a98ae5a40"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/861765b3e5f32979de5bd19ad2577cbb830a29d5",
-                "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5",
+                "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/ebbd647c2f40e2153b5bc044de62af4a98ae5a40",
+                "reference": "ebbd647c2f40e2153b5bc044de62af4a98ae5a40",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
                 "symfony/finder": "~2.0,>=2.0.5",
@@ -2214,11 +2213,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\ClassLoader\\": ""
                 }
             },
@@ -2228,35 +2227,34 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony ClassLoader Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-03-27 10:19:51"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-02 15:21:08"
         },
         {
             "name": "symfony/css-selector",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/CssSelector",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/CssSelector.git",
-                "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4"
+                "reference": "081e7e1e8473647dd63d6d4708e4f26bb63ab4b1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/CssSelector/zipball/db2c48df9658423a8c168d89f7b971b73d3d74a4",
-                "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4",
+                "url": "https://api.github.com/repos/symfony/CssSelector/zipball/081e7e1e8473647dd63d6d4708e4f26bb63ab4b1",
+                "reference": "081e7e1e8473647dd63d6d4708e4f26bb63ab4b1",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
                 "symfony/phpunit-bridge": "~2.7"
@@ -2264,11 +2262,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\CssSelector\\": ""
                 }
             },
@@ -2278,21 +2276,21 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "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": "Symfony CssSelector Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-03-22 16:55:57"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-02 15:21:08"
         },
         {
             "name": "symfony/debug",
@@ -2357,21 +2355,20 @@
         },
         {
             "name": "symfony/dependency-injection",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/DependencyInjection",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/DependencyInjection.git",
-                "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6"
+                "reference": "9d373af7ca70193fba0841e88d40d4d1a1409f59"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/8e9007012226b4bd41f8afed855c452cf5edc3a6",
-                "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6",
+                "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/9d373af7ca70193fba0841e88d40d4d1a1409f59",
+                "reference": "9d373af7ca70193fba0841e88d40d4d1a1409f59",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "conflict": {
                 "symfony/expression-language": "<2.6"
@@ -2390,11 +2387,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\DependencyInjection\\": ""
                 }
             },
@@ -2404,17 +2401,17 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony DependencyInjection Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-03-30 15:54:10"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-12 15:01:57"
         },
         {
             "name": "symfony/dom-crawler",
@@ -2472,21 +2469,20 @@
         },
         {
             "name": "symfony/event-dispatcher",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/EventDispatcher",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/EventDispatcher.git",
-                "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284"
+                "reference": "687039686d0e923429ba6e958d0baa920cd5d458"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284",
-                "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284",
+                "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/687039686d0e923429ba6e958d0baa920cd5d458",
+                "reference": "687039686d0e923429ba6e958d0baa920cd5d458",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
                 "psr/log": "~1.0",
@@ -2503,11 +2499,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\EventDispatcher\\": ""
                 }
             },
@@ -2517,35 +2513,34 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony EventDispatcher Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-03-13 17:37:22"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-02 15:21:08"
         },
         {
             "name": "symfony/http-foundation",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/HttpFoundation",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/HttpFoundation.git",
-                "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9"
+                "reference": "35e7da59f307611c19eba93f1c2f3ba209d45292"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8a6337233f08f7520de97f4ffd6f00e947d892f9",
-                "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9",
+                "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/35e7da59f307611c19eba93f1c2f3ba209d45292",
+                "reference": "35e7da59f307611c19eba93f1c2f3ba209d45292",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
                 "symfony/expression-language": "~2.4",
@@ -2554,15 +2549,15 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\HttpFoundation\\": ""
                 },
                 "classmap": [
-                    "Symfony/Component/HttpFoundation/Resources/stubs"
+                    "Resources/stubs"
                 ]
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2571,44 +2566,46 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony HttpFoundation Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-04-01 16:50:12"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-02 15:21:08"
         },
         {
             "name": "symfony/http-kernel",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/HttpKernel",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/HttpKernel.git",
-                "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4"
+                "reference": "18d9f196cba491209294befd8de60cf2a463fb73"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/3829cacfe21eaf3f73604a62d79183d1f6e792c4",
-                "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4",
+                "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/18d9f196cba491209294befd8de60cf2a463fb73",
+                "reference": "18d9f196cba491209294befd8de60cf2a463fb73",
                 "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": {
                 "symfony/browser-kit": "~2.3",
                 "symfony/class-loader": "~2.1",
-                "symfony/config": "~2.0,>=2.0.5",
+                "symfony/config": "~2.7",
                 "symfony/console": "~2.3",
                 "symfony/css-selector": "~2.0,>=2.0.5",
                 "symfony/dependency-injection": "~2.2",
@@ -2635,11 +2632,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\HttpKernel\\": ""
                 }
             },
@@ -2649,35 +2646,34 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony HttpKernel Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-04-01 16:55:26"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-13 20:25:22"
         },
         {
             "name": "symfony/process",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/Process",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Process.git",
-                "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552"
+                "reference": "f393d2194314875d9effa8e0c2e1f887f65dcbd6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Process/zipball/a8bebaec1a9dc6cde53e0250e32917579b0be552",
-                "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552",
+                "url": "https://api.github.com/repos/symfony/Process/zipball/f393d2194314875d9effa8e0c2e1f887f65dcbd6",
+                "reference": "f393d2194314875d9effa8e0c2e1f887f65dcbd6",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
                 "symfony/phpunit-bridge": "~2.7"
@@ -2685,11 +2681,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\Process\\": ""
                 }
             },
@@ -2699,41 +2695,43 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony Process Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-03-30 15:54:10"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-02 15:21:08"
         },
         {
             "name": "symfony/routing",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/Routing",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Routing.git",
-                "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa"
+                "reference": "15bf04e8b754ee90e31f47d4c9b2d15946ed53b2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Routing/zipball/4e173a645b63ff60a124f3741b4f15feebd908fa",
-                "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa",
+                "url": "https://api.github.com/repos/symfony/Routing/zipball/15bf04e8b754ee90e31f47d4c9b2d15946ed53b2",
+                "reference": "15bf04e8b754ee90e31f47d4c9b2d15946ed53b2",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
+            },
+            "conflict": {
+                "symfony/config": "<2.7"
             },
             "require-dev": {
                 "doctrine/annotations": "~1.0",
                 "doctrine/common": "~2.2",
                 "psr/log": "~1.0",
-                "symfony/config": "~2.2",
+                "symfony/config": "~2.7",
                 "symfony/expression-language": "~2.4",
                 "symfony/http-foundation": "~2.3",
                 "symfony/phpunit-bridge": "~2.7",
@@ -2748,11 +2746,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\Routing\\": ""
                 }
             },
@@ -2762,53 +2760,64 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony Routing Component",
-            "homepage": "http://symfony.com",
+            "homepage": "https://symfony.com",
             "keywords": [
                 "router",
                 "routing",
                 "uri",
                 "url"
             ],
-            "time": "2015-03-30 15:54:10"
+            "time": "2015-05-11 17:33:08"
         },
         {
             "name": "symfony/serializer",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/Serializer",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Serializer.git",
-                "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3"
+                "reference": "122c2b000130e3ae0fe5029bcc111bb6b3ffaad6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Serializer/zipball/bf30b882e15945fe8700edcd966eb3f5503820f3",
-                "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3",
+                "url": "https://api.github.com/repos/symfony/Serializer/zipball/122c2b000130e3ae0fe5029bcc111bb6b3ffaad6",
+                "reference": "122c2b000130e3ae0fe5029bcc111bb6b3ffaad6",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
-                "symfony/phpunit-bridge": "~2.7"
+                "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": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\Serializer\\": ""
                 }
             },
@@ -2818,17 +2827,17 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony Serializer Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-03-22 16:55:57"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-04 07:31:19"
         },
         {
             "name": "symfony/translation",
@@ -2891,27 +2900,25 @@
         },
         {
             "name": "symfony/validator",
-            "version": "2.6.x-dev",
-            "target-dir": "Symfony/Component/Validator",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Validator.git",
-                "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495"
+                "reference": "6953d4b51b9a28e08c831e8a12ede228fc256c25"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Validator/zipball/6bb1b474d25cb80617d8da6cb14c955ba914e495",
-                "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495",
+                "url": "https://api.github.com/repos/symfony/Validator/zipball/6953d4b51b9a28e08c831e8a12ede228fc256c25",
+                "reference": "6953d4b51b9a28e08c831e8a12ede228fc256c25",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3",
-                "symfony/translation": "~2.0,>=2.0.5"
+                "php": ">=5.3.9",
+                "symfony/translation": "~2.4"
             },
             "require-dev": {
                 "doctrine/annotations": "~1.0",
                 "doctrine/cache": "~1.0",
-                "doctrine/common": "~2.3",
                 "egulias/email-validator": "~1.2,>=1.2.1",
                 "symfony/config": "~2.2",
                 "symfony/expression-language": "~2.4",
@@ -2935,11 +2942,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\Validator\\": ""
                 }
             },
@@ -2959,25 +2966,24 @@
             ],
             "description": "Symfony Validator Component",
             "homepage": "https://symfony.com",
-            "time": "2015-05-05 01:29:27"
+            "time": "2015-05-05 01:30:36"
         },
         {
             "name": "symfony/yaml",
-            "version": "v2.6.6",
-            "target-dir": "Symfony/Component/Yaml",
+            "version": "v2.7.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Yaml.git",
-                "reference": "174f009ed36379a801109955fc5a71a49fe62dd4"
+                "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4",
-                "reference": "174f009ed36379a801109955fc5a71a49fe62dd4",
+                "url": "https://api.github.com/repos/symfony/Yaml/zipball/4a29a5248aed4fb45f626a7bbbd330291492f5c3",
+                "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
                 "symfony/phpunit-bridge": "~2.7"
@@ -2985,11 +2991,11 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
+                "psr-4": {
                     "Symfony\\Component\\Yaml\\": ""
                 }
             },
@@ -2999,17 +3005,17 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
                     "name": "Fabien Potencier",
                     "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
             "description": "Symfony Yaml Component",
-            "homepage": "http://symfony.com",
-            "time": "2015-03-30 15:54:10"
+            "homepage": "https://symfony.com",
+            "time": "2015-05-02 15:21:08"
         },
         {
             "name": "twig/twig",
@@ -3220,11 +3226,9 @@
     ],
     "packages-dev": [],
     "aliases": [],
-    "minimum-stability": "stable",
-    "stability-flags": {
-        "symfony/validator": 20
-    },
-    "prefer-stable": false,
+    "minimum-stability": "dev",
+    "stability-flags": [],
+    "prefer-stable": true,
     "prefer-lowest": false,
     "platform": {
         "php": ">=5.4.5"
diff --git a/core/core.services.yml b/core/core.services.yml
index c6161ab..3855fa9 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -144,57 +144,49 @@ services:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin, default_backend: cache.backend.chainedfast }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [bootstrap]
   cache.config:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin, default_backend: cache.backend.chainedfast }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [config]
   cache.default:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [default]
   cache.entity:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [entity]
   cache.menu:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [menu]
   cache.render:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [render]
   cache.data:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [data]
   cache.discovery:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin, default_backend: cache.backend.chainedfast }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [discovery]
   cache_router_rebuild_subscriber:
     class: Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber
@@ -249,13 +241,11 @@ services:
       - { name: backend_overridable }
   config.storage.file:
     class: Drupal\Core\Config\FileStorage
-    factory_class: Drupal\Core\Config\FileStorageFactory
-    factory_method: getActive
+    factory: Drupal\Core\Config\FileStorageFactory::getActive
     public: false
   config.storage.staging:
     class: Drupal\Core\Config\FileStorage
-    factory_class: Drupal\Core\Config\FileStorageFactory
-    factory_method: getStaging
+    factory: Drupal\Core\Config\FileStorageFactory::getStaging
   config.storage.snapshot:
     class: Drupal\Core\Config\DatabaseStorage
     arguments: ['@database', config_snapshot]
@@ -281,8 +271,7 @@ services:
     arguments: ['@config.factory']
   database:
     class: Drupal\Core\Database\Connection
-    factory_class: Drupal\Core\Database\Database
-    factory_method: getConnection
+    factory: Drupal\Core\Database\Database::getConnection
     arguments: [default]
   file_system:
     class: Drupal\Core\File\FileSystem
@@ -320,8 +309,7 @@ services:
   logger.channel_base:
     abstract: true
     class: Drupal\Core\Logger\LoggerChannel
-    factory_method: get
-    factory_service: logger.factory
+    factory: logger.factory:get
   logger.channel.default:
     parent: logger.channel_base
     arguments: ['system']
@@ -336,8 +324,7 @@ services:
     arguments: ['cron']
   logger.channel.file:
     class: Drupal\Core\Logger\LoggerChannel
-    factory_method: get
-    factory_service: logger.factory
+    factory: logger.factory:get
     arguments: ['file']
   logger.channel.form:
     parent: logger.channel_base
@@ -354,8 +341,7 @@ services:
 
   settings:
     class: Drupal\Core\Site\Settings
-    factory_class: Drupal\Core\Site\Settings
-    factory_method: getInstance
+    factory: Drupal\Core\Site\Settings::getInstance
   state:
     class: Drupal\Core\State\State
     arguments: ['@keyvalue']
@@ -539,8 +525,7 @@ services:
     arguments: ['@service_container']
   app.root:
     class: SplString
-    factory_service: 'app.root.factory'
-    factory_method: 'get'
+    factory: app.root.factory:get
     tags:
       - { name: parameter_service }
   app.root.factory:
@@ -610,8 +595,7 @@ services:
       - { name: service_collector, tag: string_translator, call: addTranslator }
   database.replica:
     class: Drupal\Core\Database\Connection
-    factory_class: Drupal\Core\Database\Database
-    factory_method: getConnection
+    factory: Drupal\Core\Database\Database::getConnection
     arguments: [replica]
   typed_data_manager:
     class: Drupal\Core\TypedData\TypedDataManager
diff --git a/core/lib/Drupal/Core/Composer/Composer.php b/core/lib/Drupal/Core/Composer/Composer.php
index bac268f..297f380 100644
--- a/core/lib/Drupal/Core/Composer/Composer.php
+++ b/core/lib/Drupal/Core/Composer/Composer.php
@@ -24,14 +24,14 @@ public static function preAutoloadDump(Event $event) {
     $package = $composer->getPackage();
     $autoload = $package->getAutoload();
     $autoload['classmap'] = array_merge($autoload['classmap'], array(
-      'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php',
-      'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php',
-      'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php',
-      'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php',
-      'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php',
-      'vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php',
-      'vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php',
-      'vendor/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php'
+      'vendor/symfony/http-foundation/Request.php',
+      'vendor/symfony/http-foundation/ParameterBag.php',
+      'vendor/symfony/http-foundation/FileBag.php',
+      'vendor/symfony/http-foundation/ServerBag.php',
+      'vendor/symfony/http-foundation/HeaderBag.php',
+      'vendor/symfony/http-kernel/HttpKernel.php',
+      'vendor/symfony/http-kernel/HttpKernelInterface.php',
+      'vendor/symfony/http-kernel/TerminableInterface.php',
     ));
     $package->setAutoload($autoload);
   }
diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
index 16bf0ad..cb85878 100644
--- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
+++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
@@ -43,10 +43,6 @@ public function __construct(ParameterBagInterface $parameterBag = NULL) {
   public function set($id, $service, $scope = self::SCOPE_CONTAINER) {
     SymfonyContainer::set($id, $service, $scope);
 
-    if ($this->hasDefinition($id) && ($definition = $this->getDefinition($id)) && $definition->isSynchronized()) {
-      $this->synchronize($id);
-    }
-
     // Ensure that the _serviceId property is set on synthetic services as well.
     if (isset($this->services[$id]) && is_object($this->services[$id]) && !isset($this->services[$id]->_serviceId)) {
       $this->services[$id]->_serviceId = $id;
diff --git a/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php b/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php
index 77484de..ed3111a 100644
--- a/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php
+++ b/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php
@@ -169,6 +169,19 @@ private function parseDefinition($id, $service, $file)
             $definition->setAbstract($service['abstract']);
         }
 
+        if (isset($service['factory'])) {
+            if (is_string($service['factory'])) {
+                if (strpos($service['factory'], ':') !== false && strpos($service['factory'], '::') === false) {
+                    $parts = explode(':', $service['factory']);
+                    $definition->setFactory(array($this->resolveServices('@'.$parts[0]), $parts[1]));
+              } else {
+                    $definition->setFactory($service['factory']);
+            }
+          } else {
+              $definition->setFactory(array($this->resolveServices($service['factory'][0]), $service['factory'][1]));
+          }
+        }
+
         if (isset($service['factory_class'])) {
             $definition->setFactoryClass($service['factory_class']);
         }
diff --git a/core/modules/contact/contact.services.yml b/core/modules/contact/contact.services.yml
index 3db0d9f..dac4210 100644
--- a/core/modules/contact/contact.services.yml
+++ b/core/modules/contact/contact.services.yml
@@ -9,6 +9,5 @@ services:
     arguments: ['@plugin.manager.mail', '@language_manager', '@logger.channel.contact', '@string_translation', '@entity.manager']
   logger.channel.contact:
     class: Drupal\Core\Logger\LoggerChannel
-    factory_method: get
-    factory_service: logger.factory
+    factory: logger.factory:get
     arguments: ['contact']
diff --git a/core/modules/migrate/migrate.services.yml b/core/modules/migrate/migrate.services.yml
index 8b6bad7..3f2d32d 100644
--- a/core/modules/migrate/migrate.services.yml
+++ b/core/modules/migrate/migrate.services.yml
@@ -3,8 +3,7 @@ services:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [migrate]
   plugin.manager.migrate.source:
     class: Drupal\migrate\Plugin\MigratePluginManager
diff --git a/core/modules/rest/rest.services.yml b/core/modules/rest/rest.services.yml
index 04f5f1d..6b613e3 100644
--- a/core/modules/rest/rest.services.yml
+++ b/core/modules/rest/rest.services.yml
@@ -6,8 +6,7 @@ services:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [rest]
   access_check.rest.csrf:
     class: Drupal\rest\Access\CSRFAccessCheck
diff --git a/core/modules/system/core.api.php b/core/modules/system/core.api.php
index 14c894a..ce6bb47 100644
--- a/core/modules/system/core.api.php
+++ b/core/modules/system/core.api.php
@@ -438,8 +438,7 @@
  *   class: Drupal\Core\Cache\CacheBackendInterface
  *   tags:
  *     - { name: cache.bin }
- *   factory_method: get
- *   factory_service: cache_factory
+ *   factory: cache_factory:get
  *   arguments: [nameofbin]
  * @endcode
  * See the @link container Services topic @endlink for more on defining
@@ -683,8 +682,7 @@
  *     class: Drupal\Core\Cache\CacheBackendInterface
  *     tags:
  *       - { name: cache.bin }
- *     factory_method: get
- *     factory_service: cache_factory
+ *     factory: cache_factory:get
  *     arguments: [entity]
  * @endcode
  *
diff --git a/core/modules/toolbar/toolbar.services.yml b/core/modules/toolbar/toolbar.services.yml
index 278d3c7..33afd39 100644
--- a/core/modules/toolbar/toolbar.services.yml
+++ b/core/modules/toolbar/toolbar.services.yml
@@ -3,8 +3,7 @@ services:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
       - { name: cache.bin }
-    factory_method: get
-    factory_service: cache_factory
+    factory: cache_factory:get
     arguments: [toolbar]
   toolbar.page_cache_request_policy.allow_toolbar_path:
     class: Drupal\toolbar\PageCache\AllowToolbarPath
diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php
index f2537c8..b82fa21 100644
--- a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php
+++ b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php
@@ -21,26 +21,6 @@
 class ContainerBuilderTest extends UnitTestCase {
 
   /**
-   * Tests set with a synchronized service.
-   */
-  public function testSetOnSynchronizedService() {
-    $container = new ContainerBuilder();
-    $container->register('baz', 'BazClass')
-      ->setSynchronized(TRUE);
-    $container->register('bar', 'BarClass')
-      ->addMethodCall('setBaz', array(new Reference('baz')));
-
-    // Ensure that we can set services on a compiled container.
-    $container->compile();
-
-    $container->set('baz', $baz = new \BazClass());
-    $this->assertSame($baz, $container->get('bar')->getBaz());
-
-    $container->set('baz', $baz = new \BazClass());
-    $this->assertSame($baz, $container->get('bar')->getBaz());
-  }
-
-  /**
    * Tests the get method.
    *
    * @see \Drupal\Core\DependencyInjection\Container::get()
diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php
index 1b5c7ff..e66d49b 100644
--- a/core/vendor/composer/autoload_classmap.php
+++ b/core/vendor/composer/autoload_classmap.php
@@ -425,14 +425,14 @@
     '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/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php',
-    'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php',
-    'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php',
-    'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php',
-    'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php',
-    'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php',
-    'Symfony\\Component\\HttpKernel\\HttpKernel' => $vendorDir . '/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php',
-    'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => $vendorDir . '/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php',
-    'Symfony\\Component\\HttpKernel\\TerminableInterface' => $vendorDir . '/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.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',
+    'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/ParameterBag.php',
+    'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Request.php',
+    'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/ServerBag.php',
+    '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 3d0d583..f64e34b 100644
--- a/core/vendor/composer/autoload_namespaces.php
+++ b/core/vendor/composer/autoload_namespaces.php
@@ -9,20 +9,9 @@
     'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'),
     'org\\bovigo\\vfs\\' => array($vendorDir . '/mikey179/vfsStream/src/main/php'),
     'Twig_' => array($vendorDir . '/twig/twig/lib'),
-    'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
-    'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'),
     'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
-    'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'),
-    'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
-    'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
-    'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
-    'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
-    'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
     'Symfony\\Component\\DomCrawler\\' => array($vendorDir . '/symfony/dom-crawler'),
-    'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
     'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'),
-    'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
-    'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'),
     'Symfony\\Component\\BrowserKit\\' => array($vendorDir . '/symfony/browser-kit'),
     'Stack' => array($vendorDir . '/stack/builder/src'),
     'Psr\\Log\\' => array($vendorDir . '/psr/log'),
diff --git a/core/vendor/composer/autoload_psr4.php b/core/vendor/composer/autoload_psr4.php
index ea6ef86..c25ab6f 100644
--- a/core/vendor/composer/autoload_psr4.php
+++ b/core/vendor/composer/autoload_psr4.php
@@ -9,6 +9,17 @@
     'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib'),
     'Zend\\Feed\\' => array($vendorDir . '/zendframework/zend-feed'),
     'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper'),
+    'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
+    'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'),
+    'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'),
+    'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
+    'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
+    'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
+    'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
+    'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
+    'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
+    'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
+    'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'),
     'Symfony\\Cmf\\Component\\Routing\\' => array($vendorDir . '/symfony-cmf/routing'),
     'React\\Promise\\' => array($vendorDir . '/react/promise/src'),
     'Masterminds\\' => array($vendorDir . '/masterminds/html5/src'),
diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json
index caf7426..f274086 100644
--- a/core/vendor/composer/installed.json
+++ b/core/vendor/composer/installed.json
@@ -1465,29 +1465,39 @@
         "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function."
     },
     {
-        "name": "symfony/class-loader",
+        "name": "symfony/debug",
         "version": "v2.6.6",
         "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/ClassLoader",
+        "target-dir": "Symfony/Component/Debug",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/ClassLoader.git",
-            "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5"
+            "url": "https://github.com/symfony/Debug.git",
+            "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/861765b3e5f32979de5bd19ad2577cbb830a29d5",
-            "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5",
+            "url": "https://api.github.com/repos/symfony/Debug/zipball/d49a46a20a8f0544aedac54466750ad787d3d3e3",
+            "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.3",
+            "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/finder": "~2.0,>=2.0.5",
+            "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"
         },
-        "time": "2015-03-27 10:19:51",
+        "suggest": {
+            "symfony/http-foundation": "",
+            "symfony/http-kernel": ""
+        },
+        "time": "2015-03-22 16:55:57",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -1497,7 +1507,7 @@
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\ClassLoader\\": ""
+                "Symfony\\Component\\Debug\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -1514,32 +1524,41 @@
                 "email": "fabien@symfony.com"
             }
         ],
-        "description": "Symfony ClassLoader Component",
+        "description": "Symfony Debug Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/css-selector",
+        "name": "symfony/translation",
         "version": "v2.6.6",
         "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/CssSelector",
+        "target-dir": "Symfony/Component/Translation",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/CssSelector.git",
-            "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4"
+            "url": "https://github.com/symfony/Translation.git",
+            "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/CssSelector/zipball/db2c48df9658423a8c168d89f7b971b73d3d74a4",
-            "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4",
+            "url": "https://api.github.com/repos/symfony/Translation/zipball/bd939f05cdaca128f4ddbae1b447d6f0203b60af",
+            "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
         "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
+            "psr/log": "~1.0",
+            "symfony/config": "~2.3,>=2.3.12",
+            "symfony/intl": "~2.3",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/yaml": "~2.2"
         },
-        "time": "2015-03-22 16:55:57",
+        "suggest": {
+            "psr/log": "To use logging capability in translator",
+            "symfony/config": "",
+            "symfony/yaml": ""
+        },
+        "time": "2015-03-30 15:54:10",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -1549,7 +1568,7 @@
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\CssSelector\\": ""
+                "Symfony\\Component\\Translation\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -1562,49 +1581,38 @@
                 "homepage": "http://symfony.com/contributors"
             },
             {
-                "name": "Jean-François Simon",
-                "email": "jeanfrancois.simon@sensiolabs.com"
-            },
-            {
                 "name": "Fabien Potencier",
                 "email": "fabien@symfony.com"
             }
         ],
-        "description": "Symfony CssSelector Component",
+        "description": "Symfony Translation Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/dependency-injection",
+        "name": "symfony/dom-crawler",
         "version": "v2.6.6",
         "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/DependencyInjection",
+        "target-dir": "Symfony/Component/DomCrawler",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/DependencyInjection.git",
-            "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6"
+            "url": "https://github.com/symfony/DomCrawler.git",
+            "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/8e9007012226b4bd41f8afed855c452cf5edc3a6",
-            "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6",
+            "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/8897ebf39c7dfb752a5494fa301845a3fbb9e53d",
+            "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "conflict": {
-            "symfony/expression-language": "<2.6"
-        },
         "require-dev": {
-            "symfony/config": "~2.2",
-            "symfony/expression-language": "~2.6",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/yaml": "~2.1"
+            "symfony/css-selector": "~2.3",
+            "symfony/phpunit-bridge": "~2.7"
         },
         "suggest": {
-            "symfony/config": "",
-            "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
-            "symfony/yaml": ""
+            "symfony/css-selector": ""
         },
         "time": "2015-03-30 15:54:10",
         "type": "library",
@@ -1616,7 +1624,7 @@
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\DependencyInjection\\": ""
+                "Symfony\\Component\\DomCrawler\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -1633,43 +1641,38 @@
                 "email": "fabien@symfony.com"
             }
         ],
-        "description": "Symfony DependencyInjection Component",
+        "description": "Symfony DomCrawler Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/debug",
+        "name": "symfony/browser-kit",
         "version": "v2.6.6",
         "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/Debug",
+        "target-dir": "Symfony/Component/BrowserKit",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Debug.git",
-            "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3"
+            "url": "https://github.com/symfony/BrowserKit.git",
+            "reference": "f21189b0eccbe56528515858ca1d5089a741692f"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Debug/zipball/d49a46a20a8f0544aedac54466750ad787d3d3e3",
-            "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3",
+            "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/f21189b0eccbe56528515858ca1d5089a741692f",
+            "reference": "f21189b0eccbe56528515858ca1d5089a741692f",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3",
-            "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"
+            "symfony/dom-crawler": "~2.0,>=2.0.5"
         },
         "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"
+            "symfony/css-selector": "~2.0,>=2.0.5",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/process": "~2.0,>=2.0.5"
         },
         "suggest": {
-            "symfony/http-foundation": "",
-            "symfony/http-kernel": ""
+            "symfony/process": ""
         },
-        "time": "2015-03-22 16:55:57",
+        "time": "2015-03-30 15:54:10",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -1679,7 +1682,7 @@
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\Debug\\": ""
+                "Symfony\\Component\\BrowserKit\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -1696,793 +1699,759 @@
                 "email": "fabien@symfony.com"
             }
         ],
-        "description": "Symfony Debug Component",
+        "description": "Symfony BrowserKit Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/http-foundation",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/HttpFoundation",
+        "name": "zendframework/zend-stdlib",
+        "version": "2.4.0",
+        "version_normalized": "2.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/HttpFoundation.git",
-            "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9"
+            "url": "https://github.com/zendframework/Component_ZendStdlib.git",
+            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8a6337233f08f7520de97f4ffd6f00e947d892f9",
-            "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9",
+            "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/eab586f4c18af3fa63c977611939f1f4a3cf1030",
+            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.23"
         },
         "require-dev": {
-            "symfony/expression-language": "~2.4",
-            "symfony/phpunit-bridge": "~2.7"
+            "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 16:50:12",
+        "time": "2015-04-01 18:09:29",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\HttpFoundation\\": ""
-            },
-            "classmap": [
-                "Symfony/Component/HttpFoundation/Resources/stubs"
-            ]
+            "psr-4": {
+                "Zend\\Stdlib\\": ""
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
-            },
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            }
+            "BSD-3-Clause"
         ],
-        "description": "Symfony HttpFoundation Component",
-        "homepage": "http://symfony.com"
+        "homepage": "https://github.com/zendframework/zf2",
+        "keywords": [
+            "stdlib",
+            "zf2"
+        ]
     },
     {
-        "name": "symfony/event-dispatcher",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/EventDispatcher",
+        "name": "zendframework/zend-escaper",
+        "version": "2.4.0",
+        "version_normalized": "2.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/EventDispatcher.git",
-            "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284"
+            "url": "https://github.com/zendframework/Component_ZendEscaper.git",
+            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284",
-            "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284",
+            "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/65b3328627362b0be1d5e9067bc846511d1fbc96",
+            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
-        },
-        "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": ""
+            "php": ">=5.3.23"
         },
-        "time": "2015-03-13 17:37:22",
+        "time": "2015-04-01 18:02:07",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\EventDispatcher\\": ""
+            "psr-4": {
+                "Zend\\Escaper\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
-            },
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            }
+            "BSD-3-Clause"
         ],
-        "description": "Symfony EventDispatcher Component",
-        "homepage": "http://symfony.com"
+        "homepage": "https://github.com/zendframework/zf2",
+        "keywords": [
+            "escaper",
+            "zf2"
+        ]
     },
     {
-        "name": "symfony/http-kernel",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/HttpKernel",
+        "name": "zendframework/zend-feed",
+        "version": "2.4.0",
+        "version_normalized": "2.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/HttpKernel.git",
-            "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4"
+            "url": "https://github.com/zendframework/Component_ZendFeed.git",
+            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/3829cacfe21eaf3f73604a62d79183d1f6e792c4",
-            "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4",
+            "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
+            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3",
-            "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"
+            "php": ">=5.3.23",
+            "zendframework/zend-escaper": "self.version",
+            "zendframework/zend-stdlib": "self.version"
         },
         "require-dev": {
-            "symfony/browser-kit": "~2.3",
-            "symfony/class-loader": "~2.1",
-            "symfony/config": "~2.0,>=2.0.5",
-            "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"
+            "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/browser-kit": "",
-            "symfony/class-loader": "",
-            "symfony/config": "",
-            "symfony/console": "",
-            "symfony/dependency-injection": "",
-            "symfony/finder": "",
-            "symfony/var-dumper": ""
+            "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 16:55:26",
+        "time": "2015-04-01 18:09:25",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\HttpKernel\\": ""
+            "psr-4": {
+                "Zend\\Feed\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
-            },
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            }
+            "BSD-3-Clause"
         ],
-        "description": "Symfony HttpKernel Component",
-        "homepage": "http://symfony.com"
+        "description": "provides functionality for consuming RSS and Atom feeds",
+        "homepage": "https://github.com/zendframework/zf2",
+        "keywords": [
+            "feed",
+            "zf2"
+        ]
     },
     {
-        "name": "symfony/routing",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/Routing",
+        "name": "twig/twig",
+        "version": "v1.18.1",
+        "version_normalized": "1.18.1.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Routing.git",
-            "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa"
+            "url": "https://github.com/twigphp/Twig.git",
+            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Routing/zipball/4e173a645b63ff60a124f3741b4f15feebd908fa",
-            "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa",
+            "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f",
+            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "doctrine/annotations": "~1.0",
-            "doctrine/common": "~2.2",
-            "psr/log": "~1.0",
-            "symfony/config": "~2.2",
-            "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"
+            "php": ">=5.2.7"
         },
-        "time": "2015-03-30 15:54:10",
+        "time": "2015-04-19 08:30:27",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "1.18-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\Routing\\": ""
+                "Twig_": "lib/"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
+            "BSD-3-Clause"
         ],
         "authors": [
             {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com",
+                "homepage": "http://fabien.potencier.org",
+                "role": "Lead Developer"
             },
             {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
+                "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 Routing Component",
-        "homepage": "http://symfony.com",
+        "description": "Twig, the flexible, fast, and secure template language for PHP",
+        "homepage": "http://twig.sensiolabs.org",
         "keywords": [
-            "router",
-            "routing",
-            "uri",
-            "url"
+            "templating"
         ]
     },
     {
-        "name": "symfony/serializer",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/Serializer",
+        "name": "sebastian/version",
+        "version": "1.0.5",
+        "version_normalized": "1.0.5.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Serializer.git",
-            "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3"
+            "url": "https://github.com/sebastianbergmann/version.git",
+            "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Serializer/zipball/bf30b882e15945fe8700edcd966eb3f5503820f3",
-            "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3",
+            "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
+            "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
             "shasum": ""
         },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-03-22 16:55:57",
+        "time": "2015-02-24 06:35:25",
         "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.6-dev"
-            }
-        },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\Serializer\\": ""
-            }
+            "classmap": [
+                "src/"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
+            "BSD-3-Clause"
         ],
         "authors": [
             {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
-            },
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de",
+                "role": "lead"
             }
         ],
-        "description": "Symfony Serializer Component",
-        "homepage": "http://symfony.com"
+        "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+        "homepage": "https://github.com/sebastianbergmann/version"
     },
     {
-        "name": "symfony/translation",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/Translation",
+        "name": "sebastian/recursion-context",
+        "version": "1.0.0",
+        "version_normalized": "1.0.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Translation.git",
-            "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af"
+            "url": "https://github.com/sebastianbergmann/recursion-context.git",
+            "reference": "3989662bbb30a29d20d9faa04a846af79b276252"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Translation/zipball/bd939f05cdaca128f4ddbae1b447d6f0203b60af",
-            "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af",
+            "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252",
+            "reference": "3989662bbb30a29d20d9faa04a846af79b276252",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
         "require-dev": {
-            "psr/log": "~1.0",
-            "symfony/config": "~2.3,>=2.3.12",
-            "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": ""
+            "phpunit/phpunit": "~4.4"
         },
-        "time": "2015-03-30 15:54:10",
+        "time": "2015-01-24 09:48:32",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "1.0.x-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\Translation\\": ""
-            }
+            "classmap": [
+                "src/"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
+            "BSD-3-Clause"
         ],
         "authors": [
             {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
+                "name": "Jeff Welch",
+                "email": "whatthejeff@gmail.com"
             },
             {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            },
+            {
+                "name": "Adam Harvey",
+                "email": "aharvey@php.net"
             }
         ],
-        "description": "Symfony Translation Component",
-        "homepage": "http://symfony.com"
+        "description": "Provides functionality to recursively process PHP variables",
+        "homepage": "http://www.github.com/sebastianbergmann/recursion-context"
     },
     {
-        "name": "symfony/process",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/Process",
+        "name": "sebastian/exporter",
+        "version": "1.2.0",
+        "version_normalized": "1.2.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Process.git",
-            "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552"
+            "url": "https://github.com/sebastianbergmann/exporter.git",
+            "reference": "84839970d05254c73cde183a721c7af13aede943"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Process/zipball/a8bebaec1a9dc6cde53e0250e32917579b0be552",
-            "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552",
+            "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943",
+            "reference": "84839970d05254c73cde183a721c7af13aede943",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.3",
+            "sebastian/recursion-context": "~1.0"
         },
         "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
+            "phpunit/phpunit": "~4.4"
         },
-        "time": "2015-03-30 15:54:10",
+        "time": "2015-01-27 07:23:06",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "1.2.x-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\Process\\": ""
-            }
+            "classmap": [
+                "src/"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
+            "BSD-3-Clause"
         ],
         "authors": [
             {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
+                "name": "Jeff Welch",
+                "email": "whatthejeff@gmail.com"
             },
             {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.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": "Symfony Process Component",
-        "homepage": "http://symfony.com"
+        "description": "Provides the functionality to export PHP variables for visualization",
+        "homepage": "http://www.github.com/sebastianbergmann/exporter",
+        "keywords": [
+            "export",
+            "exporter"
+        ]
     },
     {
-        "name": "symfony/yaml",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/Yaml",
+        "name": "sebastian/environment",
+        "version": "1.2.2",
+        "version_normalized": "1.2.2.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Yaml.git",
-            "reference": "174f009ed36379a801109955fc5a71a49fe62dd4"
+            "url": "https://github.com/sebastianbergmann/environment.git",
+            "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4",
-            "reference": "174f009ed36379a801109955fc5a71a49fe62dd4",
+            "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e",
+            "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
         "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
+            "phpunit/phpunit": "~4.4"
         },
-        "time": "2015-03-30 15:54:10",
+        "time": "2015-01-01 10:01:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "1.3.x-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\Yaml\\": ""
-            }
+            "classmap": [
+                "src/"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
+            "BSD-3-Clause"
         ],
         "authors": [
             {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
-            },
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
             }
         ],
-        "description": "Symfony Yaml Component",
-        "homepage": "http://symfony.com"
+        "description": "Provides functionality to handle HHVM/PHP environments",
+        "homepage": "http://www.github.com/sebastianbergmann/environment",
+        "keywords": [
+            "Xdebug",
+            "environment",
+            "hhvm"
+        ]
     },
     {
-        "name": "symfony/dom-crawler",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/DomCrawler",
+        "name": "sebastian/diff",
+        "version": "1.3.0",
+        "version_normalized": "1.3.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/DomCrawler.git",
-            "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d"
+            "url": "https://github.com/sebastianbergmann/diff.git",
+            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/8897ebf39c7dfb752a5494fa301845a3fbb9e53d",
-            "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d",
+            "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
+            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
         "require-dev": {
-            "symfony/css-selector": "~2.3",
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "suggest": {
-            "symfony/css-selector": ""
+            "phpunit/phpunit": "~4.2"
         },
-        "time": "2015-03-30 15:54:10",
+        "time": "2015-02-22 15:13:53",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "1.3-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\DomCrawler\\": ""
-            }
+            "classmap": [
+                "src/"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
+            "BSD-3-Clause"
         ],
         "authors": [
             {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
+                "name": "Kore Nordmann",
+                "email": "mail@kore-nordmann.de"
             },
             {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
             }
         ],
-        "description": "Symfony DomCrawler Component",
-        "homepage": "http://symfony.com"
+        "description": "Diff implementation",
+        "homepage": "http://www.github.com/sebastianbergmann/diff",
+        "keywords": [
+            "diff"
+        ]
     },
     {
-        "name": "symfony/browser-kit",
-        "version": "v2.6.6",
-        "version_normalized": "2.6.6.0",
-        "target-dir": "Symfony/Component/BrowserKit",
+        "name": "sebastian/comparator",
+        "version": "1.1.1",
+        "version_normalized": "1.1.1.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/BrowserKit.git",
-            "reference": "f21189b0eccbe56528515858ca1d5089a741692f"
+            "url": "https://github.com/sebastianbergmann/comparator.git",
+            "reference": "1dd8869519a225f7f2b9eb663e225298fade819e"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/f21189b0eccbe56528515858ca1d5089a741692f",
-            "reference": "f21189b0eccbe56528515858ca1d5089a741692f",
+            "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e",
+            "reference": "1dd8869519a225f7f2b9eb663e225298fade819e",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3",
-            "symfony/dom-crawler": "~2.0,>=2.0.5"
+            "sebastian/diff": "~1.2",
+            "sebastian/exporter": "~1.2"
         },
         "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": ""
+            "phpunit/phpunit": "~4.4"
         },
-        "time": "2015-03-30 15:54:10",
+        "time": "2015-01-29 16:28:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "1.1.x-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\BrowserKit\\": ""
-            }
+            "classmap": [
+                "src/"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "MIT"
+            "BSD-3-Clause"
         ],
         "authors": [
             {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
+                "name": "Jeff Welch",
+                "email": "whatthejeff@gmail.com"
             },
             {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
+                "name": "Volker Dusch",
+                "email": "github@wallbash.com"
+            },
+            {
+                "name": "Bernhard Schussek",
+                "email": "bschussek@2bepublished.at"
+            },
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
             }
         ],
-        "description": "Symfony BrowserKit Component",
-        "homepage": "http://symfony.com"
+        "description": "Provides the functionality to compare PHP values for equality",
+        "homepage": "http://www.github.com/sebastianbergmann/comparator",
+        "keywords": [
+            "comparator",
+            "compare",
+            "equality"
+        ]
     },
     {
-        "name": "zendframework/zend-stdlib",
-        "version": "2.4.0",
-        "version_normalized": "2.4.0.0",
+        "name": "phpdocumentor/reflection-docblock",
+        "version": "2.0.4",
+        "version_normalized": "2.0.4.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/zendframework/Component_ZendStdlib.git",
-            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030"
+            "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/eab586f4c18af3fa63c977611939f1f4a3cf1030",
-            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030",
+            "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
+            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.23"
+            "php": ">=5.3.3"
         },
         "require-dev": {
-            "zendframework/zend-eventmanager": "self.version",
-            "zendframework/zend-filter": "self.version",
-            "zendframework/zend-serializer": "self.version",
-            "zendframework/zend-servicemanager": "self.version"
+            "phpunit/phpunit": "~4.0"
         },
         "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"
+            "dflydev/markdown": "~1.0",
+            "erusev/parsedown": "~1.0"
         },
-        "time": "2015-04-01 18:09:29",
+        "time": "2015-02-03 12:10:50",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
+                "dev-master": "2.0.x-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-4": {
-                "Zend\\Stdlib\\": ""
+            "psr-0": {
+                "phpDocumentor": [
+                    "src/"
+                ]
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "BSD-3-Clause"
+            "MIT"
         ],
-        "homepage": "https://github.com/zendframework/zf2",
-        "keywords": [
-            "stdlib",
-            "zf2"
+        "authors": [
+            {
+                "name": "Mike van Riel",
+                "email": "mike.vanriel@naenius.com"
+            }
         ]
     },
     {
-        "name": "zendframework/zend-escaper",
-        "version": "2.4.0",
-        "version_normalized": "2.4.0.0",
+        "name": "phpspec/prophecy",
+        "version": "1.4.0",
+        "version_normalized": "1.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/zendframework/Component_ZendEscaper.git",
-            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96"
+            "url": "https://github.com/phpspec/prophecy.git",
+            "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/65b3328627362b0be1d5e9067bc846511d1fbc96",
-            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96",
+            "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
+            "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.23"
+            "doctrine/instantiator": "^1.0.2",
+            "phpdocumentor/reflection-docblock": "~2.0",
+            "sebastian/comparator": "~1.1"
         },
-        "time": "2015-04-01 18:02:07",
+        "require-dev": {
+            "phpspec/phpspec": "~2.0"
+        },
+        "time": "2015-03-27 19:31:25",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
+                "dev-master": "1.4.x-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-4": {
-                "Zend\\Escaper\\": ""
+            "psr-0": {
+                "Prophecy\\": "src/"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "BSD-3-Clause"
+            "MIT"
         ],
-        "homepage": "https://github.com/zendframework/zf2",
+        "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": [
-            "escaper",
-            "zf2"
+            "Double",
+            "Dummy",
+            "fake",
+            "mock",
+            "spy",
+            "stub"
         ]
     },
     {
-        "name": "zendframework/zend-feed",
-        "version": "2.4.0",
-        "version_normalized": "2.4.0.0",
+        "name": "phpunit/phpunit-mock-objects",
+        "version": "2.3.1",
+        "version_normalized": "2.3.1.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/zendframework/Component_ZendFeed.git",
-            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5"
+            "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+            "reference": "74ffb87f527f24616f72460e54b595f508dccb5c"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
-            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
+            "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c",
+            "reference": "74ffb87f527f24616f72460e54b595f508dccb5c",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.23",
-            "zendframework/zend-escaper": "self.version",
-            "zendframework/zend-stdlib": "self.version"
+            "doctrine/instantiator": "~1.0,>=1.0.2",
+            "php": ">=5.3.3",
+            "phpunit/php-text-template": "~1.2"
         },
         "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"
+            "phpunit/phpunit": "~4.4"
         },
         "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"
+            "ext-soap": "*"
         },
-        "time": "2015-04-01 18:09:25",
+        "time": "2015-04-02 05:36:41",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
+                "dev-master": "2.3.x-dev"
             }
         },
         "installation-source": "dist",
         "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",
+        "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": [
-            "feed",
-            "zf2"
+            "mock",
+            "xunit"
         ]
     },
     {
-        "name": "twig/twig",
-        "version": "v1.18.1",
-        "version_normalized": "1.18.1.0",
+        "name": "phpunit/php-token-stream",
+        "version": "1.4.1",
+        "version_normalized": "1.4.1.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/twigphp/Twig.git",
-            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f"
+            "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+            "reference": "eab81d02569310739373308137284e0158424330"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f",
-            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330",
+            "reference": "eab81d02569310739373308137284e0158424330",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.2.7"
+            "ext-tokenizer": "*",
+            "php": ">=5.3.3"
         },
-        "time": "2015-04-19 08:30:27",
+        "require-dev": {
+            "phpunit/phpunit": "~4.2"
+        },
+        "time": "2015-04-08 04:46:07",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.18-dev"
+                "dev-master": "1.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Twig_": "lib/"
-            }
+            "classmap": [
+                "src/"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
@@ -2490,45 +2459,41 @@
         ],
         "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": "Wrapper around PHP's tokenizer extension.",
+        "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
         "keywords": [
-            "templating"
+            "tokenizer"
         ]
     },
     {
-        "name": "sebastian/version",
-        "version": "1.0.5",
-        "version_normalized": "1.0.5.0",
+        "name": "phpunit/php-file-iterator",
+        "version": "1.4.0",
+        "version_normalized": "1.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/version.git",
-            "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4"
+            "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+            "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
-            "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb",
+            "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb",
             "shasum": ""
         },
-        "time": "2015-02-24 06:35:25",
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "time": "2015-04-02 05:19:05",
         "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.4.x-dev"
+            }
+        },
         "installation-source": "dist",
         "autoload": {
             "classmap": [
@@ -2542,39 +2507,54 @@
         "authors": [
             {
                 "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de",
+                "email": "sb@sebastian-bergmann.de",
                 "role": "lead"
             }
         ],
-        "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-        "homepage": "https://github.com/sebastianbergmann/version"
+        "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+        "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+        "keywords": [
+            "filesystem",
+            "iterator"
+        ]
     },
     {
-        "name": "sebastian/recursion-context",
-        "version": "1.0.0",
-        "version_normalized": "1.0.0.0",
+        "name": "phpunit/php-code-coverage",
+        "version": "2.0.16",
+        "version_normalized": "2.0.16.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/recursion-context.git",
-            "reference": "3989662bbb30a29d20d9faa04a846af79b276252"
+            "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+            "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252",
-            "reference": "3989662bbb30a29d20d9faa04a846af79b276252",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c",
+            "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "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": {
-            "phpunit/phpunit": "~4.4"
+            "ext-xdebug": ">=2.1.4",
+            "phpunit/phpunit": "~4"
         },
-        "time": "2015-01-24 09:48:32",
+        "suggest": {
+            "ext-dom": "*",
+            "ext-xdebug": ">=2.2.1",
+            "ext-xmlwriter": "*"
+        },
+        "time": "2015-04-11 04:35:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.0.x-dev"
+                "dev-master": "2.0.x-dev"
             }
         },
         "installation-source": "dist",
@@ -2589,48 +2569,66 @@
         ],
         "authors": [
             {
-                "name": "Jeff Welch",
-                "email": "whatthejeff@gmail.com"
-            },
-            {
                 "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            },
-            {
-                "name": "Adam Harvey",
-                "email": "aharvey@php.net"
+                "email": "sb@sebastian-bergmann.de",
+                "role": "lead"
             }
         ],
-        "description": "Provides functionality to recursively process PHP variables",
-        "homepage": "http://www.github.com/sebastianbergmann/recursion-context"
+        "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"
+        ]
     },
     {
-        "name": "sebastian/exporter",
-        "version": "1.2.0",
-        "version_normalized": "1.2.0.0",
+        "name": "phpunit/phpunit",
+        "version": "4.6.4",
+        "version_normalized": "4.6.4.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/exporter.git",
-            "reference": "84839970d05254c73cde183a721c7af13aede943"
+            "url": "https://github.com/sebastianbergmann/phpunit.git",
+            "reference": "163232991e652e6efed2f8470326fffa61e848e2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943",
-            "reference": "84839970d05254c73cde183a721c7af13aede943",
+            "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",
-            "sebastian/recursion-context": "~1.0"
+            "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"
         },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
+        "suggest": {
+            "phpunit/php-invoker": "~1.1"
         },
-        "time": "2015-01-27 07:23:06",
+        "time": "2015-04-11 05:23:21",
+        "bin": [
+            "phpunit"
+        ],
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.2.x-dev"
+                "dev-master": "4.6.x-dev"
             }
         },
         "installation-source": "dist",
@@ -2645,244 +2643,225 @@
         ],
         "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"
+                "email": "sebastian@phpunit.de",
+                "role": "lead"
             }
         ],
-        "description": "Provides the functionality to export PHP variables for visualization",
-        "homepage": "http://www.github.com/sebastianbergmann/exporter",
+        "description": "The PHP Unit Testing framework.",
+        "homepage": "https://phpunit.de/",
         "keywords": [
-            "export",
-            "exporter"
+            "phpunit",
+            "testing",
+            "xunit"
         ]
     },
     {
-        "name": "sebastian/environment",
-        "version": "1.2.2",
-        "version_normalized": "1.2.2.0",
+        "name": "symfony/class-loader",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/environment.git",
-            "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e"
+            "url": "https://github.com/symfony/ClassLoader.git",
+            "reference": "ebbd647c2f40e2153b5bc044de62af4a98ae5a40"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e",
-            "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e",
+            "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/ebbd647c2f40e2153b5bc044de62af4a98ae5a40",
+            "reference": "ebbd647c2f40e2153b5bc044de62af4a98ae5a40",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.9"
         },
         "require-dev": {
-            "phpunit/phpunit": "~4.4"
+            "symfony/finder": "~2.0,>=2.0.5",
+            "symfony/phpunit-bridge": "~2.7"
         },
-        "time": "2015-01-01 10:01:08",
+        "time": "2015-05-02 15:21:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.3.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Symfony\\Component\\ClassLoader\\": ""
+            }
         },
         "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"
-        ]
+        "description": "Symfony ClassLoader Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "sebastian/diff",
-        "version": "1.3.0",
-        "version_normalized": "1.3.0.0",
+        "name": "symfony/css-selector",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/diff.git",
-            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
+            "url": "https://github.com/symfony/CssSelector.git",
+            "reference": "081e7e1e8473647dd63d6d4708e4f26bb63ab4b1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
-            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
+            "url": "https://api.github.com/repos/symfony/CssSelector/zipball/081e7e1e8473647dd63d6d4708e4f26bb63ab4b1",
+            "reference": "081e7e1e8473647dd63d6d4708e4f26bb63ab4b1",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.9"
         },
         "require-dev": {
-            "phpunit/phpunit": "~4.2"
+            "symfony/phpunit-bridge": "~2.7"
         },
-        "time": "2015-02-22 15:13:53",
+        "time": "2015-05-02 15:21:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.3-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Symfony\\Component\\CssSelector\\": ""
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "BSD-3-Clause"
+            "MIT"
         ],
         "authors": [
             {
-                "name": "Kore Nordmann",
-                "email": "mail@kore-nordmann.de"
+                "name": "Jean-François Simon",
+                "email": "jeanfrancois.simon@sensiolabs.com"
             },
             {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
             }
         ],
-        "description": "Diff implementation",
-        "homepage": "http://www.github.com/sebastianbergmann/diff",
-        "keywords": [
-            "diff"
-        ]
+        "description": "Symfony CssSelector Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "sebastian/comparator",
-        "version": "1.1.1",
-        "version_normalized": "1.1.1.0",
+        "name": "symfony/dependency-injection",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/comparator.git",
-            "reference": "1dd8869519a225f7f2b9eb663e225298fade819e"
+            "url": "https://github.com/symfony/DependencyInjection.git",
+            "reference": "9d373af7ca70193fba0841e88d40d4d1a1409f59"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e",
-            "reference": "1dd8869519a225f7f2b9eb663e225298fade819e",
+            "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/9d373af7ca70193fba0841e88d40d4d1a1409f59",
+            "reference": "9d373af7ca70193fba0841e88d40d4d1a1409f59",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3",
-            "sebastian/diff": "~1.2",
-            "sebastian/exporter": "~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"
         },
-        "time": "2015-01-29 16:28:08",
+        "suggest": {
+            "symfony/config": "",
+            "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
+            "symfony/yaml": ""
+        },
+        "time": "2015-05-12 15:01:57",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.1.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Symfony\\Component\\DependencyInjection\\": ""
+            }
         },
         "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"
-        ]
+        "description": "Symfony DependencyInjection Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "phpdocumentor/reflection-docblock",
-        "version": "2.0.4",
-        "version_normalized": "2.0.4.0",
+        "name": "symfony/http-foundation",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
+            "url": "https://github.com/symfony/HttpFoundation.git",
+            "reference": "35e7da59f307611c19eba93f1c2f3ba209d45292"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
-            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
+            "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/35e7da59f307611c19eba93f1c2f3ba209d45292",
+            "reference": "35e7da59f307611c19eba93f1c2f3ba209d45292",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.9"
         },
         "require-dev": {
-            "phpunit/phpunit": "~4.0"
-        },
-        "suggest": {
-            "dflydev/markdown": "~1.0",
-            "erusev/parsedown": "~1.0"
+            "symfony/expression-language": "~2.4",
+            "symfony/phpunit-bridge": "~2.7"
         },
-        "time": "2015-02-03 12:10:50",
+        "time": "2015-05-02 15:21:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.0.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "phpDocumentor": [
-                    "src/"
-                ]
-            }
+            "psr-4": {
+                "Symfony\\Component\\HttpFoundation\\": ""
+            },
+            "classmap": [
+                "Resources/stubs"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
@@ -2890,45 +2869,58 @@
         ],
         "authors": [
             {
-                "name": "Mike van Riel",
-                "email": "mike.vanriel@naenius.com"
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
             }
-        ]
+        ],
+        "description": "Symfony HttpFoundation Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "phpspec/prophecy",
-        "version": "1.4.0",
-        "version_normalized": "1.4.0.0",
+        "name": "symfony/event-dispatcher",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/phpspec/prophecy.git",
-            "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5"
+            "url": "https://github.com/symfony/EventDispatcher.git",
+            "reference": "687039686d0e923429ba6e958d0baa920cd5d458"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
-            "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
+            "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/687039686d0e923429ba6e958d0baa920cd5d458",
+            "reference": "687039686d0e923429ba6e958d0baa920cd5d458",
             "shasum": ""
         },
         "require": {
-            "doctrine/instantiator": "^1.0.2",
-            "phpdocumentor/reflection-docblock": "~2.0",
-            "sebastian/comparator": "~1.1"
+            "php": ">=5.3.9"
         },
         "require-dev": {
-            "phpspec/phpspec": "~2.0"
+            "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"
         },
-        "time": "2015-03-27 19:31:25",
+        "suggest": {
+            "symfony/dependency-injection": "",
+            "symfony/http-kernel": ""
+        },
+        "time": "2015-05-02 15:21:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.4.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Prophecy\\": "src/"
+            "psr-4": {
+                "Symfony\\Component\\EventDispatcher\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -2937,376 +2929,390 @@
         ],
         "authors": [
             {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
             },
             {
-                "name": "Marcello Duarte",
-                "email": "marcello.duarte@gmail.com"
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
             }
         ],
-        "description": "Highly opinionated mocking framework for PHP 5.3+",
-        "homepage": "https://github.com/phpspec/prophecy",
-        "keywords": [
-            "Double",
-            "Dummy",
-            "fake",
-            "mock",
-            "spy",
-            "stub"
-        ]
+        "description": "Symfony EventDispatcher Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "phpunit/phpunit-mock-objects",
-        "version": "2.3.1",
-        "version_normalized": "2.3.1.0",
+        "name": "symfony/http-kernel",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-            "reference": "74ffb87f527f24616f72460e54b595f508dccb5c"
+            "url": "https://github.com/symfony/HttpKernel.git",
+            "reference": "18d9f196cba491209294befd8de60cf2a463fb73"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c",
-            "reference": "74ffb87f527f24616f72460e54b595f508dccb5c",
+            "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/18d9f196cba491209294befd8de60cf2a463fb73",
+            "reference": "18d9f196cba491209294befd8de60cf2a463fb73",
             "shasum": ""
         },
         "require": {
-            "doctrine/instantiator": "~1.0,>=1.0.2",
-            "php": ">=5.3.3",
-            "phpunit/php-text-template": "~1.2"
+            "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.4"
+            "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": {
-            "ext-soap": "*"
+            "symfony/browser-kit": "",
+            "symfony/class-loader": "",
+            "symfony/config": "",
+            "symfony/console": "",
+            "symfony/dependency-injection": "",
+            "symfony/finder": "",
+            "symfony/var-dumper": ""
         },
-        "time": "2015-04-02 05:36:41",
+        "time": "2015-05-13 20:25:22",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.3.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Symfony\\Component\\HttpKernel\\": ""
+            }
         },
         "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"
-        ]
+        "description": "Symfony HttpKernel Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "phpunit/php-token-stream",
-        "version": "1.4.1",
-        "version_normalized": "1.4.1.0",
+        "name": "symfony/routing",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-            "reference": "eab81d02569310739373308137284e0158424330"
+            "url": "https://github.com/symfony/Routing.git",
+            "reference": "15bf04e8b754ee90e31f47d4c9b2d15946ed53b2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330",
-            "reference": "eab81d02569310739373308137284e0158424330",
+            "url": "https://api.github.com/repos/symfony/Routing/zipball/15bf04e8b754ee90e31f47d4c9b2d15946ed53b2",
+            "reference": "15bf04e8b754ee90e31f47d4c9b2d15946ed53b2",
             "shasum": ""
         },
         "require": {
-            "ext-tokenizer": "*",
-            "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"
         },
-        "time": "2015-04-08 04:46:07",
+        "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"
+        },
+        "time": "2015-05-11 17:33:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.4-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "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": "Wrapper around PHP's tokenizer extension.",
-        "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+        "description": "Symfony Routing Component",
+        "homepage": "https://symfony.com",
         "keywords": [
-            "tokenizer"
+            "router",
+            "routing",
+            "uri",
+            "url"
         ]
     },
     {
-        "name": "phpunit/php-file-iterator",
-        "version": "1.4.0",
-        "version_normalized": "1.4.0.0",
+        "name": "symfony/serializer",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-            "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb"
+            "url": "https://github.com/symfony/Serializer.git",
+            "reference": "122c2b000130e3ae0fe5029bcc111bb6b3ffaad6"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb",
-            "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb",
+            "url": "https://api.github.com/repos/symfony/Serializer/zipball/122c2b000130e3ae0fe5029bcc111bb6b3ffaad6",
+            "reference": "122c2b000130e3ae0fe5029bcc111bb6b3ffaad6",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.9"
         },
-        "time": "2015-04-02 05:19:05",
+        "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"
+        },
+        "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."
+        },
+        "time": "2015-05-04 07:31:19",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.4.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Symfony\\Component\\Serializer\\": ""
+            }
         },
         "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"
-        ]
+        "description": "Symfony Serializer Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "phpunit/php-code-coverage",
-        "version": "2.0.16",
-        "version_normalized": "2.0.16.0",
+        "name": "symfony/validator",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-            "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c"
+            "url": "https://github.com/symfony/Validator.git",
+            "reference": "6953d4b51b9a28e08c831e8a12ede228fc256c25"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c",
-            "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c",
+            "url": "https://api.github.com/repos/symfony/Validator/zipball/6953d4b51b9a28e08c831e8a12ede228fc256c25",
+            "reference": "6953d4b51b9a28e08c831e8a12ede228fc256c25",
             "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"
+            "php": ">=5.3.9",
+            "symfony/translation": "~2.4"
         },
         "require-dev": {
-            "ext-xdebug": ">=2.1.4",
-            "phpunit/phpunit": "~4"
+            "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": {
-            "ext-dom": "*",
-            "ext-xdebug": ">=2.2.1",
-            "ext-xmlwriter": "*"
+            "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": ""
         },
-        "time": "2015-04-11 04:35:00",
+        "time": "2015-05-05 01:30:36",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.0.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Symfony\\Component\\Validator\\": ""
+            }
         },
         "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": "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"
-        ]
+        "description": "Symfony Validator Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "phpunit/phpunit",
-        "version": "4.6.4",
-        "version_normalized": "4.6.4.0",
+        "name": "symfony/process",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/phpunit.git",
-            "reference": "163232991e652e6efed2f8470326fffa61e848e2"
+            "url": "https://github.com/symfony/Process.git",
+            "reference": "f393d2194314875d9effa8e0c2e1f887f65dcbd6"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2",
-            "reference": "163232991e652e6efed2f8470326fffa61e848e2",
+            "url": "https://api.github.com/repos/symfony/Process/zipball/f393d2194314875d9effa8e0c2e1f887f65dcbd6",
+            "reference": "f393d2194314875d9effa8e0c2e1f887f65dcbd6",
             "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"
         },
-        "suggest": {
-            "phpunit/php-invoker": "~1.1"
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7"
         },
-        "time": "2015-04-11 05:23:21",
-        "bin": [
-            "phpunit"
-        ],
+        "time": "2015-05-02 15:21:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "4.6.x-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "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",
-                "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"
-        ]
+        "description": "Symfony Process Component",
+        "homepage": "https://symfony.com"
     },
     {
-        "name": "symfony/validator",
-        "version": "2.6.x-dev",
-        "version_normalized": "2.6.9999999.9999999-dev",
-        "target-dir": "Symfony/Component/Validator",
+        "name": "symfony/yaml",
+        "version": "v2.7.0-BETA2",
+        "version_normalized": "2.7.0.0-beta2",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Validator.git",
-            "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495"
+            "url": "https://github.com/symfony/Yaml.git",
+            "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Validator/zipball/6bb1b474d25cb80617d8da6cb14c955ba914e495",
-            "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495",
+            "url": "https://api.github.com/repos/symfony/Yaml/zipball/4a29a5248aed4fb45f626a7bbbd330291492f5c3",
+            "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3",
-            "symfony/translation": "~2.0,>=2.0.5"
+            "php": ">=5.3.9"
         },
         "require-dev": {
-            "doctrine/annotations": "~1.0",
-            "doctrine/cache": "~1.0",
-            "doctrine/common": "~2.3",
-            "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": ""
+            "symfony/phpunit-bridge": "~2.7"
         },
-        "time": "2015-05-05 01:29:27",
+        "time": "2015-05-02 15:21:08",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.6-dev"
+                "dev-master": "2.7-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\Validator\\": ""
+            "psr-4": {
+                "Symfony\\Component\\Yaml\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -3323,7 +3329,7 @@
                 "homepage": "https://symfony.com/contributors"
             }
         ],
-        "description": "Symfony Validator Component",
+        "description": "Symfony Yaml Component",
         "homepage": "https://symfony.com"
     }
 ]
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/.gitignore b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcClassLoader.php
deleted file mode 100644
index 48de72f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcClassLoader.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * ApcClassLoader implements a wrapping autoloader cached in APC for PHP 5.3.
- *
- * It expects an object implementing a findFile method to find the file. This
- * allows using it as a wrapper around the other loaders of the component (the
- * ClassLoader and the UniversalClassLoader for instance) but also around any
- * other autoloaders following this convention (the Composer one for instance).
- *
- *     // with a Symfony autoloader
- *     use Symfony\Component\ClassLoader\ClassLoader;
- *
- *     $loader = new ClassLoader();
- *     $loader->addPrefix('Symfony\Component', __DIR__.'/component');
- *     $loader->addPrefix('Symfony',           __DIR__.'/framework');
- *
- *     // or with a Composer autoloader
- *     use Composer\Autoload\ClassLoader;
- *
- *     $loader = new ClassLoader();
- *     $loader->add('Symfony\Component', __DIR__.'/component');
- *     $loader->add('Symfony',           __DIR__.'/framework');
- *
- *     $cachedLoader = new ApcClassLoader('my_prefix', $loader);
- *
- *     // activate the cached autoloader
- *     $cachedLoader->register();
- *
- *     // eventually deactivate the non-cached loader if it was registered previously
- *     // to be sure to use the cached one.
- *     $loader->unregister();
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Kris Wallsmith <kris@symfony.com>
- *
- * @api
- */
-class ApcClassLoader
-{
-    private $prefix;
-
-    /**
-     * A class loader object that implements the findFile() method.
-     *
-     * @var object
-     */
-    protected $decorated;
-
-    /**
-     * Constructor.
-     *
-     * @param string $prefix    The APC namespace prefix to use.
-     * @param object $decorated A class loader object that implements the findFile() method.
-     *
-     * @throws \RuntimeException
-     * @throws \InvalidArgumentException
-     *
-     * @api
-     */
-    public function __construct($prefix, $decorated)
-    {
-        if (!extension_loaded('apc')) {
-            throw new \RuntimeException('Unable to use ApcClassLoader as APC is not enabled.');
-        }
-
-        if (!method_exists($decorated, 'findFile')) {
-            throw new \InvalidArgumentException('The class finder must implement a "findFile" method.');
-        }
-
-        $this->prefix = $prefix;
-        $this->decorated = $decorated;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param bool $prepend Whether to prepend the autoloader or not
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Unregisters this instance as an autoloader.
-     */
-    public function unregister()
-    {
-        spl_autoload_unregister(array($this, 'loadClass'));
-    }
-
-    /**
-     * Loads the given class or interface.
-     *
-     * @param string $class The name of the class
-     *
-     * @return bool|null True, if loaded
-     */
-    public function loadClass($class)
-    {
-        if ($file = $this->findFile($class)) {
-            require $file;
-
-            return true;
-        }
-    }
-
-    /**
-     * Finds a file by class name while caching lookups to APC.
-     *
-     * @param string $class A class name to resolve to file
-     *
-     * @return string|null
-     */
-    public function findFile($class)
-    {
-        if (false === $file = apc_fetch($this->prefix.$class)) {
-            apc_store($this->prefix.$class, $file = $this->decorated->findFile($class));
-        }
-
-        return $file;
-    }
-
-    /**
-     * Passes through all unknown calls onto the decorated object.
-     */
-    public function __call($method, $args)
-    {
-        return call_user_func_array(array($this->decorated, $method), $args);
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
deleted file mode 100644
index 65b7b10..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * ApcUniversalClassLoader implements a "universal" autoloader cached in APC for PHP 5.3.
- *
- * It is able to load classes that use either:
- *
- *  * The technical interoperability standards for PHP 5.3 namespaces and
- *    class names (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md);
- *
- *  * The PEAR naming convention for classes (http://pear.php.net/).
- *
- * Classes from a sub-namespace or a sub-hierarchy of PEAR classes can be
- * looked for in a list of locations to ease the vendoring of a sub-set of
- * classes for large projects.
- *
- * Example usage:
- *
- *     require 'vendor/symfony/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
- *     require 'vendor/symfony/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php';
- *
- *     use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
- *
- *     $loader = new ApcUniversalClassLoader('apc.prefix.');
- *
- *     // register classes with namespaces
- *     $loader->registerNamespaces(array(
- *         'Symfony\Component' => __DIR__.'/component',
- *         'Symfony' => __DIR__.'/framework',
- *         'Sensio' => array(__DIR__.'/src', __DIR__.'/vendor'),
- *     ));
- *
- *     // register a library using the PEAR naming convention
- *     $loader->registerPrefixes(array(
- *         'Swift_' => __DIR__.'/Swift',
- *     ));
- *
- *     // activate the autoloader
- *     $loader->register();
- *
- * In this example, if you try to use a class in the Symfony\Component
- * namespace or one of its children (Symfony\Component\Console for instance),
- * the autoloader will first look for the class under the component/
- * directory, and it will then fallback to the framework/ directory if not
- * found before giving up.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Kris Wallsmith <kris@symfony.com>
- *
- * @api
- *
- * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the ApcClassLoader class instead.
- */
-class ApcUniversalClassLoader extends UniversalClassLoader
-{
-    private $prefix;
-
-    /**
-     * Constructor.
-     *
-     * @param string $prefix A prefix to create a namespace in APC
-     *
-     * @throws \RuntimeException
-     *
-     * @api
-     */
-    public function __construct($prefix)
-    {
-        if (!extension_loaded('apc')) {
-            throw new \RuntimeException('Unable to use ApcUniversalClassLoader as APC is not enabled.');
-        }
-
-        $this->prefix = $prefix;
-    }
-
-    /**
-     * Finds a file by class name while caching lookups to APC.
-     *
-     * @param string $class A class name to resolve to file
-     *
-     * @return string|null The path, if found
-     */
-    public function findFile($class)
-    {
-        if (false === $file = apc_fetch($this->prefix.$class)) {
-            apc_store($this->prefix.$class, $file = parent::findFile($class));
-        }
-
-        return $file;
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/CHANGELOG.md b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/CHANGELOG.md
deleted file mode 100644
index 64660a8..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/CHANGELOG.md
+++ /dev/null
@@ -1,28 +0,0 @@
-CHANGELOG
-=========
-
-2.4.0
------
-
- * deprecated the UniversalClassLoader in favor of the ClassLoader class instead
- * deprecated the ApcUniversalClassLoader in favor of the ApcClassLoader class instead
- * deprecated the DebugUniversalClassLoader in favor of the DebugClassLoader class from the Debug component
- * deprecated the DebugClassLoader as it has been moved to the Debug component instead
-
-2.3.0
------
-
- * added a WinCacheClassLoader for WinCache
-
-2.1.0
------
-
- * added a DebugClassLoader able to wrap any autoloader providing a findFile
-   method
- * added a new ApcClassLoader and XcacheClassLoader using composition to wrap
-   other loaders
- * added a new ClassLoader which does not distinguish between namespaced and
-   pear-like classes (as the PEAR convention is a subset of PSR-0) and
-   supports using Composer's namespace maps
- * added a class map generator
- * added support for loading globally-installed PEAR packages
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassCollectionLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassCollectionLoader.php
deleted file mode 100644
index 6bf4ebd..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassCollectionLoader.php
+++ /dev/null
@@ -1,370 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * ClassCollectionLoader.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ClassCollectionLoader
-{
-    private static $loaded;
-    private static $seen;
-    private static $useTokenizer = true;
-
-    /**
-     * Loads a list of classes and caches them in one big file.
-     *
-     * @param array  $classes    An array of classes to load
-     * @param string $cacheDir   A cache directory
-     * @param string $name       The cache name prefix
-     * @param bool   $autoReload Whether to flush the cache when the cache is stale or not
-     * @param bool   $adaptive   Whether to remove already declared classes or not
-     * @param string $extension  File extension of the resulting file
-     *
-     * @throws \InvalidArgumentException When class can't be loaded
-     */
-    public static function load($classes, $cacheDir, $name, $autoReload, $adaptive = false, $extension = '.php')
-    {
-        // each $name can only be loaded once per PHP process
-        if (isset(self::$loaded[$name])) {
-            return;
-        }
-
-        self::$loaded[$name] = true;
-
-        $declared = array_merge(get_declared_classes(), get_declared_interfaces());
-        if (function_exists('get_declared_traits')) {
-            $declared = array_merge($declared, get_declared_traits());
-        }
-
-        if ($adaptive) {
-            // don't include already declared classes
-            $classes = array_diff($classes, $declared);
-
-            // the cache is different depending on which classes are already declared
-            $name = $name.'-'.substr(hash('sha256', implode('|', $classes)), 0, 5);
-        }
-
-        $classes = array_unique($classes);
-
-        $cache = $cacheDir.'/'.$name.$extension;
-
-        // auto-reload
-        $reload = false;
-        if ($autoReload) {
-            $metadata = $cache.'.meta';
-            if (!is_file($metadata) || !is_file($cache)) {
-                $reload = true;
-            } else {
-                $time = filemtime($cache);
-                $meta = unserialize(file_get_contents($metadata));
-
-                sort($meta[1]);
-                sort($classes);
-
-                if ($meta[1] != $classes) {
-                    $reload = true;
-                } else {
-                    foreach ($meta[0] as $resource) {
-                        if (!is_file($resource) || filemtime($resource) > $time) {
-                            $reload = true;
-
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-
-        if (!$reload && is_file($cache)) {
-            require_once $cache;
-
-            return;
-        }
-
-        $files = array();
-        $content = '';
-        foreach (self::getOrderedClasses($classes) as $class) {
-            if (in_array($class->getName(), $declared)) {
-                continue;
-            }
-
-            $files[] = $class->getFileName();
-
-            $c = preg_replace(array('/^\s*<\?php/', '/\?>\s*$/'), '', file_get_contents($class->getFileName()));
-
-            // fakes namespace declaration for global code
-            if (!$class->inNamespace()) {
-                $c = "\nnamespace\n{\n".$c."\n}\n";
-            }
-
-            $c = self::fixNamespaceDeclarations('<?php '.$c);
-            $c = preg_replace('/^\s*<\?php/', '', $c);
-
-            $content .= $c;
-        }
-
-        // cache the core classes
-        if (!is_dir(dirname($cache))) {
-            mkdir(dirname($cache), 0777, true);
-        }
-        self::writeCacheFile($cache, '<?php '.$content);
-
-        if ($autoReload) {
-            // save the resources
-            self::writeCacheFile($metadata, serialize(array($files, $classes)));
-        }
-    }
-
-    /**
-     * Adds brackets around each namespace if it's not already the case.
-     *
-     * @param string $source Namespace string
-     *
-     * @return string Namespaces with brackets
-     */
-    public static function fixNamespaceDeclarations($source)
-    {
-        if (!function_exists('token_get_all') || !self::$useTokenizer) {
-            if (preg_match('/namespace(.*?)\s*;/', $source)) {
-                $source = preg_replace('/namespace(.*?)\s*;/', "namespace$1\n{", $source)."}\n";
-            }
-
-            return $source;
-        }
-
-        $rawChunk = '';
-        $output = '';
-        $inNamespace = false;
-        $tokens = token_get_all($source);
-
-        for (reset($tokens); false !== $token = current($tokens); next($tokens)) {
-            if (is_string($token)) {
-                $rawChunk .= $token;
-            } elseif (in_array($token[0], array(T_COMMENT, T_DOC_COMMENT))) {
-                // strip comments
-                continue;
-            } elseif (T_NAMESPACE === $token[0]) {
-                if ($inNamespace) {
-                    $rawChunk .= "}\n";
-                }
-                $rawChunk .= $token[1];
-
-                // namespace name and whitespaces
-                while (($t = next($tokens)) && is_array($t) && in_array($t[0], array(T_WHITESPACE, T_NS_SEPARATOR, T_STRING))) {
-                    $rawChunk .= $t[1];
-                }
-                if ('{' === $t) {
-                    $inNamespace = false;
-                    prev($tokens);
-                } else {
-                    $rawChunk = rtrim($rawChunk)."\n{";
-                    $inNamespace = true;
-                }
-            } elseif (T_START_HEREDOC === $token[0]) {
-                $output .= self::compressCode($rawChunk).$token[1];
-                do {
-                    $token = next($tokens);
-                    $output .= is_string($token) ? $token : $token[1];
-                } while ($token[0] !== T_END_HEREDOC);
-                $output .= "\n";
-                $rawChunk = '';
-            } elseif (T_CONSTANT_ENCAPSED_STRING === $token[0]) {
-                $output .= self::compressCode($rawChunk).$token[1];
-                $rawChunk = '';
-            } else {
-                $rawChunk .= $token[1];
-            }
-        }
-
-        if ($inNamespace) {
-            $rawChunk .= "}\n";
-        }
-
-        return $output.self::compressCode($rawChunk);
-    }
-
-    /**
-     * This method is only useful for testing.
-     */
-    public static function enableTokenizer($bool)
-    {
-        self::$useTokenizer = (bool) $bool;
-    }
-
-    /**
-     * Strips leading & trailing ws, multiple EOL, multiple ws.
-     *
-     * @param string $code Original PHP code
-     *
-     * @return string compressed code
-     */
-    private static function compressCode($code)
-    {
-        return preg_replace(
-            array('/^\s+/m', '/\s+$/m', '/([\n\r]+ *[\n\r]+)+/', '/[ \t]+/'),
-            array('', '', "\n", ' '),
-            $code
-        );
-    }
-
-    /**
-     * Writes a cache file.
-     *
-     * @param string $file    Filename
-     * @param string $content Temporary file content
-     *
-     * @throws \RuntimeException when a cache file cannot be written
-     */
-    private static function writeCacheFile($file, $content)
-    {
-        $tmpFile = tempnam(dirname($file), basename($file));
-        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
-            @chmod($file, 0666 & ~umask());
-
-            return;
-        }
-
-        throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $file));
-    }
-
-    /**
-     * Gets an ordered array of passed classes including all their dependencies.
-     *
-     * @param array $classes
-     *
-     * @return \ReflectionClass[] An array of sorted \ReflectionClass instances (dependencies added if needed)
-     *
-     * @throws \InvalidArgumentException When a class can't be loaded
-     */
-    private static function getOrderedClasses(array $classes)
-    {
-        $map = array();
-        self::$seen = array();
-        foreach ($classes as $class) {
-            try {
-                $reflectionClass = new \ReflectionClass($class);
-            } catch (\ReflectionException $e) {
-                throw new \InvalidArgumentException(sprintf('Unable to load class "%s"', $class));
-            }
-
-            $map = array_merge($map, self::getClassHierarchy($reflectionClass));
-        }
-
-        return $map;
-    }
-
-    private static function getClassHierarchy(\ReflectionClass $class)
-    {
-        if (isset(self::$seen[$class->getName()])) {
-            return array();
-        }
-
-        self::$seen[$class->getName()] = true;
-
-        $classes = array($class);
-        $parent = $class;
-        while (($parent = $parent->getParentClass()) && $parent->isUserDefined() && !isset(self::$seen[$parent->getName()])) {
-            self::$seen[$parent->getName()] = true;
-
-            array_unshift($classes, $parent);
-        }
-
-        $traits = array();
-
-        if (function_exists('get_declared_traits')) {
-            foreach ($classes as $c) {
-                foreach (self::resolveDependencies(self::computeTraitDeps($c), $c) as $trait) {
-                    if ($trait !== $c) {
-                        $traits[] = $trait;
-                    }
-                }
-            }
-        }
-
-        return array_merge(self::getInterfaces($class), $traits, $classes);
-    }
-
-    private static function getInterfaces(\ReflectionClass $class)
-    {
-        $classes = array();
-
-        foreach ($class->getInterfaces() as $interface) {
-            $classes = array_merge($classes, self::getInterfaces($interface));
-        }
-
-        if ($class->isUserDefined() && $class->isInterface() && !isset(self::$seen[$class->getName()])) {
-            self::$seen[$class->getName()] = true;
-
-            $classes[] = $class;
-        }
-
-        return $classes;
-    }
-
-    private static function computeTraitDeps(\ReflectionClass $class)
-    {
-        $traits = $class->getTraits();
-        $deps = array($class->getName() => $traits);
-        while ($trait = array_pop($traits)) {
-            if ($trait->isUserDefined() && !isset(self::$seen[$trait->getName()])) {
-                self::$seen[$trait->getName()] = true;
-                $traitDeps = $trait->getTraits();
-                $deps[$trait->getName()] = $traitDeps;
-                $traits = array_merge($traits, $traitDeps);
-            }
-        }
-
-        return $deps;
-    }
-
-    /**
-     * Dependencies resolution.
-     *
-     * This function does not check for circular dependencies as it should never
-     * occur with PHP traits.
-     *
-     * @param array            $tree       The dependency tree
-     * @param \ReflectionClass $node       The node
-     * @param \ArrayObject     $resolved   An array of already resolved dependencies
-     * @param \ArrayObject     $unresolved An array of dependencies to be resolved
-     *
-     * @return \ArrayObject The dependencies for the given node
-     *
-     * @throws \RuntimeException if a circular dependency is detected
-     */
-    private static function resolveDependencies(array $tree, $node, \ArrayObject $resolved = null, \ArrayObject $unresolved = null)
-    {
-        if (null === $resolved) {
-            $resolved = new \ArrayObject();
-        }
-        if (null === $unresolved) {
-            $unresolved = new \ArrayObject();
-        }
-        $nodeName = $node->getName();
-
-        if (isset($tree[$nodeName])) {
-            $unresolved[$nodeName] = $node;
-            foreach ($tree[$nodeName] as $dependency) {
-                if (!$resolved->offsetExists($dependency->getName())) {
-                    self::resolveDependencies($tree, $dependency, $resolved, $unresolved);
-                }
-            }
-            $resolved[$nodeName] = $node;
-            unset($unresolved[$nodeName]);
-        }
-
-        return $resolved;
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassLoader.php
deleted file mode 100644
index 6fcbb06..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassLoader.php
+++ /dev/null
@@ -1,199 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * ClassLoader implements an PSR-0 class loader.
- *
- * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
- *
- *     $loader = new ClassLoader();
- *
- *     // register classes with namespaces
- *     $loader->addPrefix('Symfony\Component', __DIR__.'/component');
- *     $loader->addPrefix('Symfony',           __DIR__.'/framework');
- *
- *     // activate the autoloader
- *     $loader->register();
- *
- *     // to enable searching the include path (e.g. for PEAR packages)
- *     $loader->setUseIncludePath(true);
- *
- * In this example, if you try to use a class in the Symfony\Component
- * namespace or one of its children (Symfony\Component\Console for instance),
- * the autoloader will first look for the class under the component/
- * directory, and it will then fallback to the framework/ directory if not
- * found before giving up.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class ClassLoader
-{
-    private $prefixes = array();
-    private $fallbackDirs = array();
-    private $useIncludePath = false;
-
-    /**
-     * Returns prefixes.
-     *
-     * @return array
-     */
-    public function getPrefixes()
-    {
-        return $this->prefixes;
-    }
-
-    /**
-     * Returns fallback directories.
-     *
-     * @return array
-     */
-    public function getFallbackDirs()
-    {
-        return $this->fallbackDirs;
-    }
-
-    /**
-     * Adds prefixes.
-     *
-     * @param array $prefixes Prefixes to add
-     */
-    public function addPrefixes(array $prefixes)
-    {
-        foreach ($prefixes as $prefix => $path) {
-            $this->addPrefix($prefix, $path);
-        }
-    }
-
-    /**
-     * Registers a set of classes.
-     *
-     * @param string       $prefix The classes prefix
-     * @param array|string $paths  The location(s) of the classes
-     */
-    public function addPrefix($prefix, $paths)
-    {
-        if (!$prefix) {
-            foreach ((array) $paths as $path) {
-                $this->fallbackDirs[] = $path;
-            }
-
-            return;
-        }
-        if (isset($this->prefixes[$prefix])) {
-            $this->prefixes[$prefix] = array_merge(
-                $this->prefixes[$prefix],
-                (array) $paths
-            );
-        } else {
-            $this->prefixes[$prefix] = (array) $paths;
-        }
-    }
-
-    /**
-     * Turns on searching the include for class files.
-     *
-     * @param bool $useIncludePath
-     */
-    public function setUseIncludePath($useIncludePath)
-    {
-        $this->useIncludePath = (bool) $useIncludePath;
-    }
-
-    /**
-     * Can be used to check if the autoloader uses the include path to check
-     * for classes.
-     *
-     * @return bool
-     */
-    public function getUseIncludePath()
-    {
-        return $this->useIncludePath;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param bool $prepend Whether to prepend the autoloader or not
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Unregisters this instance as an autoloader.
-     */
-    public function unregister()
-    {
-        spl_autoload_unregister(array($this, 'loadClass'));
-    }
-
-    /**
-     * Loads the given class or interface.
-     *
-     * @param string $class The name of the class
-     *
-     * @return bool|null True, if loaded
-     */
-    public function loadClass($class)
-    {
-        if ($file = $this->findFile($class)) {
-            require $file;
-
-            return true;
-        }
-    }
-
-    /**
-     * Finds the path to the file where the class is defined.
-     *
-     * @param string $class The name of the class
-     *
-     * @return string|null The path, if found
-     */
-    public function findFile($class)
-    {
-        if (false !== $pos = strrpos($class, '\\')) {
-            // namespaced class name
-            $classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
-            $className = substr($class, $pos + 1);
-        } else {
-            // PEAR-like class name
-            $classPath = null;
-            $className = $class;
-        }
-
-        $classPath .= str_replace('_', DIRECTORY_SEPARATOR, $className).'.php';
-
-        foreach ($this->prefixes as $prefix => $dirs) {
-            if ($class === strstr($class, $prefix)) {
-                foreach ($dirs as $dir) {
-                    if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
-                        return $dir.DIRECTORY_SEPARATOR.$classPath;
-                    }
-                }
-            }
-        }
-
-        foreach ($this->fallbackDirs as $dir) {
-            if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
-                return $dir.DIRECTORY_SEPARATOR.$classPath;
-            }
-        }
-
-        if ($this->useIncludePath && $file = stream_resolve_include_path($classPath)) {
-            return $file;
-        }
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassMapGenerator.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassMapGenerator.php
deleted file mode 100644
index 4c2aeab..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassMapGenerator.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-if (!defined('SYMFONY_TRAIT')) {
-    if (PHP_VERSION_ID >= 50400) {
-        define('SYMFONY_TRAIT', T_TRAIT);
-    } else {
-        define('SYMFONY_TRAIT', 0);
-    }
-}
-
-/**
- * ClassMapGenerator.
- *
- * @author Gyula Sallai <salla016@gmail.com>
- */
-class ClassMapGenerator
-{
-    /**
-     * Generate a class map file.
-     *
-     * @param array|string $dirs Directories or a single path to search in
-     * @param string       $file The name of the class map file
-     */
-    public static function dump($dirs, $file)
-    {
-        $dirs = (array) $dirs;
-        $maps = array();
-
-        foreach ($dirs as $dir) {
-            $maps = array_merge($maps, static::createMap($dir));
-        }
-
-        file_put_contents($file, sprintf('<?php return %s;', var_export($maps, true)));
-    }
-
-    /**
-     * Iterate over all files in the given directory searching for classes.
-     *
-     * @param \Iterator|string $dir The directory to search in or an iterator
-     *
-     * @return array A class map array
-     */
-    public static function createMap($dir)
-    {
-        if (is_string($dir)) {
-            $dir = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir));
-        }
-
-        $map = array();
-
-        foreach ($dir as $file) {
-            if (!$file->isFile()) {
-                continue;
-            }
-
-            $path = $file->getRealPath();
-
-            if (pathinfo($path, PATHINFO_EXTENSION) !== 'php') {
-                continue;
-            }
-
-            $classes = self::findClasses($path);
-
-            foreach ($classes as $class) {
-                $map[$class] = $path;
-            }
-        }
-
-        return $map;
-    }
-
-    /**
-     * Extract the classes in the given file.
-     *
-     * @param string $path The file to check
-     *
-     * @return array The found classes
-     */
-    private static function findClasses($path)
-    {
-        $contents = file_get_contents($path);
-        $tokens = token_get_all($contents);
-
-        $classes = array();
-
-        $namespace = '';
-        for ($i = 0, $max = count($tokens); $i < $max; $i++) {
-            $token = $tokens[$i];
-
-            if (is_string($token)) {
-                continue;
-            }
-
-            $class = '';
-
-            switch ($token[0]) {
-                case T_NAMESPACE:
-                    $namespace = '';
-                    // If there is a namespace, extract it
-                    while (($t = $tokens[++$i]) && is_array($t)) {
-                        if (in_array($t[0], array(T_STRING, T_NS_SEPARATOR))) {
-                            $namespace .= $t[1];
-                        }
-                    }
-                    $namespace .= '\\';
-                    break;
-                case T_CLASS:
-                case T_INTERFACE:
-                case SYMFONY_TRAIT:
-                    // Find the classname
-                    while (($t = $tokens[++$i]) && is_array($t)) {
-                        if (T_STRING === $t[0]) {
-                            $class .= $t[1];
-                        } elseif ($class !== '' && T_WHITESPACE == $t[0]) {
-                            break;
-                        }
-                    }
-
-                    $classes[] = ltrim($namespace.$class, '\\');
-                    break;
-                default:
-                    break;
-            }
-        }
-
-        return $classes;
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugClassLoader.php
deleted file mode 100644
index 897919b..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugClassLoader.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * Autoloader checking if the class is really defined in the file found.
- *
- * The DebugClassLoader will wrap all registered autoloaders providing a
- * findFile method and will throw an exception if a file is found but does
- * not declare the class.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Christophe Coevoet <stof@notk.org>
- *
- * @api
- *
- * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the DebugClassLoader provided by the Debug component instead.
- */
-class DebugClassLoader
-{
-    private $classFinder;
-
-    /**
-     * Constructor.
-     *
-     * @param object $classFinder
-     *
-     * @api
-     */
-    public function __construct($classFinder)
-    {
-        $this->classFinder = $classFinder;
-    }
-
-    /**
-     * Gets the wrapped class loader.
-     *
-     * @return object a class loader instance
-     */
-    public function getClassLoader()
-    {
-        return $this->classFinder;
-    }
-
-    /**
-     * Replaces all autoloaders implementing a findFile method by a DebugClassLoader wrapper.
-     */
-    public static function enable()
-    {
-        if (!is_array($functions = spl_autoload_functions())) {
-            return;
-        }
-
-        foreach ($functions as $function) {
-            spl_autoload_unregister($function);
-        }
-
-        foreach ($functions as $function) {
-            if (is_array($function) && !$function[0] instanceof self && method_exists($function[0], 'findFile')) {
-                $function = array(new static($function[0]), 'loadClass');
-            }
-
-            spl_autoload_register($function);
-        }
-    }
-
-    /**
-     * Unregisters this instance as an autoloader.
-     */
-    public function unregister()
-    {
-        spl_autoload_unregister(array($this, 'loadClass'));
-    }
-
-    /**
-     * Finds a file by class name.
-     *
-     * @param string $class A class name to resolve to file
-     *
-     * @return string|null
-     */
-    public function findFile($class)
-    {
-        return $this->classFinder->findFile($class);
-    }
-
-    /**
-     * Loads the given class or interface.
-     *
-     * @param string $class The name of the class
-     *
-     * @return bool|null True, if loaded
-     *
-     * @throws \RuntimeException
-     */
-    public function loadClass($class)
-    {
-        if ($file = $this->classFinder->findFile($class)) {
-            require $file;
-
-            if (!class_exists($class, false) && !interface_exists($class, false) && (!function_exists('trait_exists') || !trait_exists($class, false))) {
-                if (false !== strpos($class, '/')) {
-                    throw new \RuntimeException(sprintf('Trying to autoload a class with an invalid name "%s". Be careful that the namespace separator is "\" in PHP, not "/".', $class));
-                }
-
-                throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". The file was found but the class was not in it, the class name or namespace probably has a typo.', $class, $file));
-            }
-
-            return true;
-        }
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php
deleted file mode 100644
index 40d847c..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * Checks that the class is actually declared in the included file.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the DebugClassLoader provided by the Debug component instead.
- */
-class DebugUniversalClassLoader extends UniversalClassLoader
-{
-    /**
-     * Replaces all regular UniversalClassLoader instances by a DebugUniversalClassLoader ones.
-     */
-    public static function enable()
-    {
-        if (!is_array($functions = spl_autoload_functions())) {
-            return;
-        }
-
-        foreach ($functions as $function) {
-            spl_autoload_unregister($function);
-        }
-
-        foreach ($functions as $function) {
-            if (is_array($function) && $function[0] instanceof UniversalClassLoader) {
-                $loader = new static();
-                $loader->registerNamespaceFallbacks($function[0]->getNamespaceFallbacks());
-                $loader->registerPrefixFallbacks($function[0]->getPrefixFallbacks());
-                $loader->registerNamespaces($function[0]->getNamespaces());
-                $loader->registerPrefixes($function[0]->getPrefixes());
-                $loader->useIncludePath($function[0]->getUseIncludePath());
-
-                $function[0] = $loader;
-            }
-
-            spl_autoload_register($function);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function loadClass($class)
-    {
-        if ($file = $this->findFile($class)) {
-            require $file;
-
-            if (!class_exists($class, false) && !interface_exists($class, false) && (!function_exists('trait_exists') || !trait_exists($class, false))) {
-                throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". The file was found but the class was not in it, the class name or namespace probably has a typo.', $class, $file));
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/LICENSE b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/class-loader/Symfony/Component/ClassLoader/MapClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/MapClassLoader.php
deleted file mode 100644
index 1d8bcc2..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/MapClassLoader.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * A class loader that uses a mapping file to look up paths.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class MapClassLoader
-{
-    private $map = array();
-
-    /**
-     * Constructor.
-     *
-     * @param array $map A map where keys are classes and values the absolute file path
-     */
-    public function __construct(array $map)
-    {
-        $this->map = $map;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param bool $prepend Whether to prepend the autoloader or not
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Loads the given class or interface.
-     *
-     * @param string $class The name of the class
-     */
-    public function loadClass($class)
-    {
-        if (isset($this->map[$class])) {
-            require $this->map[$class];
-        }
-    }
-
-    /**
-     * Finds the path to the file where the class is defined.
-     *
-     * @param string $class The name of the class
-     *
-     * @return string|null The path, if found
-     */
-    public function findFile($class)
-    {
-        if (isset($this->map[$class])) {
-            return $this->map[$class];
-        }
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Psr4ClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Psr4ClassLoader.php
deleted file mode 100644
index a00cf7b..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Psr4ClassLoader.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * A PSR-4 compatible class loader.
- *
- * See http://www.php-fig.org/psr/psr-4/
- *
- * @author Alexander M. Turek <me@derrabus.de>
- */
-class Psr4ClassLoader
-{
-    /**
-     * @var array
-     */
-    private $prefixes = array();
-
-    /**
-     * @param string $prefix
-     * @param string $baseDir
-     */
-    public function addPrefix($prefix, $baseDir)
-    {
-        $prefix = trim($prefix, '\\').'\\';
-        $baseDir = rtrim($baseDir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;
-        $this->prefixes[] = array($prefix, $baseDir);
-    }
-
-    /**
-     * @param string $class
-     *
-     * @return string|null
-     */
-    public function findFile($class)
-    {
-        $class = ltrim($class, '\\');
-
-        foreach ($this->prefixes as $current) {
-            list($currentPrefix, $currentBaseDir) = $current;
-            if (0 === strpos($class, $currentPrefix)) {
-                $classWithoutPrefix = substr($class, strlen($currentPrefix));
-                $file = $currentBaseDir.str_replace('\\', DIRECTORY_SEPARATOR, $classWithoutPrefix).'.php';
-                if (file_exists($file)) {
-                    return $file;
-                }
-            }
-        }
-    }
-
-    /**
-     * @param string $class
-     *
-     * @return bool
-     */
-    public function loadClass($class)
-    {
-        $file = $this->findFile($class);
-        if (null !== $file) {
-            require $file;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param bool $prepend
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Removes this instance from the registered autoloaders.
-     */
-    public function unregister()
-    {
-        spl_autoload_unregister(array($this, 'loadClass'));
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/README.md b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/README.md
deleted file mode 100644
index 0d2955d..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/README.md
+++ /dev/null
@@ -1,85 +0,0 @@
-ClassLoader Component
-=====================
-
-ClassLoader loads your project classes automatically if they follow some
-standard PHP conventions.
-
-The ClassLoader object is able to autoload classes that implement the PSR-0
-standard or the PEAR naming convention.
-
-First, register the autoloader:
-
-```php
-require_once __DIR__.'/src/Symfony/Component/ClassLoader/ClassLoader.php';
-
-use Symfony\Component\ClassLoader\ClassLoader;
-
-$loader = new ClassLoader();
-$loader->register();
-```
-
-Then, register some namespaces with the `addPrefix()` method:
-
-```php
-$loader->addPrefix('Symfony', __DIR__.'/src');
-$loader->addPrefix('Monolog', __DIR__.'/vendor/monolog/src');
-```
-
-The `addPrefix()` method takes a namespace prefix and a path where to
-look for the classes as arguments.
-
-You can also register a sub-namespaces:
-
-```php
-$loader->addPrefix('Doctrine\\Common', __DIR__.'/vendor/doctrine-common/lib');
-```
-
-The order of registration is significant and the first registered namespace
-takes precedence over later registered one.
-
-You can also register more than one path for a given namespace:
-
-```php
-$loader->addPrefix('Symfony', array(__DIR__.'/src', __DIR__.'/symfony/src'));
-```
-
-Alternatively, you can use the `addPrefixes()` method to register more
-than one namespace at once:
-
-```php
-$loader->addPrefixes(array(
-    'Symfony' => array(__DIR__.'/src', __DIR__.'/symfony/src'),
-    'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib',
-    'Doctrine' => __DIR__.'/vendor/doctrine/lib',
-    'Monolog' => __DIR__.'/vendor/monolog/src',
-));
-```
-
-For better performance, you can use the APC class loader:
-
-```php
-require_once __DIR__.'/src/Symfony/Component/ClassLoader/ClassLoader.php';
-require_once __DIR__.'/src/Symfony/Component/ClassLoader/ApcClassLoader.php';
-
-use Symfony\Component\ClassLoader\ClassLoader;
-use Symfony\Component\ClassLoader\ApcClassLoader;
-
-$loader = new ClassLoader();
-$loader->addPrefix('Symfony', __DIR__.'/src');
-
-$loader = new ApcClassLoader('apc.prefix.', $loader);
-$loader->register();
-```
-
-Furthermore, the component provides tools to aggregate classes into a single
-file, which is especially useful to improve performance on servers that do not
-provide byte caches.
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/ClassLoader/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php
deleted file mode 100644
index e821e45..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php
+++ /dev/null
@@ -1,292 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ClassCollectionLoader;
-
-require_once __DIR__.'/Fixtures/ClassesWithParents/GInterface.php';
-require_once __DIR__.'/Fixtures/ClassesWithParents/CInterface.php';
-require_once __DIR__.'/Fixtures/ClassesWithParents/B.php';
-require_once __DIR__.'/Fixtures/ClassesWithParents/A.php';
-
-class ClassCollectionLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testTraitDependencies()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Requires PHP > 5.4');
-
-            return;
-        }
-
-        require_once __DIR__.'/Fixtures/deps/traits.php';
-
-        $r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
-        $m = $r->getMethod('getOrderedClasses');
-        $m->setAccessible(true);
-
-        $ordered = $m->invoke('Symfony\Component\ClassLoader\ClassCollectionLoader', array('CTFoo'));
-
-        $this->assertEquals(
-            array('TD', 'TC', 'TB', 'TA', 'TZ', 'CTFoo'),
-            array_map(function ($class) { return $class->getName(); }, $ordered)
-        );
-
-        $ordered = $m->invoke('Symfony\Component\ClassLoader\ClassCollectionLoader', array('CTBar'));
-
-        $this->assertEquals(
-            array('TD', 'TZ', 'TC', 'TB', 'TA', 'CTBar'),
-            array_map(function ($class) { return $class->getName(); }, $ordered)
-        );
-    }
-
-    /**
-     * @dataProvider getDifferentOrders
-     */
-    public function testClassReordering(array $classes)
-    {
-        $expected = array(
-            'ClassesWithParents\\GInterface',
-            'ClassesWithParents\\CInterface',
-            'ClassesWithParents\\B',
-            'ClassesWithParents\\A',
-        );
-
-        $r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
-        $m = $r->getMethod('getOrderedClasses');
-        $m->setAccessible(true);
-
-        $ordered = $m->invoke('Symfony\Component\ClassLoader\ClassCollectionLoader', $classes);
-
-        $this->assertEquals($expected, array_map(function ($class) { return $class->getName(); }, $ordered));
-    }
-
-    public function getDifferentOrders()
-    {
-        return array(
-            array(array(
-                'ClassesWithParents\\A',
-                'ClassesWithParents\\CInterface',
-                'ClassesWithParents\\GInterface',
-                'ClassesWithParents\\B',
-            )),
-            array(array(
-                'ClassesWithParents\\B',
-                'ClassesWithParents\\A',
-                'ClassesWithParents\\CInterface',
-            )),
-            array(array(
-                'ClassesWithParents\\CInterface',
-                'ClassesWithParents\\B',
-                'ClassesWithParents\\A',
-            )),
-            array(array(
-                'ClassesWithParents\\A',
-            )),
-        );
-    }
-
-    /**
-     * @dataProvider getDifferentOrdersForTraits
-     */
-    public function testClassWithTraitsReordering(array $classes)
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Requires PHP > 5.4');
-
-            return;
-        }
-
-        require_once __DIR__.'/Fixtures/ClassesWithParents/ATrait.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/BTrait.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/CTrait.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/D.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/E.php';
-
-        $expected = array(
-            'ClassesWithParents\\GInterface',
-            'ClassesWithParents\\CInterface',
-            'ClassesWithParents\\ATrait',
-            'ClassesWithParents\\BTrait',
-            'ClassesWithParents\\CTrait',
-            'ClassesWithParents\\B',
-            'ClassesWithParents\\A',
-            'ClassesWithParents\\D',
-            'ClassesWithParents\\E',
-        );
-
-        $r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
-        $m = $r->getMethod('getOrderedClasses');
-        $m->setAccessible(true);
-
-        $ordered = $m->invoke('Symfony\Component\ClassLoader\ClassCollectionLoader', $classes);
-
-        $this->assertEquals($expected, array_map(function ($class) { return $class->getName(); }, $ordered));
-    }
-
-    public function getDifferentOrdersForTraits()
-    {
-        return array(
-            array(array(
-                'ClassesWithParents\\E',
-                'ClassesWithParents\\ATrait',
-            )),
-            array(array(
-                'ClassesWithParents\\E',
-            )),
-        );
-    }
-
-    public function testFixClassWithTraitsOrdering()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Requires PHP > 5.4');
-
-            return;
-        }
-
-        require_once __DIR__.'/Fixtures/ClassesWithParents/CTrait.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/F.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/G.php';
-
-        $classes = array(
-            'ClassesWithParents\\F',
-            'ClassesWithParents\\G',
-        );
-
-        $expected = array(
-            'ClassesWithParents\\CTrait',
-            'ClassesWithParents\\F',
-            'ClassesWithParents\\G',
-        );
-
-        $r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
-        $m = $r->getMethod('getOrderedClasses');
-        $m->setAccessible(true);
-
-        $ordered = $m->invoke('Symfony\Component\ClassLoader\ClassCollectionLoader', $classes);
-
-        $this->assertEquals($expected, array_map(function ($class) { return $class->getName(); }, $ordered));
-    }
-
-    /**
-     * @dataProvider getFixNamespaceDeclarationsData
-     */
-    public function testFixNamespaceDeclarations($source, $expected)
-    {
-        $this->assertEquals('<?php '.$expected, ClassCollectionLoader::fixNamespaceDeclarations('<?php '.$source));
-    }
-
-    public function getFixNamespaceDeclarationsData()
-    {
-        return array(
-            array("namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}"),
-            array("namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}"),
-            array("namespace   Bar ;\nclass Foo {}\n", "namespace Bar\n{\nclass Foo {}\n}"),
-            array("namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}"),
-            array("namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}"),
-            array("namespace\n{\nclass Foo {}\n}\n", "namespace\n{\nclass Foo {}\n}"),
-        );
-    }
-
-    /**
-     * @dataProvider getFixNamespaceDeclarationsDataWithoutTokenizer
-     */
-    public function testFixNamespaceDeclarationsWithoutTokenizer($source, $expected)
-    {
-        ClassCollectionLoader::enableTokenizer(false);
-        $this->assertEquals('<?php '.$expected, ClassCollectionLoader::fixNamespaceDeclarations('<?php '.$source));
-        ClassCollectionLoader::enableTokenizer(true);
-    }
-
-    public function getFixNamespaceDeclarationsDataWithoutTokenizer()
-    {
-        return array(
-            array("namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}\n"),
-            array("namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}\n"),
-            array("namespace   Bar ;\nclass Foo {}\n", "namespace   Bar\n{\nclass Foo {}\n}\n"),
-            array("namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}\n"),
-            array("namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n"),
-            array("namespace\n{\nclass Foo {}\n}\n", "namespace\n{\nclass Foo {}\n}\n"),
-        );
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testUnableToLoadClassException()
-    {
-        if (is_file($file = sys_get_temp_dir().'/foo.php')) {
-            unlink($file);
-        }
-
-        ClassCollectionLoader::load(array('SomeNotExistingClass'), sys_get_temp_dir(), 'foo', false);
-    }
-
-    public function testCommentStripping()
-    {
-        if (is_file($file = sys_get_temp_dir().'/bar.php')) {
-            unlink($file);
-        }
-        spl_autoload_register($r = function ($class) {
-            if (0 === strpos($class, 'Namespaced') || 0 === strpos($class, 'Pearlike_')) {
-                require_once __DIR__.'/Fixtures/'.str_replace(array('\\', '_'), '/', $class).'.php';
-            }
-        });
-
-        ClassCollectionLoader::load(
-            array('Namespaced\\WithComments', 'Pearlike_WithComments'),
-            sys_get_temp_dir(),
-            'bar',
-            false
-        );
-
-        spl_autoload_unregister($r);
-
-        $this->assertEquals(<<<EOF
-namespace Namespaced
-{
-class WithComments
-{
-public static \$loaded = true;
-}
-\$string ='string should not be   modified {\$string}';
-\$heredoc = (<<<HD
-
-
-Heredoc should not be   modified {\$string}
-
-
-HD
-);
-\$nowdoc =<<<'ND'
-
-
-Nowdoc should not be   modified {\$string}
-
-
-ND
-;
-}
-namespace
-{
-class Pearlike_WithComments
-{
-public static \$loaded = true;
-}
-}
-EOF
-        , str_replace("<?php \n", '', file_get_contents($file)));
-
-        unlink($file);
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
deleted file mode 100644
index a870935..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
+++ /dev/null
@@ -1,212 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ClassLoader;
-
-class ClassLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetPrefixes()
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $prefixes = $loader->getPrefixes();
-        $this->assertArrayHasKey('Foo', $prefixes);
-        $this->assertArrayNotHasKey('Foo1', $prefixes);
-        $this->assertArrayHasKey('Bar', $prefixes);
-        $this->assertArrayHasKey('Bas', $prefixes);
-    }
-
-    public function testGetFallbackDirs()
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix(null, __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix(null, __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $fallback_dirs = $loader->getFallbackDirs();
-        $this->assertCount(2, $fallback_dirs);
-    }
-
-    /**
-     * @dataProvider getLoadClassTests
-     */
-    public function testLoadClass($className, $testClassName, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Namespaced2\\', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Pearlike2_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->loadClass($testClassName);
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassTests()
-    {
-        return array(
-            array('\\Namespaced2\\Foo', 'Namespaced2\\Foo',   '->loadClass() loads Namespaced2\Foo class'),
-            array('\\Pearlike2_Foo',    'Pearlike2_Foo',      '->loadClass() loads Pearlike2_Foo class'),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadNonexistentClassTests
-     */
-    public function testLoadNonexistentClass($className, $testClassName, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Namespaced2\\', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Pearlike2_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->loadClass($testClassName);
-        $this->assertFalse(class_exists($className), $message);
-    }
-
-    public function getLoadNonexistentClassTests()
-    {
-        return array(
-            array('\\Pearlike3_Bar', '\\Pearlike3_Bar', '->loadClass() loads non existing Pearlike3_Bar class with a leading slash'),
-        );
-    }
-
-    public function testAddPrefix()
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $prefixes = $loader->getPrefixes();
-        $this->assertArrayHasKey('Foo', $prefixes);
-        $this->assertCount(2, $prefixes['Foo']);
-    }
-
-    public function testUseIncludePath()
-    {
-        $loader = new ClassLoader();
-        $this->assertFalse($loader->getUseIncludePath());
-
-        $this->assertNull($loader->findFile('Foo'));
-
-        $includePath = get_include_path();
-
-        $loader->setUseIncludePath(true);
-        $this->assertTrue($loader->getUseIncludePath());
-
-        set_include_path(__DIR__.'/Fixtures/includepath'.PATH_SEPARATOR.$includePath);
-
-        $this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'includepath'.DIRECTORY_SEPARATOR.'Foo.php', $loader->findFile('Foo'));
-
-        set_include_path($includePath);
-    }
-
-    /**
-     * @dataProvider getLoadClassFromFallbackTests
-     */
-    public function testLoadClassFromFallback($className, $testClassName, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Namespaced2\\', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Pearlike2_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('', array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'));
-        $loader->loadClass($testClassName);
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassFromFallbackTests()
-    {
-        return array(
-            array('\\Namespaced2\\Baz',    'Namespaced2\\Baz',    '->loadClass() loads Namespaced2\Baz class'),
-            array('\\Pearlike2_Baz',       'Pearlike2_Baz',       '->loadClass() loads Pearlike2_Baz class'),
-            array('\\Namespaced2\\FooBar', 'Namespaced2\\FooBar', '->loadClass() loads Namespaced2\Baz class from fallback dir'),
-            array('\\Pearlike2_FooBar',    'Pearlike2_FooBar',    '->loadClass() loads Pearlike2_Baz class from fallback dir'),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadClassNamespaceCollisionTests
-     */
-    public function testLoadClassNamespaceCollision($namespaces, $className, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefixes($namespaces);
-
-        $loader->loadClass($className);
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassNamespaceCollisionTests()
-    {
-        return array(
-            array(
-                array(
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\C\Foo',
-                '->loadClass() loads NamespaceCollision\C\Foo from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\C\Bar',
-                '->loadClass() loads NamespaceCollision\C\Bar from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\C\B\Foo',
-                '->loadClass() loads NamespaceCollision\C\B\Foo from beta.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\C\B\Bar',
-                '->loadClass() loads NamespaceCollision\C\B\Bar from beta.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_C_Foo',
-                '->loadClass() loads PrefixCollision_C_Foo from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_C_Bar',
-                '->loadClass() loads PrefixCollision_C_Bar from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_C_B_Foo',
-                '->loadClass() loads PrefixCollision_C_B_Foo from beta.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_C_B_Bar',
-                '->loadClass() loads PrefixCollision_C_B_Bar from beta.',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
deleted file mode 100644
index 8809925..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ClassMapGenerator;
-
-class ClassMapGeneratorTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string|null
-     */
-    private $workspace = null;
-
-    public function prepare_workspace()
-    {
-        $this->workspace = rtrim(sys_get_temp_dir(), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.time().rand(0, 1000);
-        mkdir($this->workspace, 0777, true);
-        $this->workspace = realpath($this->workspace);
-    }
-
-    /**
-     * @param string $file
-     */
-    private function clean($file)
-    {
-        if (is_dir($file) && !is_link($file)) {
-            $dir = new \FilesystemIterator($file);
-            foreach ($dir as $childFile) {
-                $this->clean($childFile);
-            }
-
-            rmdir($file);
-        } else {
-            unlink($file);
-        }
-    }
-
-    /**
-     * @dataProvider getTestCreateMapTests
-     */
-    public function testDump($directory, $expected)
-    {
-        $this->prepare_workspace();
-
-        $file = $this->workspace.'/file';
-
-        $generator = new ClassMapGenerator();
-        $generator->dump($directory, $file);
-        $this->assertFileExists($file);
-
-        $this->clean($this->workspace);
-    }
-
-    /**
-     * @dataProvider getTestCreateMapTests
-     */
-    public function testCreateMap($directory, $expected)
-    {
-        $this->assertEqualsNormalized($expected, ClassMapGenerator::createMap($directory));
-    }
-
-    public function getTestCreateMapTests()
-    {
-        $data = array(
-            array(__DIR__.'/Fixtures/Namespaced', array(
-                'Namespaced\\Bar' => realpath(__DIR__).'/Fixtures/Namespaced/Bar.php',
-                'Namespaced\\Foo' => realpath(__DIR__).'/Fixtures/Namespaced/Foo.php',
-                'Namespaced\\Baz' => realpath(__DIR__).'/Fixtures/Namespaced/Baz.php',
-                'Namespaced\\WithComments' => realpath(__DIR__).'/Fixtures/Namespaced/WithComments.php',
-                ),
-            ),
-            array(__DIR__.'/Fixtures/beta/NamespaceCollision', array(
-                'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',
-                'NamespaceCollision\\A\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Foo.php',
-                'NamespaceCollision\\C\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Bar.php',
-                'NamespaceCollision\\C\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Foo.php',
-            )),
-            array(__DIR__.'/Fixtures/Pearlike', array(
-                'Pearlike_Foo' => realpath(__DIR__).'/Fixtures/Pearlike/Foo.php',
-                'Pearlike_Bar' => realpath(__DIR__).'/Fixtures/Pearlike/Bar.php',
-                'Pearlike_Baz' => realpath(__DIR__).'/Fixtures/Pearlike/Baz.php',
-                'Pearlike_WithComments' => realpath(__DIR__).'/Fixtures/Pearlike/WithComments.php',
-            )),
-            array(__DIR__.'/Fixtures/classmap', array(
-                'Foo\\Bar\\A' => realpath(__DIR__).'/Fixtures/classmap/sameNsMultipleClasses.php',
-                'Foo\\Bar\\B' => realpath(__DIR__).'/Fixtures/classmap/sameNsMultipleClasses.php',
-                'A' => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Alpha\\A' => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Alpha\\B' => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Beta\\A' => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Beta\\B' => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'ClassMap\\SomeInterface' => realpath(__DIR__).'/Fixtures/classmap/SomeInterface.php',
-                'ClassMap\\SomeParent' => realpath(__DIR__).'/Fixtures/classmap/SomeParent.php',
-                'ClassMap\\SomeClass' => realpath(__DIR__).'/Fixtures/classmap/SomeClass.php',
-            )),
-        );
-
-        if (PHP_VERSION_ID >= 50400) {
-            $data[] = array(__DIR__.'/Fixtures/php5.4', array(
-                'TFoo' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'CFoo' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\TBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\IBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\TFooBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\CBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-            ));
-        }
-
-        return $data;
-    }
-
-    public function testCreateMapFinderSupport()
-    {
-        $finder = new \Symfony\Component\Finder\Finder();
-        $finder->files()->in(__DIR__.'/Fixtures/beta/NamespaceCollision');
-
-        $this->assertEqualsNormalized(array(
-            'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',
-            'NamespaceCollision\\A\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Foo.php',
-            'NamespaceCollision\\C\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Bar.php',
-            'NamespaceCollision\\C\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Foo.php',
-        ), ClassMapGenerator::createMap($finder));
-    }
-
-    protected function assertEqualsNormalized($expected, $actual, $message = null)
-    {
-        foreach ($expected as $ns => $path) {
-            $expected[$ns] = strtr($path, '\\', '/');
-        }
-        foreach ($actual as $ns => $path) {
-            $actual[$ns] = strtr($path, '\\', '/');
-        }
-        $this->assertEquals($expected, $actual, $message);
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php
deleted file mode 100644
index 4259f14..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php
deleted file mode 100644
index 3ddb595..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php
deleted file mode 100644
index cf0a4b7..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php
deleted file mode 100644
index bbbc815..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php
deleted file mode 100644
index e774cb9..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php
deleted file mode 100644
index b284744..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php
deleted file mode 100644
index 3cf8aa8..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
deleted file mode 100644
index 3df50fa..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
deleted file mode 100644
index 206c9f8..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
deleted file mode 100644
index 4a4f73e..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
deleted file mode 100644
index 184a1b1..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
deleted file mode 100644
index 3892f70..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_B_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
deleted file mode 100644
index 62e749f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_B_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
deleted file mode 100644
index e406a69..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A\B;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
deleted file mode 100644
index 450eeb5..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A\B;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
deleted file mode 100644
index 96f2f76..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
deleted file mode 100644
index bbbc815..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
deleted file mode 100644
index b0f9425..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class A extends B
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php
deleted file mode 100644
index b02d185..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-trait ATrait
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
deleted file mode 100644
index 22c751a..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class B implements CInterface
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php
deleted file mode 100644
index 7242a9f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-trait BTrait
-{
-    use ATrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php
deleted file mode 100644
index 8eec389..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-interface CInterface extends GInterface
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php
deleted file mode 100644
index 110c624..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-trait CTrait
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php
deleted file mode 100644
index 28514d7..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class D extends A
-{
-    use BTrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php
deleted file mode 100644
index 6dc6035..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class E extends D
-{
-    use CTrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/F.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/F.php
deleted file mode 100644
index a0a5172..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/F.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class F
-{
-    use CTrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/G.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/G.php
deleted file mode 100644
index bab6031..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/G.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class G
-{
-    use CTrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php
deleted file mode 100644
index 208a19d..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-interface GInterface
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php
deleted file mode 100644
index 02b589d..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php
deleted file mode 100644
index 0b0bbd0..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php
deleted file mode 100644
index df5e1f4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php
deleted file mode 100644
index 361e53d..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class WithComments
-{
-    /** @Boolean */
-    public static $loaded = true;
-}
-
-$string = 'string should not be   modified {$string}';
-
-$heredoc = (<<<HD
-
-
-Heredoc should not be   modified {$string}
-
-
-HD
-);
-
-$nowdoc = <<<'ND'
-
-
-Nowdoc should not be   modified {$string}
-
-
-ND;
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php
deleted file mode 100644
index 7bf42ab..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php
deleted file mode 100644
index fed3e01..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php
deleted file mode 100644
index 5d7452a..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php
deleted file mode 100644
index 6366169..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php
deleted file mode 100644
index 3aa8367..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php
deleted file mode 100644
index c51b156..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php
deleted file mode 100644
index d0fd206..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Pearlike_WithComments
-{
-    /** @Boolean */
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php
deleted file mode 100644
index 7f5f797..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php
deleted file mode 100644
index 8317a0e..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php
deleted file mode 100644
index 0f62ca4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
deleted file mode 100644
index b8d1a13..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
deleted file mode 100644
index aee6a08..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
deleted file mode 100644
index c1b8dd6..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
deleted file mode 100644
index 1fffbba..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
deleted file mode 100644
index 676daad..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
deleted file mode 100644
index 44388be..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
deleted file mode 100644
index 0bbc368..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
deleted file mode 100644
index 73f4ac4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
deleted file mode 100644
index 9f09155..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A\B;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
deleted file mode 100644
index f5f2d72..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A\B;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
deleted file mode 100644
index 4bb03dc..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C\B;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
deleted file mode 100644
index 195d888..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C\B;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
deleted file mode 100644
index f2682e4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_B_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
deleted file mode 100644
index af7ca70..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_B_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
deleted file mode 100644
index f313438..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_B_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
deleted file mode 100644
index a9bf820..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_B_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
deleted file mode 100644
index c63cef9..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace ClassMap;
-
-class SomeClass extends SomeParent implements SomeInterface
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
deleted file mode 100644
index 1fe5e09..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace ClassMap;
-
-interface SomeInterface
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
deleted file mode 100644
index ce2f9fc..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace ClassMap;
-
-abstract class SomeParent
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
deleted file mode 100644
index c7cec64..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-namespace {
-    class A
-    {
-    }
-}
-
-namespace Alpha {
-    class A
-    {
-    }
-    class B
-    {
-    }
-}
-
-namespace Beta {
-    class A
-    {
-    }
-    class B
-    {
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php
deleted file mode 100644
index 49eb3ff..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$a = new stdClass();
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md
deleted file mode 100644
index 6e48e5a..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md
+++ /dev/null
@@ -1 +0,0 @@
-This file should be skipped.
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
deleted file mode 100644
index b34b9dd..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Foo\Bar;
-
-class A
-{
-}
-class B
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php
deleted file mode 100644
index 82b30a6..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-trait TD
-{
-}
-
-trait TZ
-{
-    use TD;
-}
-
-trait TC
-{
-    use TD;
-}
-
-trait TB
-{
-    use TC;
-}
-
-trait TA
-{
-    use TB;
-}
-
-class CTFoo
-{
-    use TA;
-    use TZ;
-}
-
-class CTBar
-{
-    use TZ;
-    use TA;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php
deleted file mode 100644
index 0fd29ef..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
deleted file mode 100644
index 1036d43..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php
deleted file mode 100644
index 3ebe526..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
deleted file mode 100644
index 9bf0007..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php
deleted file mode 100644
index a8f0bc7..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class Foo
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Class_With_Underscores.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Class_With_Underscores.php
deleted file mode 100644
index ce9b8ea..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Class_With_Underscores.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace Acme\DemoLib;
-
-class Class_With_Underscores
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Foo.php
deleted file mode 100644
index 8ba6f83..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Foo.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace Acme\DemoLib;
-
-class Foo
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php
deleted file mode 100644
index e18bb0f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace Acme\DemoLib\Lets\Go\Deeper;
-
-class Class_With_Underscores
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php
deleted file mode 100644
index 53ead9f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace Acme\DemoLib\Lets\Go\Deeper;
-
-class Foo
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
deleted file mode 100644
index 48b46fa..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
+++ /dev/null
@@ -1,195 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
-
-/**
- * @group legacy
- */
-class LegacyApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        if (!extension_loaded('apc')) {
-            $this->markTestSkipped('The apc extension is not available.');
-        }
-
-        if (!(ini_get('apc.enabled') && ini_get('apc.enable_cli'))) {
-            $this->markTestSkipped('The apc extension is available, but not enabled.');
-        } else {
-            apc_clear_cache('user');
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (ini_get('apc.enabled') && ini_get('apc.enable_cli')) {
-            apc_clear_cache('user');
-        }
-    }
-
-    public function testConstructor()
-    {
-        $loader = new ApcUniversalClassLoader('test.prefix.');
-        $loader->registerNamespace('Apc\Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-
-        $this->assertEquals($loader->findFile('\Apc\Namespaced\FooBar'), apc_fetch('test.prefix.\Apc\Namespaced\FooBar'), '__construct() takes a prefix as its first argument');
-    }
-
-   /**
-    * @dataProvider getLoadClassTests
-    */
-   public function testLoadClass($className, $testClassName, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.');
-       $loader->registerNamespace('Apc\Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->registerPrefix('Apc_Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->loadClass($testClassName);
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-    public function getLoadClassTests()
-    {
-        return array(
-           array('\\Apc\\Namespaced\\Foo', 'Apc\\Namespaced\\Foo',   '->loadClass() loads Apc\Namespaced\Foo class'),
-           array('Apc_Pearlike_Foo',    'Apc_Pearlike_Foo',      '->loadClass() loads Apc_Pearlike_Foo class'),
-       );
-    }
-
-   /**
-    * @dataProvider getLoadClassFromFallbackTests
-    */
-   public function testLoadClassFromFallback($className, $testClassName, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.fallback');
-       $loader->registerNamespace('Apc\Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->registerPrefix('Apc_Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->registerNamespaceFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/fallback'));
-       $loader->registerPrefixFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/fallback'));
-       $loader->loadClass($testClassName);
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-    public function getLoadClassFromFallbackTests()
-    {
-        return array(
-           array('\\Apc\\Namespaced\\Baz',    'Apc\\Namespaced\\Baz',    '->loadClass() loads Apc\Namespaced\Baz class'),
-           array('Apc_Pearlike_Baz',       'Apc_Pearlike_Baz',       '->loadClass() loads Apc_Pearlike_Baz class'),
-           array('\\Apc\\Namespaced\\FooBar', 'Apc\\Namespaced\\FooBar', '->loadClass() loads Apc\Namespaced\Baz class from fallback dir'),
-           array('Apc_Pearlike_FooBar',    'Apc_Pearlike_FooBar',    '->loadClass() loads Apc_Pearlike_Baz class from fallback dir'),
-       );
-    }
-
-   /**
-    * @dataProvider getLoadClassNamespaceCollisionTests
-    */
-   public function testLoadClassNamespaceCollision($namespaces, $className, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.collision.');
-       $loader->registerNamespaces($namespaces);
-
-       $loader->loadClass($className);
-
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-    public function getLoadClassNamespaceCollisionTests()
-    {
-        return array(
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-               ),
-               'Apc\NamespaceCollision\A\Foo',
-               '->loadClass() loads NamespaceCollision\A\Foo from alpha.',
-           ),
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-               ),
-               'Apc\NamespaceCollision\A\Bar',
-               '->loadClass() loads NamespaceCollision\A\Bar from alpha.',
-           ),
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-               ),
-               'Apc\NamespaceCollision\A\B\Foo',
-               '->loadClass() loads NamespaceCollision\A\B\Foo from beta.',
-           ),
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-               ),
-               'Apc\NamespaceCollision\A\B\Bar',
-               '->loadClass() loads NamespaceCollision\A\B\Bar from beta.',
-           ),
-       );
-    }
-
-   /**
-    * @dataProvider getLoadClassPrefixCollisionTests
-    */
-   public function testLoadClassPrefixCollision($prefixes, $className, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.collision.');
-       $loader->registerPrefixes($prefixes);
-
-       $loader->loadClass($className);
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-    public function getLoadClassPrefixCollisionTests()
-    {
-        return array(
-           array(
-               array(
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-               ),
-               'ApcPrefixCollision_A_Foo',
-               '->loadClass() loads ApcPrefixCollision_A_Foo from alpha.',
-           ),
-           array(
-               array(
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-               ),
-               'ApcPrefixCollision_A_Bar',
-               '->loadClass() loads ApcPrefixCollision_A_Bar from alpha.',
-           ),
-           array(
-               array(
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-               ),
-               'ApcPrefixCollision_A_B_Foo',
-               '->loadClass() loads ApcPrefixCollision_A_B_Foo from beta.',
-           ),
-           array(
-               array(
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-               ),
-               'ApcPrefixCollision_A_B_Bar',
-               '->loadClass() loads ApcPrefixCollision_A_B_Bar from beta.',
-           ),
-       );
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php
deleted file mode 100644
index 9149e2e..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php
+++ /dev/null
@@ -1,228 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\UniversalClassLoader;
-
-/**
- * @group legacy
- */
-class LegacyUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-    }
-
-    /**
-     * @dataProvider getLoadClassTests
-     */
-    public function testLoadClass($className, $testClassName, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespace('Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $this->assertTrue($loader->loadClass($testClassName));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassTests()
-    {
-        return array(
-            array('\\Namespaced\\Foo', 'Namespaced\\Foo',   '->loadClass() loads Namespaced\Foo class'),
-            array('\\Pearlike_Foo',    'Pearlike_Foo',      '->loadClass() loads Pearlike_Foo class'),
-        );
-    }
-
-    public function testUseIncludePath()
-    {
-        $loader = new UniversalClassLoader();
-        $this->assertFalse($loader->getUseIncludePath());
-
-        $this->assertNull($loader->findFile('Foo'));
-
-        $includePath = get_include_path();
-
-        $loader->useIncludePath(true);
-        $this->assertTrue($loader->getUseIncludePath());
-
-        set_include_path(__DIR__.'/Fixtures/includepath'.PATH_SEPARATOR.$includePath);
-
-        $this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'includepath'.DIRECTORY_SEPARATOR.'Foo.php', $loader->findFile('Foo'));
-
-        set_include_path($includePath);
-    }
-
-    public function testGetNamespaces()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespace('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerNamespace('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerNamespace('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $namespaces = $loader->getNamespaces();
-        $this->assertArrayHasKey('Foo', $namespaces);
-        $this->assertArrayNotHasKey('Foo1', $namespaces);
-        $this->assertArrayHasKey('Bar', $namespaces);
-        $this->assertArrayHasKey('Bas', $namespaces);
-    }
-
-    public function testGetPrefixes()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $prefixes = $loader->getPrefixes();
-        $this->assertArrayHasKey('Foo', $prefixes);
-        $this->assertArrayNotHasKey('Foo1', $prefixes);
-        $this->assertArrayHasKey('Bar', $prefixes);
-        $this->assertArrayHasKey('Bas', $prefixes);
-    }
-
-    /**
-     * @dataProvider getLoadClassFromFallbackTests
-     */
-    public function testLoadClassFromFallback($className, $testClassName, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespace('Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerNamespaceFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'));
-        $loader->registerPrefixFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'));
-        $this->assertTrue($loader->loadClass($testClassName));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassFromFallbackTests()
-    {
-        return array(
-            array('\\Namespaced\\Baz',    'Namespaced\\Baz',    '->loadClass() loads Namespaced\Baz class'),
-            array('\\Pearlike_Baz',       'Pearlike_Baz',       '->loadClass() loads Pearlike_Baz class'),
-            array('\\Namespaced\\FooBar', 'Namespaced\\FooBar', '->loadClass() loads Namespaced\Baz class from fallback dir'),
-            array('\\Pearlike_FooBar',    'Pearlike_FooBar',    '->loadClass() loads Pearlike_Baz class from fallback dir'),
-        );
-    }
-
-    public function testRegisterPrefixFallback()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerPrefixFallback(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback');
-        $this->assertEquals(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'), $loader->getPrefixFallbacks());
-    }
-
-    public function testRegisterNamespaceFallback()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespaceFallback(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Namespaced/fallback');
-        $this->assertEquals(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Namespaced/fallback'), $loader->getNamespaceFallbacks());
-    }
-
-    /**
-     * @dataProvider getLoadClassNamespaceCollisionTests
-     */
-    public function testLoadClassNamespaceCollision($namespaces, $className, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespaces($namespaces);
-
-        $this->assertTrue($loader->loadClass($className));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassNamespaceCollisionTests()
-    {
-        return array(
-            array(
-                array(
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\A\Foo',
-                '->loadClass() loads NamespaceCollision\A\Foo from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\A\Bar',
-                '->loadClass() loads NamespaceCollision\A\Bar from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\A\B\Foo',
-                '->loadClass() loads NamespaceCollision\A\B\Foo from beta.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\A\B\Bar',
-                '->loadClass() loads NamespaceCollision\A\B\Bar from beta.',
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadClassPrefixCollisionTests
-     */
-    public function testLoadClassPrefixCollision($prefixes, $className, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerPrefixes($prefixes);
-
-        $this->assertTrue($loader->loadClass($className));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassPrefixCollisionTests()
-    {
-        return array(
-            array(
-                array(
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_A_Foo',
-                '->loadClass() loads PrefixCollision_A_Foo from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_A_Bar',
-                '->loadClass() loads PrefixCollision_A_Bar from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_A_B_Foo',
-                '->loadClass() loads PrefixCollision_A_B_Foo from beta.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_A_B_Bar',
-                '->loadClass() loads PrefixCollision_A_B_Bar from beta.',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php
deleted file mode 100644
index 21a7afb..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\Psr4ClassLoader;
-
-class Psr4ClassLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @param string $className
-     * @dataProvider getLoadClassTests
-     */
-    public function testLoadClass($className)
-    {
-        $loader = new Psr4ClassLoader();
-        $loader->addPrefix(
-            'Acme\\DemoLib',
-            __DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'psr-4'
-        );
-        $loader->loadClass($className);
-        $this->assertTrue(class_exists($className), sprintf('loadClass() should load %s', $className));
-    }
-
-    /**
-     * @return array
-     */
-    public function getLoadClassTests()
-    {
-        return array(
-            array('Acme\\DemoLib\\Foo'),
-            array('Acme\\DemoLib\\Class_With_Underscores'),
-            array('Acme\\DemoLib\\Lets\\Go\\Deeper\\Foo'),
-            array('Acme\\DemoLib\\Lets\\Go\\Deeper\\Class_With_Underscores'),
-        );
-    }
-
-    /**
-     * @param string $className
-     * @dataProvider getLoadNonexistentClassTests
-     */
-    public function testLoadNonexistentClass($className)
-    {
-        $loader = new Psr4ClassLoader();
-        $loader->addPrefix(
-            'Acme\\DemoLib',
-            __DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'psr-4'
-        );
-        $loader->loadClass($className);
-        $this->assertFalse(class_exists($className), sprintf('loadClass() should not load %s', $className));
-    }
-
-    /**
-     * @return array
-     */
-    public function getLoadNonexistentClassTests()
-    {
-        return array(
-            array('Acme\\DemoLib\\I_Do_Not_Exist'),
-            array('UnknownVendor\\SomeLib\\I_Do_Not_Exist'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php
deleted file mode 100644
index b664cab..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php
+++ /dev/null
@@ -1,320 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * UniversalClassLoader implements a "universal" autoloader for PHP 5.3.
- *
- * It is able to load classes that use either:
- *
- *  * The technical interoperability standards for PHP 5.3 namespaces and
- *    class names (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md);
- *
- *  * The PEAR naming convention for classes (http://pear.php.net/).
- *
- * Classes from a sub-namespace or a sub-hierarchy of PEAR classes can be
- * looked for in a list of locations to ease the vendoring of a sub-set of
- * classes for large projects.
- *
- * Example usage:
- *
- *     $loader = new UniversalClassLoader();
- *
- *     // register classes with namespaces
- *     $loader->registerNamespaces(array(
- *         'Symfony\Component' => __DIR__.'/component',
- *         'Symfony' => __DIR__.'/framework',
- *         'Sensio' => array(__DIR__.'/src', __DIR__.'/vendor'),
- *     ));
- *
- *     // register a library using the PEAR naming convention
- *     $loader->registerPrefixes(array(
- *         'Swift_' => __DIR__.'/Swift',
- *     ));
- *
- *
- *     // to enable searching the include path (e.g. for PEAR packages)
- *     $loader->useIncludePath(true);
- *
- *     // activate the autoloader
- *     $loader->register();
- *
- * In this example, if you try to use a class in the Symfony\Component
- * namespace or one of its children (Symfony\Component\Console for instance),
- * the autoloader will first look for the class under the component/
- * directory, and it will then fallback to the framework/ directory if not
- * found before giving up.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- *
- * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the ClassLoader class instead.
- */
-class UniversalClassLoader
-{
-    private $namespaces = array();
-    private $prefixes = array();
-    private $namespaceFallbacks = array();
-    private $prefixFallbacks = array();
-    private $useIncludePath = false;
-
-    /**
-     * Turns on searching the include for class files. Allows easy loading
-     * of installed PEAR packages.
-     *
-     * @param bool $useIncludePath
-     */
-    public function useIncludePath($useIncludePath)
-    {
-        $this->useIncludePath = (bool) $useIncludePath;
-    }
-
-    /**
-     * Can be used to check if the autoloader uses the include path to check
-     * for classes.
-     *
-     * @return bool
-     */
-    public function getUseIncludePath()
-    {
-        return $this->useIncludePath;
-    }
-
-    /**
-     * Gets the configured namespaces.
-     *
-     * @return array A hash with namespaces as keys and directories as values
-     */
-    public function getNamespaces()
-    {
-        return $this->namespaces;
-    }
-
-    /**
-     * Gets the configured class prefixes.
-     *
-     * @return array A hash with class prefixes as keys and directories as values
-     */
-    public function getPrefixes()
-    {
-        return $this->prefixes;
-    }
-
-    /**
-     * Gets the directory(ies) to use as a fallback for namespaces.
-     *
-     * @return array An array of directories
-     */
-    public function getNamespaceFallbacks()
-    {
-        return $this->namespaceFallbacks;
-    }
-
-    /**
-     * Gets the directory(ies) to use as a fallback for class prefixes.
-     *
-     * @return array An array of directories
-     */
-    public function getPrefixFallbacks()
-    {
-        return $this->prefixFallbacks;
-    }
-
-    /**
-     * Registers the directory to use as a fallback for namespaces.
-     *
-     * @param array $dirs An array of directories
-     *
-     * @api
-     */
-    public function registerNamespaceFallbacks(array $dirs)
-    {
-        $this->namespaceFallbacks = $dirs;
-    }
-
-    /**
-     * Registers a directory to use as a fallback for namespaces.
-     *
-     * @param string $dir A directory
-     */
-    public function registerNamespaceFallback($dir)
-    {
-        $this->namespaceFallbacks[] = $dir;
-    }
-
-    /**
-     * Registers directories to use as a fallback for class prefixes.
-     *
-     * @param array $dirs An array of directories
-     *
-     * @api
-     */
-    public function registerPrefixFallbacks(array $dirs)
-    {
-        $this->prefixFallbacks = $dirs;
-    }
-
-    /**
-     * Registers a directory to use as a fallback for class prefixes.
-     *
-     * @param string $dir A directory
-     */
-    public function registerPrefixFallback($dir)
-    {
-        $this->prefixFallbacks[] = $dir;
-    }
-
-    /**
-     * Registers an array of namespaces.
-     *
-     * @param array $namespaces An array of namespaces (namespaces as keys and locations as values)
-     *
-     * @api
-     */
-    public function registerNamespaces(array $namespaces)
-    {
-        foreach ($namespaces as $namespace => $locations) {
-            $this->namespaces[$namespace] = (array) $locations;
-        }
-    }
-
-    /**
-     * Registers a namespace.
-     *
-     * @param string       $namespace The namespace
-     * @param array|string $paths     The location(s) of the namespace
-     *
-     * @api
-     */
-    public function registerNamespace($namespace, $paths)
-    {
-        $this->namespaces[$namespace] = (array) $paths;
-    }
-
-    /**
-     * Registers an array of classes using the PEAR naming convention.
-     *
-     * @param array $classes An array of classes (prefixes as keys and locations as values)
-     *
-     * @api
-     */
-    public function registerPrefixes(array $classes)
-    {
-        foreach ($classes as $prefix => $locations) {
-            $this->prefixes[$prefix] = (array) $locations;
-        }
-    }
-
-    /**
-     * Registers a set of classes using the PEAR naming convention.
-     *
-     * @param string       $prefix The classes prefix
-     * @param array|string $paths  The location(s) of the classes
-     *
-     * @api
-     */
-    public function registerPrefix($prefix, $paths)
-    {
-        $this->prefixes[$prefix] = (array) $paths;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param bool $prepend Whether to prepend the autoloader or not
-     *
-     * @api
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Loads the given class or interface.
-     *
-     * @param string $class The name of the class
-     *
-     * @return bool|null True, if loaded
-     */
-    public function loadClass($class)
-    {
-        if ($file = $this->findFile($class)) {
-            require $file;
-
-            return true;
-        }
-    }
-
-    /**
-     * Finds the path to the file where the class is defined.
-     *
-     * @param string $class The name of the class
-     *
-     * @return string|null The path, if found
-     */
-    public function findFile($class)
-    {
-        if (false !== $pos = strrpos($class, '\\')) {
-            // namespaced class name
-            $namespace = substr($class, 0, $pos);
-            $className = substr($class, $pos + 1);
-            $normalizedClass = str_replace('\\', DIRECTORY_SEPARATOR, $namespace).DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $className).'.php';
-            foreach ($this->namespaces as $ns => $dirs) {
-                if (0 !== strpos($namespace, $ns)) {
-                    continue;
-                }
-
-                foreach ($dirs as $dir) {
-                    $file = $dir.DIRECTORY_SEPARATOR.$normalizedClass;
-                    if (is_file($file)) {
-                        return $file;
-                    }
-                }
-            }
-
-            foreach ($this->namespaceFallbacks as $dir) {
-                $file = $dir.DIRECTORY_SEPARATOR.$normalizedClass;
-                if (is_file($file)) {
-                    return $file;
-                }
-            }
-        } else {
-            // PEAR-like class name
-            $normalizedClass = str_replace('_', DIRECTORY_SEPARATOR, $class).'.php';
-            foreach ($this->prefixes as $prefix => $dirs) {
-                if (0 !== strpos($class, $prefix)) {
-                    continue;
-                }
-
-                foreach ($dirs as $dir) {
-                    $file = $dir.DIRECTORY_SEPARATOR.$normalizedClass;
-                    if (is_file($file)) {
-                        return $file;
-                    }
-                }
-            }
-
-            foreach ($this->prefixFallbacks as $dir) {
-                $file = $dir.DIRECTORY_SEPARATOR.$normalizedClass;
-                if (is_file($file)) {
-                    return $file;
-                }
-            }
-        }
-
-        if ($this->useIncludePath && $file = stream_resolve_include_path($normalizedClass)) {
-            return $file;
-        }
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/WinCacheClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/WinCacheClassLoader.php
deleted file mode 100644
index 0fc11d0..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/WinCacheClassLoader.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * WinCacheClassLoader implements a wrapping autoloader cached in WinCache.
- *
- * It expects an object implementing a findFile method to find the file. This
- * allow using it as a wrapper around the other loaders of the component (the
- * ClassLoader and the UniversalClassLoader for instance) but also around any
- * other autoloaders following this convention (the Composer one for instance).
- *
- *     // with a Symfony autoloader
- *     use Symfony\Component\ClassLoader\ClassLoader;
- *
- *     $loader = new ClassLoader();
- *     $loader->addPrefix('Symfony\Component', __DIR__.'/component');
- *     $loader->addPrefix('Symfony',           __DIR__.'/framework');
- *
- *     // or with a Composer autoloader
- *     use Composer\Autoload\ClassLoader;
- *
- *     $loader = new ClassLoader();
- *     $loader->add('Symfony\Component', __DIR__.'/component');
- *     $loader->add('Symfony',           __DIR__.'/framework');
- *
- *     $cachedLoader = new WinCacheClassLoader('my_prefix', $loader);
- *
- *     // activate the cached autoloader
- *     $cachedLoader->register();
- *
- *     // eventually deactivate the non-cached loader if it was registered previously
- *     // to be sure to use the cached one.
- *     $loader->unregister();
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Kris Wallsmith <kris@symfony.com>
- * @author Artem Ryzhkov <artem@smart-core.org>
- */
-class WinCacheClassLoader
-{
-    private $prefix;
-
-    /**
-     * A class loader object that implements the findFile() method.
-     *
-     * @var object
-     */
-    protected $decorated;
-
-    /**
-     * Constructor.
-     *
-     * @param string $prefix    The WinCache namespace prefix to use.
-     * @param object $decorated A class loader object that implements the findFile() method.
-     *
-     * @throws \RuntimeException
-     * @throws \InvalidArgumentException
-     */
-    public function __construct($prefix, $decorated)
-    {
-        if (!extension_loaded('wincache')) {
-            throw new \RuntimeException('Unable to use WinCacheClassLoader as WinCache is not enabled.');
-        }
-
-        if (!method_exists($decorated, 'findFile')) {
-            throw new \InvalidArgumentException('The class finder must implement a "findFile" method.');
-        }
-
-        $this->prefix = $prefix;
-        $this->decorated = $decorated;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param bool $prepend Whether to prepend the autoloader or not
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Unregisters this instance as an autoloader.
-     */
-    public function unregister()
-    {
-        spl_autoload_unregister(array($this, 'loadClass'));
-    }
-
-    /**
-     * Loads the given class or interface.
-     *
-     * @param string $class The name of the class
-     *
-     * @return bool|null True, if loaded
-     */
-    public function loadClass($class)
-    {
-        if ($file = $this->findFile($class)) {
-            require $file;
-
-            return true;
-        }
-    }
-
-    /**
-     * Finds a file by class name while caching lookups to WinCache.
-     *
-     * @param string $class A class name to resolve to file
-     *
-     * @return string|null
-     */
-    public function findFile($class)
-    {
-        if (false === $file = wincache_ucache_get($this->prefix.$class)) {
-            wincache_ucache_set($this->prefix.$class, $file = $this->decorated->findFile($class), 0);
-        }
-
-        return $file;
-    }
-
-    /**
-     * Passes through all unknown calls onto the decorated object.
-     */
-    public function __call($method, $args)
-    {
-        return call_user_func_array(array($this->decorated, $method), $args);
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/XcacheClassLoader.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/XcacheClassLoader.php
deleted file mode 100644
index 19c1303..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/XcacheClassLoader.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader;
-
-/**
- * XcacheClassLoader implements a wrapping autoloader cached in XCache for PHP 5.3.
- *
- * It expects an object implementing a findFile method to find the file. This
- * allows using it as a wrapper around the other loaders of the component (the
- * ClassLoader and the UniversalClassLoader for instance) but also around any
- * other autoloaders following this convention (the Composer one for instance).
- *
- *     // with a Symfony autoloader
- *     use Symfony\Component\ClassLoader\ClassLoader;
- *
- *     $loader = new ClassLoader();
- *     $loader->addPrefix('Symfony\Component', __DIR__.'/component');
- *     $loader->addPrefix('Symfony',           __DIR__.'/framework');
- *
- *     // or with a Composer autoloader
- *     use Composer\Autoload\ClassLoader;
- *
- *     $loader = new ClassLoader();
- *     $loader->add('Symfony\Component', __DIR__.'/component');
- *     $loader->add('Symfony',           __DIR__.'/framework');
- *
- *     $cachedLoader = new XcacheClassLoader('my_prefix', $loader);
- *
- *     // activate the cached autoloader
- *     $cachedLoader->register();
- *
- *     // eventually deactivate the non-cached loader if it was registered previously
- *     // to be sure to use the cached one.
- *     $loader->unregister();
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Kris Wallsmith <kris@symfony.com>
- * @author Kim Hemsø Rasmussen <kimhemsoe@gmail.com>
- *
- * @api
- */
-class XcacheClassLoader
-{
-    private $prefix;
-
-    /**
-     * A class loader object that implements the findFile() method.
-     *
-     * @var object
-     */
-    private $decorated;
-
-    /**
-     * Constructor.
-     *
-     * @param string $prefix    The XCache namespace prefix to use.
-     * @param object $decorated A class loader object that implements the findFile() method.
-     *
-     * @throws \RuntimeException
-     * @throws \InvalidArgumentException
-     *
-     * @api
-     */
-    public function __construct($prefix, $decorated)
-    {
-        if (!extension_loaded('xcache')) {
-            throw new \RuntimeException('Unable to use XcacheClassLoader as XCache is not enabled.');
-        }
-
-        if (!method_exists($decorated, 'findFile')) {
-            throw new \InvalidArgumentException('The class finder must implement a "findFile" method.');
-        }
-
-        $this->prefix = $prefix;
-        $this->decorated = $decorated;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param bool $prepend Whether to prepend the autoloader or not
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Unregisters this instance as an autoloader.
-     */
-    public function unregister()
-    {
-        spl_autoload_unregister(array($this, 'loadClass'));
-    }
-
-    /**
-     * Loads the given class or interface.
-     *
-     * @param string $class The name of the class
-     *
-     * @return bool|null True, if loaded
-     */
-    public function loadClass($class)
-    {
-        if ($file = $this->findFile($class)) {
-            require $file;
-
-            return true;
-        }
-    }
-
-    /**
-     * Finds a file by class name while caching lookups to Xcache.
-     *
-     * @param string $class A class name to resolve to file
-     *
-     * @return string|null
-     */
-    public function findFile($class)
-    {
-        if (xcache_isset($this->prefix.$class)) {
-            $file = xcache_get($this->prefix.$class);
-        } else {
-            $file = $this->decorated->findFile($class);
-            xcache_set($this->prefix.$class, $file);
-        }
-
-        return $file;
-    }
-
-    /**
-     * Passes through all unknown calls onto the decorated object.
-     */
-    public function __call($method, $args)
-    {
-        return call_user_func_array(array($this->decorated, $method), $args);
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json
deleted file mode 100644
index 7599de3..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "name": "symfony/class-loader",
-    "type": "library",
-    "description": "Symfony ClassLoader Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "minimum-stability": "dev",
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7",
-        "symfony/finder": "~2.0,>=2.0.5"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\ClassLoader\\": "" }
-    },
-    "target-dir": "Symfony/Component/ClassLoader",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist
deleted file mode 100644
index a1b6c82..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist
+++ /dev/null
@@ -1,28 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony ClassLoader Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/.gitignore b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CHANGELOG.md b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CHANGELOG.md
deleted file mode 100644
index be10abe..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CHANGELOG.md
+++ /dev/null
@@ -1,7 +0,0 @@
-CHANGELOG
-=========
-
-2.1.0
------
-
- * none
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CssSelector.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CssSelector.php
deleted file mode 100644
index 82c9283..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CssSelector.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector;
-
-use Symfony\Component\CssSelector\Parser\Shortcut\ClassParser;
-use Symfony\Component\CssSelector\Parser\Shortcut\ElementParser;
-use Symfony\Component\CssSelector\Parser\Shortcut\EmptyStringParser;
-use Symfony\Component\CssSelector\Parser\Shortcut\HashParser;
-use Symfony\Component\CssSelector\XPath\Extension\HtmlExtension;
-use Symfony\Component\CssSelector\XPath\Translator;
-
-/**
- * CssSelector is the main entry point of the component and can convert CSS
- * selectors to XPath expressions.
- *
- * $xpath = CssSelector::toXpath('h1.foo');
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * Copyright (c) 2007-2012 Ian Bicking and contributors. See AUTHORS
- * for more details.
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. 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.
- *
- * 3. Neither the name of Ian Bicking 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 IAN BICKING 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 Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class CssSelector
-{
-    private static $html = true;
-
-    /**
-     * Translates a CSS expression to its XPath equivalent.
-     * Optionally, a prefix can be added to the resulting XPath
-     * expression with the $prefix parameter.
-     *
-     * @param mixed  $cssExpr The CSS expression.
-     * @param string $prefix  An optional prefix for the XPath expression.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public static function toXPath($cssExpr, $prefix = 'descendant-or-self::')
-    {
-        $translator = new Translator();
-
-        if (self::$html) {
-            $translator->registerExtension(new HtmlExtension($translator));
-        }
-
-        $translator
-            ->registerParserShortcut(new EmptyStringParser())
-            ->registerParserShortcut(new ElementParser())
-            ->registerParserShortcut(new ClassParser())
-            ->registerParserShortcut(new HashParser())
-        ;
-
-        return $translator->cssToXPath($cssExpr, $prefix);
-    }
-
-    /**
-     * Enables the HTML extension.
-     */
-    public static function enableHtmlExtension()
-    {
-        self::$html = true;
-    }
-
-    /**
-     * Disables the HTML extension.
-     */
-    public static function disableHtmlExtension()
-    {
-        self::$html = false;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExceptionInterface.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExceptionInterface.php
deleted file mode 100644
index e4c5ae1..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Exception;
-
-/**
- * Interface for exceptions.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExpressionErrorException.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExpressionErrorException.php
deleted file mode 100644
index fd5deea..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExpressionErrorException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Exception;
-
-/**
- * ParseException is thrown when a CSS selector syntax is not valid.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class ExpressionErrorException extends ParseException
-{
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/InternalErrorException.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/InternalErrorException.php
deleted file mode 100644
index e60e5ed..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/InternalErrorException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Exception;
-
-/**
- * ParseException is thrown when a CSS selector syntax is not valid.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class InternalErrorException extends ParseException
-{
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ParseException.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ParseException.php
deleted file mode 100644
index 3b0b0ee..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ParseException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Exception;
-
-/**
- * ParseException is thrown when a CSS selector syntax is not valid.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ParseException extends \Exception implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/SyntaxErrorException.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/SyntaxErrorException.php
deleted file mode 100644
index 418bc30..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/SyntaxErrorException.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Exception;
-
-use Symfony\Component\CssSelector\Parser\Token;
-
-/**
- * ParseException is thrown when a CSS selector syntax is not valid.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class SyntaxErrorException extends ParseException
-{
-    /**
-     * @param string $expectedValue
-     * @param Token  $foundToken
-     *
-     * @return SyntaxErrorException
-     */
-    public static function unexpectedToken($expectedValue, Token $foundToken)
-    {
-        return new self(sprintf('Expected %s, but %s found.', $expectedValue, $foundToken));
-    }
-
-    /**
-     * @param string $pseudoElement
-     * @param string $unexpectedLocation
-     *
-     * @return SyntaxErrorException
-     */
-    public static function pseudoElementFound($pseudoElement, $unexpectedLocation)
-    {
-        return new self(sprintf('Unexpected pseudo-element "::%s" found %s.', $pseudoElement, $unexpectedLocation));
-    }
-
-    /**
-     * @param int $position
-     *
-     * @return SyntaxErrorException
-     */
-    public static function unclosedString($position)
-    {
-        return new self(sprintf('Unclosed/invalid string at %s.', $position));
-    }
-
-    /**
-     * @return SyntaxErrorException
-     */
-    public static function nestedNot()
-    {
-        return new self('Got nested ::not().');
-    }
-
-    /**
-     * @return SyntaxErrorException
-     */
-    public static function stringAsFunctionArgument()
-    {
-        return new self('String not allowed as function argument.');
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/LICENSE b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/css-selector/Symfony/Component/CssSelector/Node/AbstractNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AbstractNode.php
deleted file mode 100644
index b1c8e95..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AbstractNode.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Abstract base node class.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-abstract class AbstractNode implements NodeInterface
-{
-    /**
-     * @var string
-     */
-    private $nodeName;
-
-    /**
-     * @return string
-     */
-    public function getNodeName()
-    {
-        if (null === $this->nodeName) {
-            $this->nodeName = preg_replace('~.*\\\\([^\\\\]+)Node$~', '$1', get_called_class());
-        }
-
-        return $this->nodeName;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AttributeNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AttributeNode.php
deleted file mode 100644
index b10a4dd..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AttributeNode.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a "<selector>[<namespace>|<attribute> <operator> <value>]" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class AttributeNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $selector;
-
-    /**
-     * @var string
-     */
-    private $namespace;
-
-    /**
-     * @var string
-     */
-    private $attribute;
-
-    /**
-     * @var string
-     */
-    private $operator;
-
-    /**
-     * @var string
-     */
-    private $value;
-
-    /**
-     * @param NodeInterface $selector
-     * @param string        $namespace
-     * @param string        $attribute
-     * @param string        $operator
-     * @param string        $value
-     */
-    public function __construct(NodeInterface $selector, $namespace, $attribute, $operator, $value)
-    {
-        $this->selector = $selector;
-        $this->namespace = $namespace;
-        $this->attribute = $attribute;
-        $this->operator = $operator;
-        $this->value = $value;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSelector()
-    {
-        return $this->selector;
-    }
-
-    /**
-     * @return string
-     */
-    public function getNamespace()
-    {
-        return $this->namespace;
-    }
-
-    /**
-     * @return string
-     */
-    public function getAttribute()
-    {
-        return $this->attribute;
-    }
-
-    /**
-     * @return string
-     */
-    public function getOperator()
-    {
-        return $this->operator;
-    }
-
-    /**
-     * @return string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        $attribute = $this->namespace ? $this->namespace.'|'.$this->attribute : $this->attribute;
-
-        return 'exists' === $this->operator
-            ? sprintf('%s[%s[%s]]', $this->getNodeName(), $this->selector, $attribute)
-            : sprintf("%s[%s[%s %s '%s']]", $this->getNodeName(), $this->selector, $attribute, $this->operator, $this->value);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ClassNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ClassNode.php
deleted file mode 100644
index 544342f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ClassNode.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a "<selector>.<name>" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class ClassNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $selector;
-
-    /**
-     * @var string
-     */
-    private $name;
-
-    /**
-     * @param NodeInterface $selector
-     * @param string        $name
-     */
-    public function __construct(NodeInterface $selector, $name)
-    {
-        $this->selector = $selector;
-        $this->name = $name;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSelector()
-    {
-        return $this->selector;
-    }
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return sprintf('%s[%s.%s]', $this->getNodeName(), $this->selector, $this->name);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php
deleted file mode 100644
index 6d00db4..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a combined node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class CombinedSelectorNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $selector;
-
-    /**
-     * @var string
-     */
-    private $combinator;
-
-    /**
-     * @var NodeInterface
-     */
-    private $subSelector;
-
-    /**
-     * @param NodeInterface $selector
-     * @param string        $combinator
-     * @param NodeInterface $subSelector
-     */
-    public function __construct(NodeInterface $selector, $combinator, NodeInterface $subSelector)
-    {
-        $this->selector = $selector;
-        $this->combinator = $combinator;
-        $this->subSelector = $subSelector;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSelector()
-    {
-        return $this->selector;
-    }
-
-    /**
-     * @return string
-     */
-    public function getCombinator()
-    {
-        return $this->combinator;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSubSelector()
-    {
-        return $this->subSelector;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->selector->getSpecificity()->plus($this->subSelector->getSpecificity());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        $combinator = ' ' === $this->combinator ? '<followed>' : $this->combinator;
-
-        return sprintf('%s[%s %s %s]', $this->getNodeName(), $this->selector, $combinator, $this->subSelector);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ElementNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ElementNode.php
deleted file mode 100644
index 71ef121..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ElementNode.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a "<namespace>|<element>" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class ElementNode extends AbstractNode
-{
-    /**
-     * @var string|null
-     */
-    private $namespace;
-
-    /**
-     * @var string|null
-     */
-    private $element;
-
-    /**
-     * @param string|null $namespace
-     * @param string|null $element
-     */
-    public function __construct($namespace = null, $element = null)
-    {
-        $this->namespace = $namespace;
-        $this->element = $element;
-    }
-
-    /**
-     * @return null|string
-     */
-    public function getNamespace()
-    {
-        return $this->namespace;
-    }
-
-    /**
-     * @return null|string
-     */
-    public function getElement()
-    {
-        return $this->element;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return new Specificity(0, 0, $this->element ? 1 : 0);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        $element = $this->element ?: '*';
-
-        return sprintf('%s[%s]', $this->getNodeName(), $this->namespace ? $this->namespace.'|'.$element : $element);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/FunctionNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/FunctionNode.php
deleted file mode 100644
index f94af8d..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/FunctionNode.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-use Symfony\Component\CssSelector\Parser\Token;
-
-/**
- * Represents a "<selector>:<name>(<arguments>)" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class FunctionNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $selector;
-
-    /**
-     * @var string
-     */
-    private $name;
-
-    /**
-     * @var Token[]
-     */
-    private $arguments;
-
-    /**
-     * @param NodeInterface $selector
-     * @param string        $name
-     * @param Token[]       $arguments
-     */
-    public function __construct(NodeInterface $selector, $name, array $arguments = array())
-    {
-        $this->selector = $selector;
-        $this->name = strtolower($name);
-        $this->arguments = $arguments;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSelector()
-    {
-        return $this->selector;
-    }
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * @return Token[]
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        $arguments = implode(', ', array_map(function (Token $token) {
-            return "'".$token->getValue()."'";
-        }, $this->arguments));
-
-        return sprintf('%s[%s:%s(%s)]', $this->getNodeName(), $this->selector, $this->name, $arguments ? '['.$arguments.']' : '');
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/HashNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/HashNode.php
deleted file mode 100644
index ddbe764..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/HashNode.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a "<selector>#<id>" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class HashNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $selector;
-
-    /**
-     * @var string
-     */
-    private $id;
-
-    /**
-     * @param NodeInterface $selector
-     * @param string        $id
-     */
-    public function __construct(NodeInterface $selector, $id)
-    {
-        $this->selector = $selector;
-        $this->id = $id;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSelector()
-    {
-        return $this->selector;
-    }
-
-    /**
-     * @return string
-     */
-    public function getId()
-    {
-        return $this->id;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->selector->getSpecificity()->plus(new Specificity(1, 0, 0));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return sprintf('%s[%s#%s]', $this->getNodeName(), $this->selector, $this->id);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NegationNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NegationNode.php
deleted file mode 100644
index 0fafb0a..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NegationNode.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a "<selector>:not(<identifier>)" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class NegationNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $selector;
-
-    /**
-     * @var NodeInterface
-     */
-    private $subSelector;
-
-    /**
-     * @param NodeInterface $selector
-     * @param NodeInterface $subSelector
-     */
-    public function __construct(NodeInterface $selector, NodeInterface $subSelector)
-    {
-        $this->selector = $selector;
-        $this->subSelector = $subSelector;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSelector()
-    {
-        return $this->selector;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSubSelector()
-    {
-        return $this->subSelector;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->selector->getSpecificity()->plus($this->subSelector->getSpecificity());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return sprintf('%s[%s:not(%s)]', $this->getNodeName(), $this->selector, $this->subSelector);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NodeInterface.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NodeInterface.php
deleted file mode 100644
index dd300e2..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NodeInterface.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Interface for nodes.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-interface NodeInterface
-{
-    /**
-     * Returns node's name.
-     *
-     * @return string
-     */
-    public function getNodeName();
-
-    /**
-     * Returns node's specificity.
-     *
-     * @return Specificity
-     */
-    public function getSpecificity();
-
-    /**
-     * Returns node's string representation.
-     *
-     * @return string
-     */
-    public function __toString();
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/PseudoNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/PseudoNode.php
deleted file mode 100644
index 0e413ad..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/PseudoNode.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a "<selector>:<identifier>" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class PseudoNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $selector;
-
-    /**
-     * @var string
-     */
-    private $identifier;
-
-    /**
-     * @param NodeInterface $selector
-     * @param string        $identifier
-     */
-    public function __construct(NodeInterface $selector, $identifier)
-    {
-        $this->selector = $selector;
-        $this->identifier = strtolower($identifier);
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getSelector()
-    {
-        return $this->selector;
-    }
-
-    /**
-     * @return string
-     */
-    public function getIdentifier()
-    {
-        return $this->identifier;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return sprintf('%s[%s:%s]', $this->getNodeName(), $this->selector, $this->identifier);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/SelectorNode.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/SelectorNode.php
deleted file mode 100644
index 4958da5..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/SelectorNode.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a "<selector>(::|:)<pseudoElement>" node.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class SelectorNode extends AbstractNode
-{
-    /**
-     * @var NodeInterface
-     */
-    private $tree;
-
-    /**
-     * @var null|string
-     */
-    private $pseudoElement;
-
-    /**
-     * @param NodeInterface $tree
-     * @param null|string   $pseudoElement
-     */
-    public function __construct(NodeInterface $tree, $pseudoElement = null)
-    {
-        $this->tree = $tree;
-        $this->pseudoElement = $pseudoElement ? strtolower($pseudoElement) : null;
-    }
-
-    /**
-     * @return NodeInterface
-     */
-    public function getTree()
-    {
-        return $this->tree;
-    }
-
-    /**
-     * @return null|string
-     */
-    public function getPseudoElement()
-    {
-        return $this->pseudoElement;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSpecificity()
-    {
-        return $this->tree->getSpecificity()->plus(new Specificity(0, 0, $this->pseudoElement ? 1 : 0));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return sprintf('%s[%s%s]', $this->getNodeName(), $this->tree, $this->pseudoElement ? '::'.$this->pseudoElement : '');
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/Specificity.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/Specificity.php
deleted file mode 100644
index 0dfec3b..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/Specificity.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Node;
-
-/**
- * Represents a node specificity.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @see http://www.w3.org/TR/selectors/#specificity
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class Specificity
-{
-    const A_FACTOR = 100;
-    const B_FACTOR = 10;
-    const C_FACTOR = 1;
-
-    /**
-     * @var int
-     */
-    private $a;
-
-    /**
-     * @var int
-     */
-    private $b;
-
-    /**
-     * @var int
-     */
-    private $c;
-
-    /**
-     * Constructor.
-     *
-     * @param int $a
-     * @param int $b
-     * @param int $c
-     */
-    public function __construct($a, $b, $c)
-    {
-        $this->a = $a;
-        $this->b = $b;
-        $this->c = $c;
-    }
-
-    /**
-     * @param Specificity $specificity
-     *
-     * @return Specificity
-     */
-    public function plus(Specificity $specificity)
-    {
-        return new self($this->a + $specificity->a, $this->b + $specificity->b, $this->c + $specificity->c);
-    }
-
-    /**
-     * Returns global specificity value.
-     *
-     * @return int
-     */
-    public function getValue()
-    {
-        return $this->a * self::A_FACTOR + $this->b * self::B_FACTOR + $this->c * self::C_FACTOR;
-    }
-
-    /**
-     * Returns -1 if the object specificity is lower than the argument,
-     * 0 if they are equal, and 1 if the argument is lower
-     *
-     * @param Specificity $specificity
-     *
-     * @return int
-     */
-    public function compareTo(Specificity $specificity)
-    {
-        if ($this->a !== $specificity->a) {
-            return $this->a > $specificity->a ? 1 : -1;
-        }
-
-        if ($this->b !== $specificity->b) {
-            return $this->b > $specificity->b ? 1 : -1;
-        }
-
-        if ($this->c !== $specificity->c) {
-            return $this->c > $specificity->c ? 1 : -1;
-        }
-
-        return 0;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/CommentHandler.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/CommentHandler.php
deleted file mode 100644
index f480776..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/CommentHandler.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-
-/**
- * CSS selector comment handler.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class CommentHandler implements HandlerInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(Reader $reader, TokenStream $stream)
-    {
-        if ('/*' !== $reader->getSubstring(2)) {
-            return false;
-        }
-
-        $offset = $reader->getOffset('*/');
-
-        if (false === $offset) {
-            $reader->moveToEnd();
-        } else {
-            $reader->moveForward($offset + 2);
-        }
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HandlerInterface.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HandlerInterface.php
deleted file mode 100644
index 049ddd3..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HandlerInterface.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-
-/**
- * CSS selector handler interface.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-interface HandlerInterface
-{
-    /**
-     * @param Reader      $reader
-     * @param TokenStream $stream
-     *
-     * @return bool
-     */
-    public function handle(Reader $reader, TokenStream $stream);
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HashHandler.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HashHandler.php
deleted file mode 100644
index b144223..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HashHandler.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-
-/**
- * CSS selector comment handler.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class HashHandler implements HandlerInterface
-{
-    /**
-     * @var TokenizerPatterns
-     */
-    private $patterns;
-
-    /**
-     * @var TokenizerEscaping
-     */
-    private $escaping;
-
-    /**
-     * @param TokenizerPatterns $patterns
-     * @param TokenizerEscaping $escaping
-     */
-    public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
-    {
-        $this->patterns = $patterns;
-        $this->escaping = $escaping;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(Reader $reader, TokenStream $stream)
-    {
-        $match = $reader->findPattern($this->patterns->getHashPattern());
-
-        if (!$match) {
-            return false;
-        }
-
-        $value = $this->escaping->escapeUnicode($match[1]);
-        $stream->push(new Token(Token::TYPE_HASH, $value, $reader->getPosition()));
-        $reader->moveForward(strlen($match[0]));
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/IdentifierHandler.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/IdentifierHandler.php
deleted file mode 100644
index 86739ea..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/IdentifierHandler.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-
-/**
- * CSS selector comment handler.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class IdentifierHandler implements HandlerInterface
-{
-    /**
-     * @var TokenizerPatterns
-     */
-    private $patterns;
-
-    /**
-     * @var TokenizerEscaping
-     */
-    private $escaping;
-
-    /**
-     * @param TokenizerPatterns $patterns
-     * @param TokenizerEscaping $escaping
-     */
-    public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
-    {
-        $this->patterns = $patterns;
-        $this->escaping = $escaping;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(Reader $reader, TokenStream $stream)
-    {
-        $match = $reader->findPattern($this->patterns->getIdentifierPattern());
-
-        if (!$match) {
-            return false;
-        }
-
-        $value = $this->escaping->escapeUnicode($match[0]);
-        $stream->push(new Token(Token::TYPE_IDENTIFIER, $value, $reader->getPosition()));
-        $reader->moveForward(strlen($match[0]));
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/NumberHandler.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/NumberHandler.php
deleted file mode 100644
index 97a9387..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/NumberHandler.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-
-/**
- * CSS selector comment handler.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class NumberHandler implements HandlerInterface
-{
-    /**
-     * @var TokenizerPatterns
-     */
-    private $patterns;
-
-    /**
-     * @param TokenizerPatterns $patterns
-     */
-    public function __construct(TokenizerPatterns $patterns)
-    {
-        $this->patterns = $patterns;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(Reader $reader, TokenStream $stream)
-    {
-        $match = $reader->findPattern($this->patterns->getNumberPattern());
-
-        if (!$match) {
-            return false;
-        }
-
-        $stream->push(new Token(Token::TYPE_NUMBER, $match[0], $reader->getPosition()));
-        $reader->moveForward(strlen($match[0]));
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php
deleted file mode 100644
index 9f7a594..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Handler;
-
-use Symfony\Component\CssSelector\Exception\InternalErrorException;
-use Symfony\Component\CssSelector\Exception\SyntaxErrorException;
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-
-/**
- * CSS selector comment handler.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class StringHandler implements HandlerInterface
-{
-    /**
-     * @var TokenizerPatterns
-     */
-    private $patterns;
-
-    /**
-     * @var TokenizerEscaping
-     */
-    private $escaping;
-
-    /**
-     * @param TokenizerPatterns $patterns
-     * @param TokenizerEscaping $escaping
-     */
-    public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
-    {
-        $this->patterns = $patterns;
-        $this->escaping = $escaping;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(Reader $reader, TokenStream $stream)
-    {
-        $quote = $reader->getSubstring(1);
-
-        if (!in_array($quote, array("'", '"'))) {
-            return false;
-        }
-
-        $reader->moveForward(1);
-        $match = $reader->findPattern($this->patterns->getQuotedStringPattern($quote));
-
-        if (!$match) {
-            throw new InternalErrorException(sprintf('Should have found at least an empty match at %s.', $reader->getPosition()));
-        }
-
-        // check unclosed strings
-        if (strlen($match[0]) === $reader->getRemainingLength()) {
-            throw SyntaxErrorException::unclosedString($reader->getPosition() - 1);
-        }
-
-        // check quotes pairs validity
-        if ($quote !== $reader->getSubstring(1, strlen($match[0]))) {
-            throw SyntaxErrorException::unclosedString($reader->getPosition() - 1);
-        }
-
-        $string = $this->escaping->escapeUnicodeAndNewLine($match[0]);
-        $stream->push(new Token(Token::TYPE_STRING, $string, $reader->getPosition()));
-        $reader->moveForward(strlen($match[0]) + 1);
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/WhitespaceHandler.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/WhitespaceHandler.php
deleted file mode 100644
index 234bbd8..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/WhitespaceHandler.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-
-/**
- * CSS selector whitespace handler.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class WhitespaceHandler implements HandlerInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(Reader $reader, TokenStream $stream)
-    {
-        $match = $reader->findPattern('~^[ \t\r\n\f]+~');
-
-        if (false === $match) {
-            return false;
-        }
-
-        $stream->push(new Token(Token::TYPE_WHITESPACE, $match[0], $reader->getPosition()));
-        $reader->moveForward(strlen($match[0]));
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Parser.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Parser.php
deleted file mode 100644
index 9625e3e..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Parser.php
+++ /dev/null
@@ -1,399 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser;
-
-use Symfony\Component\CssSelector\Exception\SyntaxErrorException;
-use Symfony\Component\CssSelector\Node;
-use Symfony\Component\CssSelector\Parser\Tokenizer\Tokenizer;
-
-/**
- * CSS selector parser.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class Parser implements ParserInterface
-{
-    /**
-     * @var Tokenizer
-     */
-    private $tokenizer;
-
-    /**
-     * Constructor.
-     *
-     * @param null|Tokenizer $tokenizer
-     */
-    public function __construct(Tokenizer $tokenizer = null)
-    {
-        $this->tokenizer = $tokenizer ?: new Tokenizer();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function parse($source)
-    {
-        $reader = new Reader($source);
-        $stream = $this->tokenizer->tokenize($reader);
-
-        return $this->parseSelectorList($stream);
-    }
-
-    /**
-     * Parses the arguments for ":nth-child()" and friends.
-     *
-     * @param Token[] $tokens
-     *
-     * @throws SyntaxErrorException
-     *
-     * @return array
-     */
-    public static function parseSeries(array $tokens)
-    {
-        foreach ($tokens as $token) {
-            if ($token->isString()) {
-                throw SyntaxErrorException::stringAsFunctionArgument();
-            }
-        }
-
-        $joined = trim(implode('', array_map(function (Token $token) {
-            return $token->getValue();
-        }, $tokens)));
-
-        $int = function ($string) {
-            if (!is_numeric($string)) {
-                throw SyntaxErrorException::stringAsFunctionArgument();
-            }
-
-            return (int) $string;
-        };
-
-        switch (true) {
-            case 'odd' === $joined:
-                return array(2, 1);
-            case 'even' === $joined:
-                return array(2, 0);
-            case 'n' === $joined:
-                return array(1, 0);
-            case false === strpos($joined, 'n'):
-                return array(0, $int($joined));
-        }
-
-        $split = explode('n', $joined);
-        $first = isset($split[0]) ? $split[0] : null;
-
-        return array(
-            $first ? ('-' === $first || '+' === $first ? $int($first.'1') : $int($first)) : 1,
-            isset($split[1]) && $split[1] ? $int($split[1]) : 0,
-        );
-    }
-
-    /**
-     * Parses selector nodes.
-     *
-     * @param TokenStream $stream
-     *
-     * @return array
-     */
-    private function parseSelectorList(TokenStream $stream)
-    {
-        $stream->skipWhitespace();
-        $selectors = array();
-
-        while (true) {
-            $selectors[] = $this->parserSelectorNode($stream);
-
-            if ($stream->getPeek()->isDelimiter(array(','))) {
-                $stream->getNext();
-                $stream->skipWhitespace();
-            } else {
-                break;
-            }
-        }
-
-        return $selectors;
-    }
-
-    /**
-     * Parses next selector or combined node.
-     *
-     * @param TokenStream $stream
-     *
-     * @throws SyntaxErrorException
-     *
-     * @return Node\SelectorNode
-     */
-    private function parserSelectorNode(TokenStream $stream)
-    {
-        list($result, $pseudoElement) = $this->parseSimpleSelector($stream);
-
-        while (true) {
-            $stream->skipWhitespace();
-            $peek = $stream->getPeek();
-
-            if ($peek->isFileEnd() || $peek->isDelimiter(array(','))) {
-                break;
-            }
-
-            if (null !== $pseudoElement) {
-                throw SyntaxErrorException::pseudoElementFound($pseudoElement, 'not at the end of a selector');
-            }
-
-            if ($peek->isDelimiter(array('+', '>', '~'))) {
-                $combinator = $stream->getNext()->getValue();
-                $stream->skipWhitespace();
-            } else {
-                $combinator = ' ';
-            }
-
-            list($nextSelector, $pseudoElement) = $this->parseSimpleSelector($stream);
-            $result = new Node\CombinedSelectorNode($result, $combinator, $nextSelector);
-        }
-
-        return new Node\SelectorNode($result, $pseudoElement);
-    }
-
-    /**
-     * Parses next simple node (hash, class, pseudo, negation).
-     *
-     * @param TokenStream $stream
-     * @param bool        $insideNegation
-     *
-     * @throws SyntaxErrorException
-     *
-     * @return array
-     */
-    private function parseSimpleSelector(TokenStream $stream, $insideNegation = false)
-    {
-        $stream->skipWhitespace();
-
-        $selectorStart = count($stream->getUsed());
-        $result = $this->parseElementNode($stream);
-        $pseudoElement = null;
-
-        while (true) {
-            $peek = $stream->getPeek();
-            if ($peek->isWhitespace()
-                || $peek->isFileEnd()
-                || $peek->isDelimiter(array(',', '+', '>', '~'))
-                || ($insideNegation && $peek->isDelimiter(array(')')))
-            ) {
-                break;
-            }
-
-            if (null !== $pseudoElement) {
-                throw SyntaxErrorException::pseudoElementFound($pseudoElement, 'not at the end of a selector');
-            }
-
-            if ($peek->isHash()) {
-                $result = new Node\HashNode($result, $stream->getNext()->getValue());
-            } elseif ($peek->isDelimiter(array('.'))) {
-                $stream->getNext();
-                $result = new Node\ClassNode($result, $stream->getNextIdentifier());
-            } elseif ($peek->isDelimiter(array('['))) {
-                $stream->getNext();
-                $result = $this->parseAttributeNode($result, $stream);
-            } elseif ($peek->isDelimiter(array(':'))) {
-                $stream->getNext();
-
-                if ($stream->getPeek()->isDelimiter(array(':'))) {
-                    $stream->getNext();
-                    $pseudoElement = $stream->getNextIdentifier();
-
-                    continue;
-                }
-
-                $identifier = $stream->getNextIdentifier();
-                if (in_array(strtolower($identifier), array('first-line', 'first-letter', 'before', 'after'))) {
-                    // Special case: CSS 2.1 pseudo-elements can have a single ':'.
-                    // Any new pseudo-element must have two.
-                    $pseudoElement = $identifier;
-
-                    continue;
-                }
-
-                if (!$stream->getPeek()->isDelimiter(array('('))) {
-                    $result = new Node\PseudoNode($result, $identifier);
-
-                    continue;
-                }
-
-                $stream->getNext();
-                $stream->skipWhitespace();
-
-                if ('not' === strtolower($identifier)) {
-                    if ($insideNegation) {
-                        throw SyntaxErrorException::nestedNot();
-                    }
-
-                    list($argument, $argumentPseudoElement) = $this->parseSimpleSelector($stream, true);
-                    $next = $stream->getNext();
-
-                    if (null !== $argumentPseudoElement) {
-                        throw SyntaxErrorException::pseudoElementFound($argumentPseudoElement, 'inside ::not()');
-                    }
-
-                    if (!$next->isDelimiter(array(')'))) {
-                        throw SyntaxErrorException::unexpectedToken('")"', $next);
-                    }
-
-                    $result = new Node\NegationNode($result, $argument);
-                } else {
-                    $arguments = array();
-                    $next = null;
-
-                    while (true) {
-                        $stream->skipWhitespace();
-                        $next = $stream->getNext();
-
-                        if ($next->isIdentifier()
-                            || $next->isString()
-                            || $next->isNumber()
-                            || $next->isDelimiter(array('+', '-'))
-                        ) {
-                            $arguments[] = $next;
-                        } elseif ($next->isDelimiter(array(')'))) {
-                            break;
-                        } else {
-                            throw SyntaxErrorException::unexpectedToken('an argument', $next);
-                        }
-                    }
-
-                    if (empty($arguments)) {
-                        throw SyntaxErrorException::unexpectedToken('at least one argument', $next);
-                    }
-
-                    $result = new Node\FunctionNode($result, $identifier, $arguments);
-                }
-            } else {
-                throw SyntaxErrorException::unexpectedToken('selector', $peek);
-            }
-        }
-
-        if (count($stream->getUsed()) === $selectorStart) {
-            throw SyntaxErrorException::unexpectedToken('selector', $stream->getPeek());
-        }
-
-        return array($result, $pseudoElement);
-    }
-
-    /**
-     * Parses next element node.
-     *
-     * @param TokenStream $stream
-     *
-     * @return Node\ElementNode
-     */
-    private function parseElementNode(TokenStream $stream)
-    {
-        $peek = $stream->getPeek();
-
-        if ($peek->isIdentifier() || $peek->isDelimiter(array('*'))) {
-            if ($peek->isIdentifier()) {
-                $namespace = $stream->getNext()->getValue();
-            } else {
-                $stream->getNext();
-                $namespace = null;
-            }
-
-            if ($stream->getPeek()->isDelimiter(array('|'))) {
-                $stream->getNext();
-                $element = $stream->getNextIdentifierOrStar();
-            } else {
-                $element = $namespace;
-                $namespace = null;
-            }
-        } else {
-            $element = $namespace = null;
-        }
-
-        return new Node\ElementNode($namespace, $element);
-    }
-
-    /**
-     * Parses next attribute node.
-     *
-     * @param Node\NodeInterface $selector
-     * @param TokenStream        $stream
-     *
-     * @throws SyntaxErrorException
-     *
-     * @return Node\AttributeNode
-     */
-    private function parseAttributeNode(Node\NodeInterface $selector, TokenStream $stream)
-    {
-        $stream->skipWhitespace();
-        $attribute = $stream->getNextIdentifierOrStar();
-
-        if (null === $attribute && !$stream->getPeek()->isDelimiter(array('|'))) {
-            throw SyntaxErrorException::unexpectedToken('"|"', $stream->getPeek());
-        }
-
-        if ($stream->getPeek()->isDelimiter(array('|'))) {
-            $stream->getNext();
-
-            if ($stream->getPeek()->isDelimiter(array('='))) {
-                $namespace = null;
-                $stream->getNext();
-                $operator = '|=';
-            } else {
-                $namespace = $attribute;
-                $attribute = $stream->getNextIdentifier();
-                $operator = null;
-            }
-        } else {
-            $namespace = $operator = null;
-        }
-
-        if (null === $operator) {
-            $stream->skipWhitespace();
-            $next = $stream->getNext();
-
-            if ($next->isDelimiter(array(']'))) {
-                return new Node\AttributeNode($selector, $namespace, $attribute, 'exists', null);
-            } elseif ($next->isDelimiter(array('='))) {
-                $operator = '=';
-            } elseif ($next->isDelimiter(array('^', '$', '*', '~', '|', '!'))
-                && $stream->getPeek()->isDelimiter(array('='))
-            ) {
-                $operator = $next->getValue().'=';
-                $stream->getNext();
-            } else {
-                throw SyntaxErrorException::unexpectedToken('operator', $next);
-            }
-        }
-
-        $stream->skipWhitespace();
-        $value = $stream->getNext();
-
-        if ($value->isNumber()) {
-            // if the value is a number, it's casted into a string
-            $value = new Token(Token::TYPE_STRING, (string) $value->getValue(), $value->getPosition());
-        }
-
-        if (!($value->isIdentifier() || $value->isString())) {
-            throw SyntaxErrorException::unexpectedToken('string or identifier', $value);
-        }
-
-        $stream->skipWhitespace();
-        $next = $stream->getNext();
-
-        if (!$next->isDelimiter(array(']'))) {
-            throw SyntaxErrorException::unexpectedToken('"]"', $next);
-        }
-
-        return new Node\AttributeNode($selector, $namespace, $attribute, $operator, $value->getValue());
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/ParserInterface.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/ParserInterface.php
deleted file mode 100644
index 3b43a52..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/ParserInterface.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser;
-
-use Symfony\Component\CssSelector\Node\SelectorNode;
-
-/**
- * CSS selector parser interface.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-interface ParserInterface
-{
-    /**
-     * Parses given selector source into an array of tokens.
-     *
-     * @param string $source
-     *
-     * @return SelectorNode[]
-     */
-    public function parse($source);
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Reader.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Reader.php
deleted file mode 100644
index ba2a7f0..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Reader.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser;
-
-/**
- * CSS selector reader.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class Reader
-{
-    /**
-     * @var string
-     */
-    private $source;
-
-    /**
-     * @var int
-     */
-    private $length;
-
-    /**
-     * @var int
-     */
-    private $position = 0;
-
-    /**
-     * @param string $source
-     */
-    public function __construct($source)
-    {
-        $this->source = $source;
-        $this->length = strlen($source);
-    }
-
-    /**
-     * @return bool
-     */
-    public function isEOF()
-    {
-        return $this->position >= $this->length;
-    }
-
-    /**
-     * @return int
-     */
-    public function getPosition()
-    {
-        return $this->position;
-    }
-
-    /**
-     * @return int
-     */
-    public function getRemainingLength()
-    {
-        return $this->length - $this->position;
-    }
-
-    /**
-     * @param int $length
-     * @param int $offset
-     *
-     * @return string
-     */
-    public function getSubstring($length, $offset = 0)
-    {
-        return substr($this->source, $this->position + $offset, $length);
-    }
-
-    /**
-     * @param string $string
-     *
-     * @return int
-     */
-    public function getOffset($string)
-    {
-        $position = strpos($this->source, $string, $this->position);
-
-        return false === $position ? false : $position - $this->position;
-    }
-
-    /**
-     * @param string $pattern
-     *
-     * @return bool
-     */
-    public function findPattern($pattern)
-    {
-        $source = substr($this->source, $this->position);
-
-        if (preg_match($pattern, $source, $matches)) {
-            return $matches;
-        }
-
-        return false;
-    }
-
-    /**
-     * @param int $length
-     */
-    public function moveForward($length)
-    {
-        $this->position += $length;
-    }
-
-    /**
-     */
-    public function moveToEnd()
-    {
-        $this->position = $this->length;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ClassParser.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ClassParser.php
deleted file mode 100644
index 142bd16..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ClassParser.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\ClassNode;
-use Symfony\Component\CssSelector\Node\ElementNode;
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\ParserInterface;
-
-/**
- * CSS selector class parser shortcut.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class ClassParser implements ParserInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function parse($source)
-    {
-        // Matches an optional namespace, optional element, and required class
-        // $source = 'test|input.ab6bd_field';
-        // $matches = array (size=5)
-        //     0 => string 'test:input.ab6bd_field' (length=22)
-        //     1 => string 'test:' (length=5)
-        //     2 => string 'test' (length=4)
-        //     3 => string 'input' (length=5)
-        //     4 => string 'ab6bd_field' (length=11)
-        if (preg_match('/^(([a-z]+)\|)?([\w-]+|\*)?\.([\w-]+)$/i', trim($source), $matches)) {
-            return array(
-                new SelectorNode(new ClassNode(new ElementNode($matches[2] ?: null, $matches[3] ?: null), $matches[4])),
-            );
-        }
-
-        return array();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ElementParser.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ElementParser.php
deleted file mode 100644
index f62d259..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ElementParser.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\ElementNode;
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\ParserInterface;
-
-/**
- * CSS selector element parser shortcut.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class ElementParser implements ParserInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function parse($source)
-    {
-        // Matches an optional namespace, required element or `*`
-        // $source = 'testns|testel';
-        // $matches = array (size=4)
-        //     0 => string 'testns:testel' (length=13)
-        //     1 => string 'testns:' (length=7)
-        //     2 => string 'testns' (length=6)
-        //     3 => string 'testel' (length=6)
-        if (preg_match('/^(([a-z]+)\|)?([\w-]+|\*)$/i', trim($source), $matches)) {
-            return array(new SelectorNode(new ElementNode($matches[2] ?: null, $matches[3])));
-        }
-
-        return array();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/EmptyStringParser.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/EmptyStringParser.php
deleted file mode 100644
index 98a08fd..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/EmptyStringParser.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\ElementNode;
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\ParserInterface;
-
-/**
- * CSS selector class parser shortcut.
- *
- * This shortcut ensure compatibility with previous version.
- * - The parser fails to parse an empty string.
- * - In the previous version, an empty string matches each tags.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class EmptyStringParser implements ParserInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function parse($source)
-    {
-        // Matches an empty string
-        if ($source == '') {
-            return array(new SelectorNode(new ElementNode(null, '*')));
-        }
-
-        return array();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/HashParser.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/HashParser.php
deleted file mode 100644
index fde6141..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/HashParser.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\ElementNode;
-use Symfony\Component\CssSelector\Node\HashNode;
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\ParserInterface;
-
-/**
- * CSS selector hash parser shortcut.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class HashParser implements ParserInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function parse($source)
-    {
-        // Matches an optional namespace, optional element, and required id
-        // $source = 'test|input#ab6bd_field';
-        // $matches = array (size=5)
-        //     0 => string 'test:input#ab6bd_field' (length=22)
-        //     1 => string 'test:' (length=5)
-        //     2 => string 'test' (length=4)
-        //     3 => string 'input' (length=5)
-        //     4 => string 'ab6bd_field' (length=11)
-        if (preg_match('/^(([a-z]+)\|)?([\w-]+|\*)?#([\w-]+)$/i', trim($source), $matches)) {
-            return array(
-                new SelectorNode(new HashNode(new ElementNode($matches[2] ?: null, $matches[3] ?: null), $matches[4])),
-            );
-        }
-
-        return array();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Token.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Token.php
deleted file mode 100644
index 6f7586f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Token.php
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser;
-
-/**
- * CSS selector token.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class Token
-{
-    const TYPE_FILE_END = 'eof';
-    const TYPE_DELIMITER = 'delimiter';
-    const TYPE_WHITESPACE = 'whitespace';
-    const TYPE_IDENTIFIER = 'identifier';
-    const TYPE_HASH = 'hash';
-    const TYPE_NUMBER = 'number';
-    const TYPE_STRING = 'string';
-
-    /**
-     * @var int
-     */
-    private $type;
-
-    /**
-     * @var string
-     */
-    private $value;
-
-    /**
-     * @var int
-     */
-    private $position;
-
-    /**
-     * @param int    $type
-     * @param string $value
-     * @param int    $position
-     */
-    public function __construct($type, $value, $position)
-    {
-        $this->type = $type;
-        $this->value = $value;
-        $this->position = $position;
-    }
-
-    /**
-     * @return int
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * @return string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * @return int
-     */
-    public function getPosition()
-    {
-        return $this->position;
-    }
-
-    /**
-     * @return bool
-     */
-    public function isFileEnd()
-    {
-        return self::TYPE_FILE_END === $this->type;
-    }
-
-    /**
-     * @param array $values
-     *
-     * @return bool
-     */
-    public function isDelimiter(array $values = array())
-    {
-        if (self::TYPE_DELIMITER !== $this->type) {
-            return false;
-        }
-
-        if (empty($values)) {
-            return true;
-        }
-
-        return in_array($this->value, $values);
-    }
-
-    /**
-     * @return bool
-     */
-    public function isWhitespace()
-    {
-        return self::TYPE_WHITESPACE === $this->type;
-    }
-
-    /**
-     * @return bool
-     */
-    public function isIdentifier()
-    {
-        return self::TYPE_IDENTIFIER === $this->type;
-    }
-
-    /**
-     * @return bool
-     */
-    public function isHash()
-    {
-        return self::TYPE_HASH === $this->type;
-    }
-
-    /**
-     * @return bool
-     */
-    public function isNumber()
-    {
-        return self::TYPE_NUMBER === $this->type;
-    }
-
-    /**
-     * @return bool
-     */
-    public function isString()
-    {
-        return self::TYPE_STRING === $this->type;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        if ($this->value) {
-            return sprintf('<%s "%s" at %s>', $this->type, $this->value, $this->position);
-        }
-
-        return sprintf('<%s at %s>', $this->type, $this->position);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/TokenStream.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/TokenStream.php
deleted file mode 100644
index 8184b83..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/TokenStream.php
+++ /dev/null
@@ -1,182 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser;
-
-use Symfony\Component\CssSelector\Exception\InternalErrorException;
-use Symfony\Component\CssSelector\Exception\SyntaxErrorException;
-
-/**
- * CSS selector token stream.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class TokenStream
-{
-    /**
-     * @var Token[]
-     */
-    private $tokens = array();
-
-    /**
-     * @var bool
-     */
-    private $frozen = false;
-
-    /**
-     * @var Token[]
-     */
-    private $used = array();
-
-    /**
-     * @var int
-     */
-    private $cursor = 0;
-
-    /**
-     * @var Token|null
-     */
-    private $peeked = null;
-
-    /**
-     * @var bool
-     */
-    private $peeking = false;
-
-    /**
-     * Pushes a token.
-     *
-     * @param Token $token
-     *
-     * @return TokenStream
-     */
-    public function push(Token $token)
-    {
-        $this->tokens[] = $token;
-
-        return $this;
-    }
-
-    /**
-     * Freezes stream.
-     *
-     * @return TokenStream
-     */
-    public function freeze()
-    {
-        $this->frozen = true;
-
-        return $this;
-    }
-
-    /**
-     * Returns next token.
-     *
-     * @throws InternalErrorException If there is no more token
-     *
-     * @return Token
-     */
-    public function getNext()
-    {
-        if ($this->peeking) {
-            $this->peeking = false;
-            $this->used[] = $this->peeked;
-
-            return $this->peeked;
-        }
-
-        if (!isset($this->tokens[$this->cursor])) {
-            throw new InternalErrorException('Unexpected token stream end.');
-        }
-
-        return $this->tokens[$this->cursor ++];
-    }
-
-    /**
-     * Returns peeked token.
-     *
-     * @return Token
-     */
-    public function getPeek()
-    {
-        if (!$this->peeking) {
-            $this->peeked = $this->getNext();
-            $this->peeking = true;
-        }
-
-        return $this->peeked;
-    }
-
-    /**
-     * Returns used tokens.
-     *
-     * @return Token[]
-     */
-    public function getUsed()
-    {
-        return $this->used;
-    }
-
-    /**
-     * Returns nex identifier token.
-     *
-     * @throws SyntaxErrorException If next token is not an identifier
-     *
-     * @return string The identifier token value
-     */
-    public function getNextIdentifier()
-    {
-        $next = $this->getNext();
-
-        if (!$next->isIdentifier()) {
-            throw SyntaxErrorException::unexpectedToken('identifier', $next);
-        }
-
-        return $next->getValue();
-    }
-
-    /**
-     * Returns nex identifier or star delimiter token.
-     *
-     * @throws SyntaxErrorException If next token is not an identifier or a star delimiter
-     *
-     * @return null|string The identifier token value or null if star found
-     */
-    public function getNextIdentifierOrStar()
-    {
-        $next = $this->getNext();
-
-        if ($next->isIdentifier()) {
-            return $next->getValue();
-        }
-
-        if ($next->isDelimiter(array('*'))) {
-            return;
-        }
-
-        throw SyntaxErrorException::unexpectedToken('identifier or "*"', $next);
-    }
-
-    /**
-     * Skips next whitespace if any.
-     */
-    public function skipWhitespace()
-    {
-        $peek = $this->getPeek();
-
-        if ($peek->isWhitespace()) {
-            $this->getNext();
-        }
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/Tokenizer.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/Tokenizer.php
deleted file mode 100644
index 79fa7b7..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/Tokenizer.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Tokenizer;
-
-use Symfony\Component\CssSelector\Parser\Handler;
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-
-/**
- * CSS selector tokenizer.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class Tokenizer
-{
-    /**
-     * @var Handler\HandlerInterface[]
-     */
-    private $handlers;
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $patterns = new TokenizerPatterns();
-        $escaping = new TokenizerEscaping($patterns);
-
-        $this->handlers = array(
-            new Handler\WhitespaceHandler(),
-            new Handler\IdentifierHandler($patterns, $escaping),
-            new Handler\HashHandler($patterns, $escaping),
-            new Handler\StringHandler($patterns, $escaping),
-            new Handler\NumberHandler($patterns),
-            new Handler\CommentHandler(),
-        );
-    }
-
-    /**
-     * Tokenize selector source code.
-     *
-     * @param Reader $reader
-     *
-     * @return TokenStream
-     */
-    public function tokenize(Reader $reader)
-    {
-        $stream = new TokenStream();
-
-        while (!$reader->isEOF()) {
-            foreach ($this->handlers as $handler) {
-                if ($handler->handle($reader, $stream)) {
-                    continue 2;
-                }
-            }
-
-            $stream->push(new Token(Token::TYPE_DELIMITER, $reader->getSubstring(1), $reader->getPosition()));
-            $reader->moveForward(1);
-        }
-
-        return $stream
-            ->push(new Token(Token::TYPE_FILE_END, null, $reader->getPosition()))
-            ->freeze();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerEscaping.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerEscaping.php
deleted file mode 100644
index bf5096b..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerEscaping.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Tokenizer;
-
-/**
- * CSS selector tokenizer escaping applier.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class TokenizerEscaping
-{
-    /**
-     * @var TokenizerPatterns
-     */
-    private $patterns;
-
-    /**
-     * @param TokenizerPatterns $patterns
-     */
-    public function __construct(TokenizerPatterns $patterns)
-    {
-        $this->patterns = $patterns;
-    }
-
-    /**
-     * @param string $value
-     *
-     * @return string
-     */
-    public function escapeUnicode($value)
-    {
-        $value = $this->replaceUnicodeSequences($value);
-
-        return preg_replace($this->patterns->getSimpleEscapePattern(), '$1', $value);
-    }
-
-    /**
-     * @param string $value
-     *
-     * @return string
-     */
-    public function escapeUnicodeAndNewLine($value)
-    {
-        $value = preg_replace($this->patterns->getNewLineEscapePattern(), '', $value);
-
-        return $this->escapeUnicode($value);
-    }
-
-    /**
-     * @param string $value
-     *
-     * @return string
-     */
-    private function replaceUnicodeSequences($value)
-    {
-        return preg_replace_callback($this->patterns->getUnicodeEscapePattern(), function ($match) {
-            $c = hexdec($match[1]);
-
-            if (0x80 > $c %= 0x200000) {
-                return chr($c);
-            }
-            if (0x800 > $c) {
-                return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F);
-            }
-            if (0x10000 > $c) {
-                return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
-            }
-        }, $value);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerPatterns.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerPatterns.php
deleted file mode 100644
index 326f020..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerPatterns.php
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Parser\Tokenizer;
-
-/**
- * CSS selector tokenizer patterns builder.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class TokenizerPatterns
-{
-    /**
-     * @var string
-     */
-    private $unicodeEscapePattern;
-
-    /**
-     * @var string
-     */
-    private $simpleEscapePattern;
-
-    /**
-     * @var string
-     */
-    private $newLineEscapePattern;
-
-    /**
-     * @var string
-     */
-    private $escapePattern;
-
-    /**
-     * @var string
-     */
-    private $stringEscapePattern;
-
-    /**
-     * @var string
-     */
-    private $nonAsciiPattern;
-
-    /**
-     * @var string
-     */
-    private $nmCharPattern;
-
-    /**
-     * @var string
-     */
-    private $nmStartPattern;
-
-    /**
-     * @var string
-     */
-    private $identifierPattern;
-
-    /**
-     * @var string
-     */
-    private $hashPattern;
-
-    /**
-     * @var string
-     */
-    private $numberPattern;
-
-    /**
-     * @var string
-     */
-    private $quotedStringPattern;
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $this->unicodeEscapePattern = '\\\\([0-9a-f]{1,6})(?:\r\n|[ \n\r\t\f])?';
-        $this->simpleEscapePattern = '\\\\(.)';
-        $this->newLineEscapePattern = '\\\\(?:\n|\r\n|\r|\f)';
-        $this->escapePattern = $this->unicodeEscapePattern.'|\\\\[^\n\r\f0-9a-f]';
-        $this->stringEscapePattern = $this->newLineEscapePattern.'|'.$this->escapePattern;
-        $this->nonAsciiPattern = '[^\x00-\x7F]';
-        $this->nmCharPattern = '[_a-z0-9-]|'.$this->escapePattern.'|'.$this->nonAsciiPattern;
-        $this->nmStartPattern = '[_a-z]|'.$this->escapePattern.'|'.$this->nonAsciiPattern;
-        $this->identifierPattern = '(?:'.$this->nmStartPattern.')(?:'.$this->nmCharPattern.')*';
-        $this->hashPattern = '#((?:'.$this->nmCharPattern.')+)';
-        $this->numberPattern = '[+-]?(?:[0-9]*\.[0-9]+|[0-9]+)';
-        $this->quotedStringPattern = '([^\n\r\f%s]|'.$this->stringEscapePattern.')*';
-    }
-
-    /**
-     * @return string
-     */
-    public function getNewLineEscapePattern()
-    {
-        return '~^'.$this->newLineEscapePattern.'~';
-    }
-
-    /**
-     * @return string
-     */
-    public function getSimpleEscapePattern()
-    {
-        return '~^'.$this->simpleEscapePattern.'~';
-    }
-
-    /**
-     * @return string
-     */
-    public function getUnicodeEscapePattern()
-    {
-        return '~^'.$this->unicodeEscapePattern.'~i';
-    }
-
-    /**
-     * @return string
-     */
-    public function getIdentifierPattern()
-    {
-        return '~^'.$this->identifierPattern.'~i';
-    }
-
-    /**
-     * @return string
-     */
-    public function getHashPattern()
-    {
-        return '~^'.$this->hashPattern.'~i';
-    }
-
-    /**
-     * @return string
-     */
-    public function getNumberPattern()
-    {
-        return '~^'.$this->numberPattern.'~';
-    }
-
-    /**
-     * @param string $quote
-     *
-     * @return string
-     */
-    public function getQuotedStringPattern($quote)
-    {
-        return '~^'.sprintf($this->quotedStringPattern, $quote).'~i';
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/README.md b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/README.md
deleted file mode 100644
index ffe6c89..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-CssSelector Component
-=====================
-
-CssSelector converts CSS selectors to XPath expressions.
-
-The component only goal is to convert CSS selectors to their XPath
-equivalents:
-
-```php
-use Symfony\Component\CssSelector\CssSelector;
-
-print CssSelector::toXPath('div.item > h4 > a');
-```
-
-HTML and XML are different
---------------------------
-
-The `CssSelector` component comes with an `HTML` extension which is enabled by
-default. If you need to use this component with `XML` documents, you have to
-disable this `HTML` extension. That's because, `HTML` tag & attribute names
-are always lower-cased, but case-sensitive in `XML`:
-
-```php
-// disable `HTML` extension:
-CssSelector::disableHtmlExtension();
-
-// re-enable `HTML` extension:
-CssSelector::enableHtmlExtension();
-```
-
-When the `HTML` extension is enabled, tag names are lower-cased, attribute
-names are lower-cased, the following extra pseudo-classes are supported:
-`checked`, `link`, `disabled`, `enabled`, `selected`, `invalid`, `hover`,
-`visited`, and the `lang()` function is also added.
-
-Resources
----------
-
-This component is a port of the Python cssselect library
-[v0.7.1](https://github.com/SimonSapin/cssselect/releases/tag/v0.7.1),
-which is distributed under the BSD license.
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/CssSelector/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/CssSelectorTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/CssSelectorTest.php
deleted file mode 100644
index 61ab80e..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/CssSelectorTest.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests;
-
-use Symfony\Component\CssSelector\CssSelector;
-
-class CssSelectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCssToXPath()
-    {
-        $this->assertEquals('descendant-or-self::*', CssSelector::toXPath(''));
-        $this->assertEquals('descendant-or-self::h1', CssSelector::toXPath('h1'));
-        $this->assertEquals("descendant-or-self::h1[@id = 'foo']", CssSelector::toXPath('h1#foo'));
-        $this->assertEquals("descendant-or-self::h1[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]", CssSelector::toXPath('h1.foo'));
-        $this->assertEquals('descendant-or-self::foo:h1', CssSelector::toXPath('foo|h1'));
-    }
-
-    /** @dataProvider getCssToXPathWithoutPrefixTestData */
-    public function testCssToXPathWithoutPrefix($css, $xpath)
-    {
-        $this->assertEquals($xpath, CssSelector::toXPath($css, ''), '->parse() parses an input string and returns a node');
-    }
-
-    public function testParseExceptions()
-    {
-        try {
-            CssSelector::toXPath('h1:');
-            $this->fail('->parse() throws an Exception if the css selector is not valid');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\Symfony\Component\CssSelector\Exception\ParseException', $e, '->parse() throws an Exception if the css selector is not valid');
-            $this->assertEquals('Expected identifier, but <eof at 3> found.', $e->getMessage(), '->parse() throws an Exception if the css selector is not valid');
-        }
-    }
-
-    public function getCssToXPathWithoutPrefixTestData()
-    {
-        return array(
-            array('h1', 'h1'),
-            array('foo|h1', 'foo:h1'),
-            array('h1, h2, h3', 'h1 | h2 | h3'),
-            array('h1:nth-child(3n+1)', "*/*[name() = 'h1' and (position() - 1 >= 0 and (position() - 1) mod 3 = 0)]"),
-            array('h1 > p', 'h1/p'),
-            array('h1#foo', "h1[@id = 'foo']"),
-            array('h1.foo', "h1[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"),
-            array('h1[class*="foo bar"]', "h1[@class and contains(@class, 'foo bar')]"),
-            array('h1[foo|class*="foo bar"]', "h1[@foo:class and contains(@foo:class, 'foo bar')]"),
-            array('h1[class]', 'h1[@class]'),
-            array('h1 .foo', "h1/descendant-or-self::*/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"),
-            array('h1 #foo', "h1/descendant-or-self::*/*[@id = 'foo']"),
-            array('h1 [class*=foo]', "h1/descendant-or-self::*/*[@class and contains(@class, 'foo')]"),
-            array('div>.foo', "div/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"),
-            array('div > .foo', "div/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AbstractNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AbstractNodeTest.php
deleted file mode 100644
index 16a3a34..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AbstractNodeTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\NodeInterface;
-
-abstract class AbstractNodeTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getToStringConversionTestData */
-    public function testToStringConversion(NodeInterface $node, $representation)
-    {
-        $this->assertEquals($representation, (string) $node);
-    }
-
-    /** @dataProvider getSpecificityValueTestData */
-    public function testSpecificityValue(NodeInterface $node, $value)
-    {
-        $this->assertEquals($value, $node->getSpecificity()->getValue());
-    }
-
-    abstract public function getToStringConversionTestData();
-    abstract public function getSpecificityValueTestData();
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AttributeNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AttributeNodeTest.php
deleted file mode 100644
index 1fd090f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AttributeNodeTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\AttributeNode;
-use Symfony\Component\CssSelector\Node\ElementNode;
-
-class AttributeNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new AttributeNode(new ElementNode(), null, 'attribute', 'exists', null), 'Attribute[Element[*][attribute]]'),
-            array(new AttributeNode(new ElementNode(), null, 'attribute', '$=', 'value'), "Attribute[Element[*][attribute $= 'value']]"),
-            array(new AttributeNode(new ElementNode(), 'namespace', 'attribute', '$=', 'value'), "Attribute[Element[*][namespace|attribute $= 'value']]"),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new AttributeNode(new ElementNode(), null, 'attribute', 'exists', null), 10),
-            array(new AttributeNode(new ElementNode(null, 'element'), null, 'attribute', 'exists', null), 11),
-            array(new AttributeNode(new ElementNode(), null, 'attribute', '$=', 'value'), 10),
-            array(new AttributeNode(new ElementNode(), 'namespace', 'attribute', '$=', 'value'), 10),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ClassNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ClassNodeTest.php
deleted file mode 100644
index e0ab45a..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ClassNodeTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\ClassNode;
-use Symfony\Component\CssSelector\Node\ElementNode;
-
-class ClassNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new ClassNode(new ElementNode(), 'class'), 'Class[Element[*].class]'),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new ClassNode(new ElementNode(), 'class'), 10),
-            array(new ClassNode(new ElementNode(null, 'element'), 'class'), 11),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/CombinedSelectorNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/CombinedSelectorNodeTest.php
deleted file mode 100644
index 9547298..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/CombinedSelectorNodeTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\CombinedSelectorNode;
-use Symfony\Component\CssSelector\Node\ElementNode;
-
-class CombinedSelectorNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new CombinedSelectorNode(new ElementNode(), '>', new ElementNode()), 'CombinedSelector[Element[*] > Element[*]]'),
-            array(new CombinedSelectorNode(new ElementNode(), ' ', new ElementNode()), 'CombinedSelector[Element[*] <followed> Element[*]]'),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new CombinedSelectorNode(new ElementNode(), '>', new ElementNode()), 0),
-            array(new CombinedSelectorNode(new ElementNode(null, 'element'), '>', new ElementNode()), 1),
-            array(new CombinedSelectorNode(new ElementNode(null, 'element'), '>', new ElementNode(null, 'element')), 2),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ElementNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ElementNodeTest.php
deleted file mode 100644
index 1db6a59..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ElementNodeTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\ElementNode;
-
-class ElementNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new ElementNode(), 'Element[*]'),
-            array(new ElementNode(null, 'element'), 'Element[element]'),
-            array(new ElementNode('namespace', 'element'), 'Element[namespace|element]'),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new ElementNode(), 0),
-            array(new ElementNode(null, 'element'), 1),
-            array(new ElementNode('namespace', 'element'),1),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php
deleted file mode 100644
index ee3ce51..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\ElementNode;
-use Symfony\Component\CssSelector\Node\FunctionNode;
-use Symfony\Component\CssSelector\Parser\Token;
-
-class FunctionNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new FunctionNode(new ElementNode(), 'function'), 'Function[Element[*]:function()]'),
-            array(new FunctionNode(new ElementNode(), 'function', array(
-                new Token(Token::TYPE_IDENTIFIER, 'value', 0),
-            )), "Function[Element[*]:function(['value'])]"),
-            array(new FunctionNode(new ElementNode(), 'function', array(
-                new Token(Token::TYPE_STRING, 'value1', 0),
-                new Token(Token::TYPE_NUMBER, 'value2', 0),
-            )), "Function[Element[*]:function(['value1', 'value2'])]"),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new FunctionNode(new ElementNode(), 'function'), 10),
-            array(new FunctionNode(new ElementNode(), 'function', array(
-                new Token(Token::TYPE_IDENTIFIER, 'value', 0),
-            )), 10),
-            array(new FunctionNode(new ElementNode(), 'function', array(
-                new Token(Token::TYPE_STRING, 'value1', 0),
-                new Token(Token::TYPE_NUMBER, 'value2', 0),
-            )), 10),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/HashNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/HashNodeTest.php
deleted file mode 100644
index 8554b22..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/HashNodeTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\HashNode;
-use Symfony\Component\CssSelector\Node\ElementNode;
-
-class HashNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new HashNode(new ElementNode(), 'id'), 'Hash[Element[*]#id]'),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new HashNode(new ElementNode(), 'id'), 100),
-            array(new HashNode(new ElementNode(null, 'id'), 'class'), 101),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/NegationNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/NegationNodeTest.php
deleted file mode 100644
index edf4552..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/NegationNodeTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\ClassNode;
-use Symfony\Component\CssSelector\Node\NegationNode;
-use Symfony\Component\CssSelector\Node\ElementNode;
-
-class NegationNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new NegationNode(new ElementNode(), new ClassNode(new ElementNode(), 'class')), 'Negation[Element[*]:not(Class[Element[*].class])]'),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new NegationNode(new ElementNode(), new ClassNode(new ElementNode(), 'class')), 10),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/PseudoNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/PseudoNodeTest.php
deleted file mode 100644
index bc57813..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/PseudoNodeTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\ElementNode;
-use Symfony\Component\CssSelector\Node\PseudoNode;
-
-class PseudoNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new PseudoNode(new ElementNode(), 'pseudo'), 'Pseudo[Element[*]:pseudo]'),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new PseudoNode(new ElementNode(), 'pseudo'), 10),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SelectorNodeTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SelectorNodeTest.php
deleted file mode 100644
index 5badf71..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SelectorNodeTest.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\ElementNode;
-use Symfony\Component\CssSelector\Node\SelectorNode;
-
-class SelectorNodeTest extends AbstractNodeTest
-{
-    public function getToStringConversionTestData()
-    {
-        return array(
-            array(new SelectorNode(new ElementNode()), 'Selector[Element[*]]'),
-            array(new SelectorNode(new ElementNode(), 'pseudo'), 'Selector[Element[*]::pseudo]'),
-        );
-    }
-
-    public function getSpecificityValueTestData()
-    {
-        return array(
-            array(new SelectorNode(new ElementNode()), 0),
-            array(new SelectorNode(new ElementNode(), 'pseudo'), 1),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SpecificityTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SpecificityTest.php
deleted file mode 100644
index c34fe5f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SpecificityTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Node;
-
-use Symfony\Component\CssSelector\Node\Specificity;
-
-class SpecificityTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getValueTestData */
-    public function testValue(Specificity $specificity, $value)
-    {
-        $this->assertEquals($value, $specificity->getValue());
-    }
-
-    /** @dataProvider getValueTestData */
-    public function testPlusValue(Specificity $specificity, $value)
-    {
-        $this->assertEquals($value + 123, $specificity->plus(new Specificity(1, 2, 3))->getValue());
-    }
-
-    public function getValueTestData()
-    {
-        return array(
-            array(new Specificity(0, 0, 0), 0),
-            array(new Specificity(0, 0, 2), 2),
-            array(new Specificity(0, 3, 0), 30),
-            array(new Specificity(4, 0, 0), 400),
-            array(new Specificity(4, 3, 2), 432),
-        );
-    }
-
-    /** @dataProvider getCompareTestData */
-    public function testCompareTo(Specificity $a, Specificity $b, $result)
-    {
-        $this->assertEquals($result, $a->compareTo($b));
-    }
-
-    public function getCompareTestData()
-    {
-        return array(
-            array(new Specificity(0, 0, 0), new Specificity(0, 0, 0), 0),
-            array(new Specificity(0, 0, 1), new Specificity(0, 0, 1), 0),
-            array(new Specificity(0, 0, 2), new Specificity(0, 0, 1), 1),
-            array(new Specificity(0, 0, 2), new Specificity(0, 0, 3), -1),
-            array(new Specificity(0, 4, 0), new Specificity(0, 4, 0), 0),
-            array(new Specificity(0, 6, 0), new Specificity(0, 5, 11), 1),
-            array(new Specificity(0, 7, 0), new Specificity(0, 8, 0), -1),
-            array(new Specificity(9, 0, 0), new Specificity(9, 0, 0), 0),
-            array(new Specificity(11, 0, 0), new Specificity(10, 11, 0), 1),
-            array(new Specificity(12, 11, 0), new Specificity(13, 0, 0), -1),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/AbstractHandlerTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/AbstractHandlerTest.php
deleted file mode 100644
index a06dca0..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/AbstractHandlerTest.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-
-/**
- * @author Jean-François Simon <contact@jfsimon.fr>
- */
-abstract class AbstractHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getHandleValueTestData */
-    public function testHandleValue($value, Token $expectedToken, $remainingContent)
-    {
-        $reader = new Reader($value);
-        $stream = new TokenStream();
-
-        $this->assertTrue($this->generateHandler()->handle($reader, $stream));
-        $this->assertEquals($expectedToken, $stream->getNext());
-        $this->assertRemainingContent($reader, $remainingContent);
-    }
-
-    /** @dataProvider getDontHandleValueTestData */
-    public function testDontHandleValue($value)
-    {
-        $reader = new Reader($value);
-        $stream = new TokenStream();
-
-        $this->assertFalse($this->generateHandler()->handle($reader, $stream));
-        $this->assertStreamEmpty($stream);
-        $this->assertRemainingContent($reader, $value);
-    }
-
-    abstract public function getHandleValueTestData();
-    abstract public function getDontHandleValueTestData();
-    abstract protected function generateHandler();
-
-    protected function assertStreamEmpty(TokenStream $stream)
-    {
-        $property = new \ReflectionProperty($stream, 'tokens');
-        $property->setAccessible(true);
-
-        $this->assertEquals(array(), $property->getValue($stream));
-    }
-
-    protected function assertRemainingContent(Reader $reader, $remainingContent)
-    {
-        if ('' === $remainingContent) {
-            $this->assertEquals(0, $reader->getRemainingLength());
-            $this->assertTrue($reader->isEOF());
-        } else {
-            $this->assertEquals(strlen($remainingContent), $reader->getRemainingLength());
-            $this->assertEquals(0, $reader->getOffset($remainingContent));
-        }
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/CommentHandlerTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/CommentHandlerTest.php
deleted file mode 100644
index 3961bf7..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/CommentHandlerTest.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Handler\CommentHandler;
-use Symfony\Component\CssSelector\Parser\Reader;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-
-class CommentHandlerTest extends AbstractHandlerTest
-{
-    /** @dataProvider getHandleValueTestData */
-    public function testHandleValue($value, Token $unusedArgument, $remainingContent)
-    {
-        $reader = new Reader($value);
-        $stream = new TokenStream();
-
-        $this->assertTrue($this->generateHandler()->handle($reader, $stream));
-        // comments are ignored (not pushed as token in stream)
-        $this->assertStreamEmpty($stream);
-        $this->assertRemainingContent($reader, $remainingContent);
-    }
-
-    public function getHandleValueTestData()
-    {
-        return array(
-            // 2nd argument only exists for inherited method compatibility
-            array('/* comment */', new Token(null, null, null), ''),
-            array('/* comment */foo', new Token(null, null, null), 'foo'),
-        );
-    }
-
-    public function getDontHandleValueTestData()
-    {
-        return array(
-            array('>'),
-            array('+'),
-            array(' '),
-        );
-    }
-
-    protected function generateHandler()
-    {
-        return new CommentHandler();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/HashHandlerTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/HashHandlerTest.php
deleted file mode 100644
index b7fa00a..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/HashHandlerTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Handler\HashHandler;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
-
-class HashHandlerTest extends AbstractHandlerTest
-{
-    public function getHandleValueTestData()
-    {
-        return array(
-            array('#id', new Token(Token::TYPE_HASH, 'id', 0), ''),
-            array('#123', new Token(Token::TYPE_HASH, '123', 0), ''),
-
-            array('#id.class', new Token(Token::TYPE_HASH, 'id', 0), '.class'),
-            array('#id element', new Token(Token::TYPE_HASH, 'id', 0), ' element'),
-        );
-    }
-
-    public function getDontHandleValueTestData()
-    {
-        return array(
-            array('id'),
-            array('123'),
-            array('<'),
-            array('<'),
-            array('#'),
-        );
-    }
-
-    protected function generateHandler()
-    {
-        $patterns = new TokenizerPatterns();
-
-        return new HashHandler($patterns, new TokenizerEscaping($patterns));
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/IdentifierHandlerTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/IdentifierHandlerTest.php
deleted file mode 100644
index 44d3574..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/IdentifierHandlerTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Handler\IdentifierHandler;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
-
-class IdentifierHandlerTest extends AbstractHandlerTest
-{
-    public function getHandleValueTestData()
-    {
-        return array(
-            array('foo', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), ''),
-            array('foo|bar', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '|bar'),
-            array('foo.class', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '.class'),
-            array('foo[attr]', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '[attr]'),
-            array('foo bar', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), ' bar'),
-        );
-    }
-
-    public function getDontHandleValueTestData()
-    {
-        return array(
-            array('>'),
-            array('+'),
-            array(' '),
-            array('*|foo'),
-            array('/* comment */'),
-        );
-    }
-
-    protected function generateHandler()
-    {
-        $patterns = new TokenizerPatterns();
-
-        return new IdentifierHandler($patterns, new TokenizerEscaping($patterns));
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/NumberHandlerTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/NumberHandlerTest.php
deleted file mode 100644
index 675fd05..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/NumberHandlerTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Handler\NumberHandler;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-
-class NumberHandlerTest extends AbstractHandlerTest
-{
-    public function getHandleValueTestData()
-    {
-        return array(
-            array('12', new Token(Token::TYPE_NUMBER, '12', 0), ''),
-            array('12.34', new Token(Token::TYPE_NUMBER, '12.34', 0), ''),
-            array('+12.34', new Token(Token::TYPE_NUMBER, '+12.34', 0), ''),
-            array('-12.34', new Token(Token::TYPE_NUMBER, '-12.34', 0), ''),
-
-            array('12 arg', new Token(Token::TYPE_NUMBER, '12', 0), ' arg'),
-            array('12]', new Token(Token::TYPE_NUMBER, '12', 0), ']'),
-        );
-    }
-
-    public function getDontHandleValueTestData()
-    {
-        return array(
-            array('hello'),
-            array('>'),
-            array('+'),
-            array(' '),
-            array('/* comment */'),
-        );
-    }
-
-    protected function generateHandler()
-    {
-        $patterns = new TokenizerPatterns();
-
-        return new NumberHandler($patterns);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/StringHandlerTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/StringHandlerTest.php
deleted file mode 100644
index 89eff8b..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/StringHandlerTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Handler\StringHandler;
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
-use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
-
-class StringHandlerTest extends AbstractHandlerTest
-{
-    public function getHandleValueTestData()
-    {
-        return array(
-            array('"hello"', new Token(Token::TYPE_STRING, 'hello', 1), ''),
-            array('"1"', new Token(Token::TYPE_STRING, '1', 1), ''),
-            array('" "', new Token(Token::TYPE_STRING, ' ', 1), ''),
-            array('""', new Token(Token::TYPE_STRING, '', 1), ''),
-            array("'hello'", new Token(Token::TYPE_STRING, 'hello', 1), ''),
-
-            array("'foo'bar", new Token(Token::TYPE_STRING, 'foo', 1), 'bar'),
-        );
-    }
-
-    public function getDontHandleValueTestData()
-    {
-        return array(
-            array('hello'),
-            array('>'),
-            array('1'),
-            array(' '),
-        );
-    }
-
-    protected function generateHandler()
-    {
-        $patterns = new TokenizerPatterns();
-
-        return new StringHandler($patterns, new TokenizerEscaping($patterns));
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/WhitespaceHandlerTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/WhitespaceHandlerTest.php
deleted file mode 100644
index f5f9e71..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/WhitespaceHandlerTest.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
-
-use Symfony\Component\CssSelector\Parser\Handler\WhitespaceHandler;
-use Symfony\Component\CssSelector\Parser\Token;
-
-class WhitespaceHandlerTest extends AbstractHandlerTest
-{
-    public function getHandleValueTestData()
-    {
-        return array(
-            array(' ', new Token(Token::TYPE_WHITESPACE, ' ', 0), ''),
-            array("\n", new Token(Token::TYPE_WHITESPACE, "\n", 0), ''),
-            array("\t", new Token(Token::TYPE_WHITESPACE, "\t", 0), ''),
-
-            array(' foo', new Token(Token::TYPE_WHITESPACE, ' ', 0), 'foo'),
-            array(' .foo', new Token(Token::TYPE_WHITESPACE, ' ', 0), '.foo'),
-        );
-    }
-
-    public function getDontHandleValueTestData()
-    {
-        return array(
-            array('>'),
-            array('1'),
-            array('a'),
-        );
-    }
-
-    protected function generateHandler()
-    {
-        return new WhitespaceHandler();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ParserTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ParserTest.php
deleted file mode 100644
index 0454d9f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ParserTest.php
+++ /dev/null
@@ -1,248 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser;
-
-use Symfony\Component\CssSelector\Exception\SyntaxErrorException;
-use Symfony\Component\CssSelector\Node\FunctionNode;
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\Parser;
-use Symfony\Component\CssSelector\Parser\Token;
-
-class ParserTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getParserTestData */
-    public function testParser($source, $representation)
-    {
-        $parser = new Parser();
-
-        $this->assertEquals($representation, array_map(function (SelectorNode $node) {
-            return (string) $node->getTree();
-        }, $parser->parse($source)));
-    }
-
-    /** @dataProvider getParserExceptionTestData */
-    public function testParserException($source, $message)
-    {
-        $parser = new Parser();
-
-        try {
-            $parser->parse($source);
-            $this->fail('Parser should throw a SyntaxErrorException.');
-        } catch (SyntaxErrorException $e) {
-            $this->assertEquals($message, $e->getMessage());
-        }
-    }
-
-    /** @dataProvider getPseudoElementsTestData */
-    public function testPseudoElements($source, $element, $pseudo)
-    {
-        $parser = new Parser();
-        $selectors = $parser->parse($source);
-        $this->assertCount(1, $selectors);
-
-        /** @var SelectorNode $selector */
-        $selector = $selectors[0];
-        $this->assertEquals($element, (string) $selector->getTree());
-        $this->assertEquals($pseudo, (string) $selector->getPseudoElement());
-    }
-
-    /** @dataProvider getSpecificityTestData */
-    public function testSpecificity($source, $value)
-    {
-        $parser = new Parser();
-        $selectors = $parser->parse($source);
-        $this->assertCount(1, $selectors);
-
-        /** @var SelectorNode $selector */
-        $selector = $selectors[0];
-        $this->assertEquals($value, $selector->getSpecificity()->getValue());
-    }
-
-    /** @dataProvider getParseSeriesTestData */
-    public function testParseSeries($series, $a, $b)
-    {
-        $parser = new Parser();
-        $selectors = $parser->parse(sprintf(':nth-child(%s)', $series));
-        $this->assertCount(1, $selectors);
-
-        /** @var FunctionNode $function */
-        $function = $selectors[0]->getTree();
-        $this->assertEquals(array($a, $b), Parser::parseSeries($function->getArguments()));
-    }
-
-    /** @dataProvider getParseSeriesExceptionTestData */
-    public function testParseSeriesException($series)
-    {
-        $parser = new Parser();
-        $selectors = $parser->parse(sprintf(':nth-child(%s)', $series));
-        $this->assertCount(1, $selectors);
-
-        /** @var FunctionNode $function */
-        $function = $selectors[0]->getTree();
-        $this->setExpectedException('Symfony\Component\CssSelector\Exception\SyntaxErrorException');
-        Parser::parseSeries($function->getArguments());
-    }
-
-    public function getParserTestData()
-    {
-        return array(
-            array('*', array('Element[*]')),
-            array('*|*', array('Element[*]')),
-            array('*|foo', array('Element[foo]')),
-            array('foo|*', array('Element[foo|*]')),
-            array('foo|bar', array('Element[foo|bar]')),
-            array('#foo#bar', array('Hash[Hash[Element[*]#foo]#bar]')),
-            array('div>.foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')),
-            array('div> .foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')),
-            array('div >.foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')),
-            array('div > .foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')),
-            array("div \n>  \t \t .foo", array('CombinedSelector[Element[div] > Class[Element[*].foo]]')),
-            array('td.foo,.bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')),
-            array('td.foo, .bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')),
-            array("td.foo\t\r\n\f ,\t\r\n\f .bar", array('Class[Element[td].foo]', 'Class[Element[*].bar]')),
-            array('td.foo,.bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')),
-            array('td.foo, .bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')),
-            array("td.foo\t\r\n\f ,\t\r\n\f .bar", array('Class[Element[td].foo]', 'Class[Element[*].bar]')),
-            array('div, td.foo, div.bar span', array('Element[div]', 'Class[Element[td].foo]', 'CombinedSelector[Class[Element[div].bar] <followed> Element[span]]')),
-            array('div > p', array('CombinedSelector[Element[div] > Element[p]]')),
-            array('td:first', array('Pseudo[Element[td]:first]')),
-            array('td :first', array('CombinedSelector[Element[td] <followed> Pseudo[Element[*]:first]]')),
-            array('a[name]', array('Attribute[Element[a][name]]')),
-            array("a[ name\t]", array('Attribute[Element[a][name]]')),
-            array('a [name]', array('CombinedSelector[Element[a] <followed> Attribute[Element[*][name]]]')),
-            array('a[rel="include"]', array("Attribute[Element[a][rel = 'include']]")),
-            array('a[rel = include]', array("Attribute[Element[a][rel = 'include']]")),
-            array("a[hreflang |= 'en']", array("Attribute[Element[a][hreflang |= 'en']]")),
-            array('a[hreflang|=en]', array("Attribute[Element[a][hreflang |= 'en']]")),
-            array('div:nth-child(10)', array("Function[Element[div]:nth-child(['10'])]")),
-            array(':nth-child(2n+2)', array("Function[Element[*]:nth-child(['2', 'n', '+2'])]")),
-            array('div:nth-of-type(10)', array("Function[Element[div]:nth-of-type(['10'])]")),
-            array('div div:nth-of-type(10) .aclass', array("CombinedSelector[CombinedSelector[Element[div] <followed> Function[Element[div]:nth-of-type(['10'])]] <followed> Class[Element[*].aclass]]")),
-            array('label:only', array('Pseudo[Element[label]:only]')),
-            array('a:lang(fr)', array("Function[Element[a]:lang(['fr'])]")),
-            array('div:contains("foo")', array("Function[Element[div]:contains(['foo'])]")),
-            array('div#foobar', array('Hash[Element[div]#foobar]')),
-            array('div:not(div.foo)', array('Negation[Element[div]:not(Class[Element[div].foo])]')),
-            array('td ~ th', array('CombinedSelector[Element[td] ~ Element[th]]')),
-            array('.foo[data-bar][data-baz=0]', array("Attribute[Attribute[Class[Element[*].foo][data-bar]][data-baz = '0']]")),
-        );
-    }
-
-    public function getParserExceptionTestData()
-    {
-        return array(
-            array('attributes(href)/html/body/a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '(', 10))->getMessage()),
-            array('attributes(href)', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '(', 10))->getMessage()),
-            array('html/body/a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '/', 4))->getMessage()),
-            array(' ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 1))->getMessage()),
-            array('div, ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 5))->getMessage()),
-            array(' , div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, ',', 1))->getMessage()),
-            array('p, , div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, ',', 3))->getMessage()),
-            array('div > ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 6))->getMessage()),
-            array('  > div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '>', 2))->getMessage()),
-            array('foo|#bar', SyntaxErrorException::unexpectedToken('identifier or "*"', new Token(Token::TYPE_HASH, 'bar', 4))->getMessage()),
-            array('#.foo', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '#', 0))->getMessage()),
-            array('.#foo', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_HASH, 'foo', 1))->getMessage()),
-            array(':#foo', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_HASH, 'foo', 1))->getMessage()),
-            array('[*]', SyntaxErrorException::unexpectedToken('"|"', new Token(Token::TYPE_DELIMITER, ']', 2))->getMessage()),
-            array('[foo|]', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_DELIMITER, ']', 5))->getMessage()),
-            array('[#]', SyntaxErrorException::unexpectedToken('identifier or "*"', new Token(Token::TYPE_DELIMITER, '#', 1))->getMessage()),
-            array('[foo=#]', SyntaxErrorException::unexpectedToken('string or identifier', new Token(Token::TYPE_DELIMITER, '#', 5))->getMessage()),
-            array(':nth-child()', SyntaxErrorException::unexpectedToken('at least one argument', new Token(Token::TYPE_DELIMITER, ')', 11))->getMessage()),
-            array('[href]a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_IDENTIFIER, 'a', 6))->getMessage()),
-            array('[rel:stylesheet]', SyntaxErrorException::unexpectedToken('operator', new Token(Token::TYPE_DELIMITER, ':', 4))->getMessage()),
-            array('[rel=stylesheet', SyntaxErrorException::unexpectedToken('"]"', new Token(Token::TYPE_FILE_END, '', 15))->getMessage()),
-            array(':lang(fr', SyntaxErrorException::unexpectedToken('an argument', new Token(Token::TYPE_FILE_END, '', 8))->getMessage()),
-            array(':contains("foo', SyntaxErrorException::unclosedString(10)->getMessage()),
-            array('foo!', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '!', 3))->getMessage()),
-        );
-    }
-
-    public function getPseudoElementsTestData()
-    {
-        return array(
-            array('foo', 'Element[foo]', ''),
-            array('*', 'Element[*]', ''),
-            array(':empty', 'Pseudo[Element[*]:empty]', ''),
-            array(':BEfore', 'Element[*]', 'before'),
-            array(':aftER', 'Element[*]', 'after'),
-            array(':First-Line', 'Element[*]', 'first-line'),
-            array(':First-Letter', 'Element[*]', 'first-letter'),
-            array('::befoRE', 'Element[*]', 'before'),
-            array('::AFter', 'Element[*]', 'after'),
-            array('::firsT-linE', 'Element[*]', 'first-line'),
-            array('::firsT-letteR', 'Element[*]', 'first-letter'),
-            array('::Selection', 'Element[*]', 'selection'),
-            array('foo:after', 'Element[foo]', 'after'),
-            array('foo::selection', 'Element[foo]', 'selection'),
-            array('lorem#ipsum ~ a#b.c[href]:empty::selection', 'CombinedSelector[Hash[Element[lorem]#ipsum] ~ Pseudo[Attribute[Class[Hash[Element[a]#b].c][href]]:empty]]', 'selection'),
-        );
-    }
-
-    public function getSpecificityTestData()
-    {
-        return array(
-            array('*', 0),
-            array(' foo', 1),
-            array(':empty ', 10),
-            array(':before', 1),
-            array('*:before', 1),
-            array(':nth-child(2)', 10),
-            array('.bar', 10),
-            array('[baz]', 10),
-            array('[baz="4"]', 10),
-            array('[baz^="4"]', 10),
-            array('#lipsum', 100),
-            array(':not(*)', 0),
-            array(':not(foo)', 1),
-            array(':not(.foo)', 10),
-            array(':not([foo])', 10),
-            array(':not(:empty)', 10),
-            array(':not(#foo)', 100),
-            array('foo:empty', 11),
-            array('foo:before', 2),
-            array('foo::before', 2),
-            array('foo:empty::before', 12),
-            array('#lorem + foo#ipsum:first-child > bar:first-line', 213),
-        );
-    }
-
-    public function getParseSeriesTestData()
-    {
-        return array(
-            array('1n+3', 1, 3),
-            array('1n +3', 1, 3),
-            array('1n + 3', 1, 3),
-            array('1n+ 3', 1, 3),
-            array('1n-3', 1, -3),
-            array('1n -3', 1, -3),
-            array('1n - 3', 1, -3),
-            array('1n- 3', 1, -3),
-            array('n-5', 1, -5),
-            array('odd', 2, 1),
-            array('even', 2, 0),
-            array('3n', 3, 0),
-            array('n', 1, 0),
-            array('+n', 1, 0),
-            array('-n', -1, 0),
-            array('5', 0, 5),
-        );
-    }
-
-    public function getParseSeriesExceptionTestData()
-    {
-        return array(
-            array('foo'),
-            array('n+'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ReaderTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ReaderTest.php
deleted file mode 100644
index 03c054e..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ReaderTest.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser;
-
-use Symfony\Component\CssSelector\Parser\Reader;
-
-class ReaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testIsEOF()
-    {
-        $reader = new Reader('');
-        $this->assertTrue($reader->isEOF());
-
-        $reader = new Reader('hello');
-        $this->assertFalse($reader->isEOF());
-
-        $this->assignPosition($reader, 2);
-        $this->assertFalse($reader->isEOF());
-
-        $this->assignPosition($reader, 5);
-        $this->assertTrue($reader->isEOF());
-    }
-
-    public function testGetRemainingLength()
-    {
-        $reader = new Reader('hello');
-        $this->assertEquals(5, $reader->getRemainingLength());
-
-        $this->assignPosition($reader, 2);
-        $this->assertEquals(3, $reader->getRemainingLength());
-
-        $this->assignPosition($reader, 5);
-        $this->assertEquals(0, $reader->getRemainingLength());
-    }
-
-    public function testGetSubstring()
-    {
-        $reader = new Reader('hello');
-        $this->assertEquals('he', $reader->getSubstring(2));
-        $this->assertEquals('el', $reader->getSubstring(2, 1));
-
-        $this->assignPosition($reader, 2);
-        $this->assertEquals('ll', $reader->getSubstring(2));
-        $this->assertEquals('lo', $reader->getSubstring(2, 1));
-    }
-
-    public function testGetOffset()
-    {
-        $reader = new Reader('hello');
-        $this->assertEquals(2, $reader->getOffset('ll'));
-        $this->assertFalse($reader->getOffset('w'));
-
-        $this->assignPosition($reader, 2);
-        $this->assertEquals(0, $reader->getOffset('ll'));
-        $this->assertFalse($reader->getOffset('he'));
-    }
-
-    public function testFindPattern()
-    {
-        $reader = new Reader('hello');
-
-        $this->assertFalse($reader->findPattern('/world/'));
-        $this->assertEquals(array('hello', 'h'), $reader->findPattern('/^([a-z]).*/'));
-
-        $this->assignPosition($reader, 2);
-        $this->assertFalse($reader->findPattern('/^h.*/'));
-        $this->assertEquals(array('llo'), $reader->findPattern('/^llo$/'));
-    }
-
-    public function testMoveForward()
-    {
-        $reader = new Reader('hello');
-        $this->assertEquals(0, $reader->getPosition());
-
-        $reader->moveForward(2);
-        $this->assertEquals(2, $reader->getPosition());
-    }
-
-    public function testToEnd()
-    {
-        $reader = new Reader('hello');
-        $reader->moveToEnd();
-        $this->assertTrue($reader->isEOF());
-    }
-
-    private function assignPosition(Reader $reader, $value)
-    {
-        $position = new \ReflectionProperty($reader, 'position');
-        $position->setAccessible(true);
-        $position->setValue($reader, $value);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ClassParserTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ClassParserTest.php
deleted file mode 100644
index 6efdd67..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ClassParserTest.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\Shortcut\ClassParser;
-
-/**
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class ClassParserTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getParseTestData */
-    public function testParse($source, $representation)
-    {
-        $parser = new ClassParser();
-        $selectors = $parser->parse($source);
-        $this->assertCount(1, $selectors);
-
-        /** @var SelectorNode $selector */
-        $selector = $selectors[0];
-        $this->assertEquals($representation, (string) $selector->getTree());
-    }
-
-    public function getParseTestData()
-    {
-        return array(
-            array('.testclass', 'Class[Element[*].testclass]'),
-            array('testel.testclass', 'Class[Element[testel].testclass]'),
-            array('testns|.testclass', 'Class[Element[testns|*].testclass]'),
-            array('testns|*.testclass', 'Class[Element[testns|*].testclass]'),
-            array('testns|testel.testclass', 'Class[Element[testns|testel].testclass]'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ElementParserTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ElementParserTest.php
deleted file mode 100644
index b30b5ee..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ElementParserTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\Shortcut\ElementParser;
-
-/**
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class ElementParserTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getParseTestData */
-    public function testParse($source, $representation)
-    {
-        $parser = new ElementParser();
-        $selectors = $parser->parse($source);
-        $this->assertCount(1, $selectors);
-
-        /** @var SelectorNode $selector */
-        $selector = $selectors[0];
-        $this->assertEquals($representation, (string) $selector->getTree());
-    }
-
-    public function getParseTestData()
-    {
-        return array(
-            array('*', 'Element[*]'),
-            array('testel', 'Element[testel]'),
-            array('testns|*', 'Element[testns|*]'),
-            array('testns|testel', 'Element[testns|testel]'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/EmptyStringParserTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/EmptyStringParserTest.php
deleted file mode 100644
index b7c3539..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/EmptyStringParserTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\Shortcut\EmptyStringParser;
-
-/**
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class EmptyStringParserTest extends \PHPUnit_Framework_TestCase
-{
-    public function testParse()
-    {
-        $parser = new EmptyStringParser();
-        $selectors = $parser->parse('');
-        $this->assertCount(1, $selectors);
-
-        /** @var SelectorNode $selector */
-        $selector = $selectors[0];
-        $this->assertEquals('Element[*]', (string) $selector->getTree());
-
-        $selectors = $parser->parse('this will produce an empty array');
-        $this->assertCount(0, $selectors);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/HashParserTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/HashParserTest.php
deleted file mode 100644
index d2ce891..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/HashParserTest.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser\Shortcut;
-
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\Shortcut\HashParser;
-
-/**
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class HashParserTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getParseTestData */
-    public function testParse($source, $representation)
-    {
-        $parser = new HashParser();
-        $selectors = $parser->parse($source);
-        $this->assertCount(1, $selectors);
-
-        /** @var SelectorNode $selector */
-        $selector = $selectors[0];
-        $this->assertEquals($representation, (string) $selector->getTree());
-    }
-
-    public function getParseTestData()
-    {
-        return array(
-            array('#testid', 'Hash[Element[*]#testid]'),
-            array('testel#testid', 'Hash[Element[testel]#testid]'),
-            array('testns|#testid', 'Hash[Element[testns|*]#testid]'),
-            array('testns|*#testid', 'Hash[Element[testns|*]#testid]'),
-            array('testns|testel#testid', 'Hash[Element[testns|testel]#testid]'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/TokenStreamTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/TokenStreamTest.php
deleted file mode 100644
index 8f3253a..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/TokenStreamTest.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\Parser;
-
-use Symfony\Component\CssSelector\Parser\Token;
-use Symfony\Component\CssSelector\Parser\TokenStream;
-
-class TokenStreamTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetNext()
-    {
-        $stream = new TokenStream();
-        $stream->push($t1 = new Token(Token::TYPE_IDENTIFIER, 'h1', 0));
-        $stream->push($t2 = new Token(Token::TYPE_DELIMITER, '.', 2));
-        $stream->push($t3 = new Token(Token::TYPE_IDENTIFIER, 'title', 3));
-
-        $this->assertSame($t1, $stream->getNext());
-        $this->assertSame($t2, $stream->getNext());
-        $this->assertSame($t3, $stream->getNext());
-    }
-
-    public function testGetPeek()
-    {
-        $stream = new TokenStream();
-        $stream->push($t1 = new Token(Token::TYPE_IDENTIFIER, 'h1', 0));
-        $stream->push($t2 = new Token(Token::TYPE_DELIMITER, '.', 2));
-        $stream->push($t3 = new Token(Token::TYPE_IDENTIFIER, 'title', 3));
-
-        $this->assertSame($t1, $stream->getPeek());
-        $this->assertSame($t1, $stream->getNext());
-        $this->assertSame($t2, $stream->getPeek());
-        $this->assertSame($t2, $stream->getPeek());
-        $this->assertSame($t2, $stream->getNext());
-    }
-
-    public function testGetNextIdentifier()
-    {
-        $stream = new TokenStream();
-        $stream->push(new Token(Token::TYPE_IDENTIFIER, 'h1', 0));
-
-        $this->assertEquals('h1', $stream->getNextIdentifier());
-    }
-
-    public function testFailToGetNextIdentifier()
-    {
-        $this->setExpectedException('Symfony\Component\CssSelector\Exception\SyntaxErrorException');
-
-        $stream = new TokenStream();
-        $stream->push(new Token(Token::TYPE_DELIMITER, '.', 2));
-        $stream->getNextIdentifier();
-    }
-
-    public function testGetNextIdentifierOrStar()
-    {
-        $stream = new TokenStream();
-
-        $stream->push(new Token(Token::TYPE_IDENTIFIER, 'h1', 0));
-        $this->assertEquals('h1', $stream->getNextIdentifierOrStar());
-
-        $stream->push(new Token(Token::TYPE_DELIMITER, '*', 0));
-        $this->assertNull($stream->getNextIdentifierOrStar());
-    }
-
-    public function testFailToGetNextIdentifierOrStar()
-    {
-        $this->setExpectedException('Symfony\Component\CssSelector\Exception\SyntaxErrorException');
-
-        $stream = new TokenStream();
-        $stream->push(new Token(Token::TYPE_DELIMITER, '.', 2));
-        $stream->getNextIdentifierOrStar();
-    }
-
-    public function testSkipWhitespace()
-    {
-        $stream = new TokenStream();
-        $stream->push($t1 = new Token(Token::TYPE_IDENTIFIER, 'h1', 0));
-        $stream->push($t2 = new Token(Token::TYPE_WHITESPACE, ' ', 2));
-        $stream->push($t3 = new Token(Token::TYPE_IDENTIFIER, 'h1', 3));
-
-        $stream->skipWhitespace();
-        $this->assertSame($t1, $stream->getNext());
-
-        $stream->skipWhitespace();
-        $this->assertSame($t3, $stream->getNext());
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html
deleted file mode 100644
index 5799fad..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html id="html"><head>
-  <link id="link-href" href="foo" />
-  <link id="link-nohref" />
-</head><body>
-<div id="outer-div">
- <a id="name-anchor" name="foo"></a>
- <a id="tag-anchor" rel="tag" href="http://localhost/foo">link</a>
- <a id="nofollow-anchor" rel="nofollow" href="https://example.org">
-    link</a>
- <ol id="first-ol" class="a b c">
-   <li id="first-li">content</li>
-   <li id="second-li" lang="En-us">
-     <div id="li-div">
-     </div>
-   </li>
-   <li id="third-li" class="ab c"></li>
-   <li id="fourth-li" class="ab
-c"></li>
-   <li id="fifth-li"></li>
-   <li id="sixth-li"></li>
-   <li id="seventh-li">  </li>
- </ol>
- <p id="paragraph">
-   <b id="p-b">hi</b> <em id="p-em">there</em>
-   <b id="p-b2">guy</b>
-   <input type="checkbox" id="checkbox-unchecked" />
-   <input type="checkbox" id="checkbox-disabled" disabled="" />
-   <input type="text" id="text-checked" checked="checked" />
-   <input type="hidden" />
-   <input type="hidden" disabled="disabled" />
-   <input type="checkbox" id="checkbox-checked" checked="checked" />
-   <input type="checkbox" id="checkbox-disabled-checked"
-          disabled="disabled" checked="checked" />
-   <fieldset id="fieldset" disabled="disabled">
-     <input type="checkbox" id="checkbox-fieldset-disabled" />
-     <input type="hidden" />
-   </fieldset>
- </p>
- <ol id="second-ol">
- </ol>
- <map name="dummymap">
-   <area shape="circle" coords="200,250,25" href="foo.html" id="area-href" />
-   <area shape="default" id="area-nohref" />
- </map>
-</div>
-<div id="foobar-div" foobar="ab bc
-cde"><span id="foobar-span"></span></div>
-</body></html>
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/lang.xml b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/lang.xml
deleted file mode 100644
index 14f8dbe..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/lang.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<test>
-  <a id="first" xml:lang="en">a</a>
-  <b id="second" xml:lang="en-US">b</b>
-  <c id="third" xml:lang="en-Nz">c</c>
-  <d id="fourth" xml:lang="En-us">d</d>
-  <e id="fifth" xml:lang="fr">e</e>
-  <f id="sixth" xml:lang="ru">f</f>
-  <g id="seventh" xml:lang="de">
-    <h id="eighth" xml:lang="zh"/>
-  </g>
-</test>
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/shakespear.html b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/shakespear.html
deleted file mode 100644
index 15d1ad3..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/shakespear.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" debug="true">
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-</head>
-<body>
-	<div id="test">
-	<div class="dialog">
-	<h2>As You Like It</h2>
-	<div id="playwright">
-	  by William Shakespeare
-	</div>
-	<div class="dialog scene thirdClass" id="scene1">
-	  <h3>ACT I, SCENE III. A room in the palace.</h3>
-	  <div class="dialog">
-	  <div class="direction">Enter CELIA and ROSALIND</div>
-	  </div>
-	  <div id="speech1" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.1">Why, cousin! why, Rosalind! Cupid have mercy! not a word?</div>
-	  </div>
-	  <div id="speech2" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.2">Not one to throw at a dog.</div>
-	  </div>
-	  <div id="speech3" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.3">No, thy words are too precious to be cast away upon</div>
-	  <div id="scene1.3.4">curs; throw some of them at me; come, lame me with reasons.</div>
-	  </div>
-	  <div id="speech4" class="character">ROSALIND</div>
-	  <div id="speech5" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.8">But is all this for your father?</div>
-	  </div>
-	  <div class="dialog">
-	  <div id="scene1.3.5">Then there were two cousins laid up; when the one</div>
-	  <div id="scene1.3.6">should be lamed with reasons and the other mad</div>
-	  <div id="scene1.3.7">without any.</div>
-	  </div>
-	  <div id="speech6" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.9">No, some of it is for my child's father. O, how</div>
-	  <div id="scene1.3.10">full of briers is this working-day world!</div>
-	  </div>
-	  <div id="speech7" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.11">They are but burs, cousin, thrown upon thee in</div>
-	  <div id="scene1.3.12">holiday foolery: if we walk not in the trodden</div>
-	  <div id="scene1.3.13">paths our very petticoats will catch them.</div>
-	  </div>
-	  <div id="speech8" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.14">I could shake them off my coat: these burs are in my heart.</div>
-	  </div>
-	  <div id="speech9" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.15">Hem them away.</div>
-	  </div>
-	  <div id="speech10" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.16">I would try, if I could cry 'hem' and have him.</div>
-	  </div>
-	  <div id="speech11" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.17">Come, come, wrestle with thy affections.</div>
-	  </div>
-	  <div id="speech12" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.18">O, they take the part of a better wrestler than myself!</div>
-	  </div>
-	  <div id="speech13" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.19">O, a good wish upon you! you will try in time, in</div>
-	  <div id="scene1.3.20">despite of a fall. But, turning these jests out of</div>
-	  <div id="scene1.3.21">service, let us talk in good earnest: is it</div>
-	  <div id="scene1.3.22">possible, on such a sudden, you should fall into so</div>
-	  <div id="scene1.3.23">strong a liking with old Sir Rowland's youngest son?</div>
-	  </div>
-	  <div id="speech14" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.24">The duke my father loved his father dearly.</div>
-	  </div>
-	  <div id="speech15" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.25">Doth it therefore ensue that you should love his son</div>
-	  <div id="scene1.3.26">dearly? By this kind of chase, I should hate him,</div>
-	  <div id="scene1.3.27">for my father hated his father dearly; yet I hate</div>
-	  <div id="scene1.3.28">not Orlando.</div>
-	  </div>
-	  <div id="speech16" class="character">ROSALIND</div>
-	  <div title="wtf" class="dialog">
-	  <div id="scene1.3.29">No, faith, hate him not, for my sake.</div>
-	  </div>
-	  <div id="speech17" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.30">Why should I not? doth he not deserve well?</div>
-	  </div>
-	  <div id="speech18" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.31">Let me love him for that, and do you love him</div>
-	  <div id="scene1.3.32">because I do. Look, here comes the duke.</div>
-	  </div>
-	  <div id="speech19" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.33">With his eyes full of anger.</div>
-	  <div class="direction">Enter DUKE FREDERICK, with Lords</div>
-	  </div>
-	  <div id="speech20" class="character">DUKE FREDERICK</div>
-	  <div class="dialog">
-	  <div id="scene1.3.34">Mistress, dispatch you with your safest haste</div>
-	  <div id="scene1.3.35">And get you from our court.</div>
-	  </div>
-	  <div id="speech21" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.36">Me, uncle?</div>
-	  </div>
-	  <div id="speech22" class="character">DUKE FREDERICK</div>
-	  <div class="dialog">
-	  <div id="scene1.3.37">You, cousin</div>
-	  <div id="scene1.3.38">Within these ten days if that thou be'st found</div>
-	  <div id="scene1.3.39">So near our public court as twenty miles,</div>
-	  <div id="scene1.3.40">Thou diest for it.</div>
-	  </div>
-	  <div id="speech23" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.41">                  I do beseech your grace,</div>
-	  <div id="scene1.3.42">Let me the knowledge of my fault bear with me:</div>
-	  <div id="scene1.3.43">If with myself I hold intelligence</div>
-	  <div id="scene1.3.44">Or have acquaintance with mine own desires,</div>
-	  <div id="scene1.3.45">If that I do not dream or be not frantic,--</div>
-	  <div id="scene1.3.46">As I do trust I am not--then, dear uncle,</div>
-	  <div id="scene1.3.47">Never so much as in a thought unborn</div>
-	  <div id="scene1.3.48">Did I offend your highness.</div>
-	  </div>
-	  <div id="speech24" class="character">DUKE FREDERICK</div>
-	  <div class="dialog">
-	  <div id="scene1.3.49">Thus do all traitors:</div>
-	  <div id="scene1.3.50">If their purgation did consist in words,</div>
-	  <div id="scene1.3.51">They are as innocent as grace itself:</div>
-	  <div id="scene1.3.52">Let it suffice thee that I trust thee not.</div>
-	  </div>
-	  <div id="speech25" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.53">Yet your mistrust cannot make me a traitor:</div>
-	  <div id="scene1.3.54">Tell me whereon the likelihood depends.</div>
-	  </div>
-	  <div id="speech26" class="character">DUKE FREDERICK</div>
-	  <div class="dialog">
-	  <div id="scene1.3.55">Thou art thy father's daughter; there's enough.</div>
-	  </div>
-	  <div id="speech27" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.56">So was I when your highness took his dukedom;</div>
-	  <div id="scene1.3.57">So was I when your highness banish'd him:</div>
-	  <div id="scene1.3.58">Treason is not inherited, my lord;</div>
-	  <div id="scene1.3.59">Or, if we did derive it from our friends,</div>
-	  <div id="scene1.3.60">What's that to me? my father was no traitor:</div>
-	  <div id="scene1.3.61">Then, good my liege, mistake me not so much</div>
-	  <div id="scene1.3.62">To think my poverty is treacherous.</div>
-	  </div>
-	  <div id="speech28" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.63">Dear sovereign, hear me speak.</div>
-	  </div>
-	  <div id="speech29" class="character">DUKE FREDERICK</div>
-	  <div class="dialog">
-	  <div id="scene1.3.64">Ay, Celia; we stay'd her for your sake,</div>
-	  <div id="scene1.3.65">Else had she with her father ranged along.</div>
-	  </div>
-	  <div id="speech30" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.66">I did not then entreat to have her stay;</div>
-	  <div id="scene1.3.67">It was your pleasure and your own remorse:</div>
-	  <div id="scene1.3.68">I was too young that time to value her;</div>
-	  <div id="scene1.3.69">But now I know her: if she be a traitor,</div>
-	  <div id="scene1.3.70">Why so am I; we still have slept together,</div>
-	  <div id="scene1.3.71">Rose at an instant, learn'd, play'd, eat together,</div>
-	  <div id="scene1.3.72">And wheresoever we went, like Juno's swans,</div>
-	  <div id="scene1.3.73">Still we went coupled and inseparable.</div>
-	  </div>
-	  <div id="speech31" class="character">DUKE FREDERICK</div>
-	  <div class="dialog">
-	  <div id="scene1.3.74">She is too subtle for thee; and her smoothness,</div>
-	  <div id="scene1.3.75">Her very silence and her patience</div>
-	  <div id="scene1.3.76">Speak to the people, and they pity her.</div>
-	  <div id="scene1.3.77">Thou art a fool: she robs thee of thy name;</div>
-	  <div id="scene1.3.78">And thou wilt show more bright and seem more virtuous</div>
-	  <div id="scene1.3.79">When she is gone. Then open not thy lips:</div>
-	  <div id="scene1.3.80">Firm and irrevocable is my doom</div>
-	  <div id="scene1.3.81">Which I have pass'd upon her; she is banish'd.</div>
-	  </div>
-	  <div id="speech32" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.82">Pronounce that sentence then on me, my liege:</div>
-	  <div id="scene1.3.83">I cannot live out of her company.</div>
-	  </div>
-	  <div id="speech33" class="character">DUKE FREDERICK</div>
-	  <div class="dialog">
-	  <div id="scene1.3.84">You are a fool. You, niece, provide yourself:</div>
-	  <div id="scene1.3.85">If you outstay the time, upon mine honour,</div>
-	  <div id="scene1.3.86">And in the greatness of my word, you die.</div>
-	  <div class="direction">Exeunt DUKE FREDERICK and Lords</div>
-	  </div>
-	  <div id="speech34" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.87">O my poor Rosalind, whither wilt thou go?</div>
-	  <div id="scene1.3.88">Wilt thou change fathers? I will give thee mine.</div>
-	  <div id="scene1.3.89">I charge thee, be not thou more grieved than I am.</div>
-	  </div>
-	  <div id="speech35" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.90">I have more cause.</div>
-	  </div>
-	  <div id="speech36" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.91">                  Thou hast not, cousin;</div>
-	  <div id="scene1.3.92">Prithee be cheerful: know'st thou not, the duke</div>
-	  <div id="scene1.3.93">Hath banish'd me, his daughter?</div>
-	  </div>
-	  <div id="speech37" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.94">That he hath not.</div>
-	  </div>
-	  <div id="speech38" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.95">No, hath not? Rosalind lacks then the love</div>
-	  <div id="scene1.3.96">Which teacheth thee that thou and I am one:</div>
-	  <div id="scene1.3.97">Shall we be sunder'd? shall we part, sweet girl?</div>
-	  <div id="scene1.3.98">No: let my father seek another heir.</div>
-	  <div id="scene1.3.99">Therefore devise with me how we may fly,</div>
-	  <div id="scene1.3.100">Whither to go and what to bear with us;</div>
-	  <div id="scene1.3.101">And do not seek to take your change upon you,</div>
-	  <div id="scene1.3.102">To bear your griefs yourself and leave me out;</div>
-	  <div id="scene1.3.103">For, by this heaven, now at our sorrows pale,</div>
-	  <div id="scene1.3.104">Say what thou canst, I'll go along with thee.</div>
-	  </div>
-	  <div id="speech39" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.105">Why, whither shall we go?</div>
-	  </div>
-	  <div id="speech40" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.106">To seek my uncle in the forest of Arden.</div>
-	  </div>
-	  <div id="speech41" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.107">Alas, what danger will it be to us,</div>
-	  <div id="scene1.3.108">Maids as we are, to travel forth so far!</div>
-	  <div id="scene1.3.109">Beauty provoketh thieves sooner than gold.</div>
-	  </div>
-	  <div id="speech42" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.110">I'll put myself in poor and mean attire</div>
-	  <div id="scene1.3.111">And with a kind of umber smirch my face;</div>
-	  <div id="scene1.3.112">The like do you: so shall we pass along</div>
-	  <div id="scene1.3.113">And never stir assailants.</div>
-	  </div>
-	  <div id="speech43" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.114">Were it not better,</div>
-	  <div id="scene1.3.115">Because that I am more than common tall,</div>
-	  <div id="scene1.3.116">That I did suit me all points like a man?</div>
-	  <div id="scene1.3.117">A gallant curtle-axe upon my thigh,</div>
-	  <div id="scene1.3.118">A boar-spear in my hand; and--in my heart</div>
-	  <div id="scene1.3.119">Lie there what hidden woman's fear there will--</div>
-	  <div id="scene1.3.120">We'll have a swashing and a martial outside,</div>
-	  <div id="scene1.3.121">As many other mannish cowards have</div>
-	  <div id="scene1.3.122">That do outface it with their semblances.</div>
-	  </div>
-	  <div id="speech44" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.123">What shall I call thee when thou art a man?</div>
-	  </div>
-	  <div id="speech45" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.124">I'll have no worse a name than Jove's own page;</div>
-	  <div id="scene1.3.125">And therefore look you call me Ganymede.</div>
-	  <div id="scene1.3.126">But what will you be call'd?</div>
-	  </div>
-	  <div id="speech46" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.127">Something that hath a reference to my state</div>
-	  <div id="scene1.3.128">No longer Celia, but Aliena.</div>
-	  </div>
-	  <div id="speech47" class="character">ROSALIND</div>
-	  <div class="dialog">
-	  <div id="scene1.3.129">But, cousin, what if we assay'd to steal</div>
-	  <div id="scene1.3.130">The clownish fool out of your father's court?</div>
-	  <div id="scene1.3.131">Would he not be a comfort to our travel?</div>
-	  </div>
-	  <div id="speech48" class="character">CELIA</div>
-	  <div class="dialog">
-	  <div id="scene1.3.132">He'll go along o'er the wide world with me;</div>
-	  <div id="scene1.3.133">Leave me alone to woo him. Let's away,</div>
-	  <div id="scene1.3.134">And get our jewels and our wealth together,</div>
-	  <div id="scene1.3.135">Devise the fittest time and safest way</div>
-	  <div id="scene1.3.136">To hide us from pursuit that will be made</div>
-	  <div id="scene1.3.137">After my flight. Now go we in content</div>
-	  <div id="scene1.3.138">To liberty and not to banishment.</div>
-	  <div class="direction">Exeunt</div>
-	  </div>
-	</div>
-	</div>
-</div>
-</body>
-</html>
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php
deleted file mode 100644
index 143328f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php
+++ /dev/null
@@ -1,324 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\Tests\XPath;
-
-use Symfony\Component\CssSelector\XPath\Extension\HtmlExtension;
-use Symfony\Component\CssSelector\XPath\Translator;
-
-class TranslatorTest extends \PHPUnit_Framework_TestCase
-{
-    /** @dataProvider getXpathLiteralTestData */
-    public function testXpathLiteral($value, $literal)
-    {
-        $this->assertEquals($literal, Translator::getXpathLiteral($value));
-    }
-
-    /** @dataProvider getCssToXPathTestData */
-    public function testCssToXPath($css, $xpath)
-    {
-        $translator = new Translator();
-        $translator->registerExtension(new HtmlExtension($translator));
-        $this->assertEquals($xpath, $translator->cssToXPath($css, ''));
-    }
-
-    /** @dataProvider getXmlLangTestData */
-    public function testXmlLang($css, array $elementsId)
-    {
-        $translator = new Translator();
-        $document = new \SimpleXMLElement(file_get_contents(__DIR__.'/Fixtures/lang.xml'));
-        $elements = $document->xpath($translator->cssToXPath($css));
-        $this->assertEquals(count($elementsId), count($elements));
-        foreach ($elements as $element) {
-            $this->assertTrue(in_array($element->attributes()->id, $elementsId));
-        }
-    }
-
-    /** @dataProvider getHtmlIdsTestData */
-    public function testHtmlIds($css, array $elementsId)
-    {
-        $translator = new Translator();
-        $translator->registerExtension(new HtmlExtension($translator));
-        $document = new \DOMDocument();
-        $document->strictErrorChecking = false;
-        $internalErrors = libxml_use_internal_errors(true);
-        $document->loadHTMLFile(__DIR__.'/Fixtures/ids.html');
-        $document = simplexml_import_dom($document);
-        $elements = $document->xpath($translator->cssToXPath($css));
-        $this->assertCount(count($elementsId), $elementsId);
-        foreach ($elements as $element) {
-            if (null !== $element->attributes()->id) {
-                $this->assertTrue(in_array($element->attributes()->id, $elementsId));
-            }
-        }
-        libxml_clear_errors();
-        libxml_use_internal_errors($internalErrors);
-    }
-
-    /** @dataProvider getHtmlShakespearTestData */
-    public function testHtmlShakespear($css, $count)
-    {
-        $translator = new Translator();
-        $translator->registerExtension(new HtmlExtension($translator));
-        $document = new \DOMDocument();
-        $document->strictErrorChecking = false;
-        $document->loadHTMLFile(__DIR__.'/Fixtures/shakespear.html');
-        $document = simplexml_import_dom($document);
-        $bodies = $document->xpath('//body');
-        $elements = $bodies[0]->xpath($translator->cssToXPath($css));
-        $this->assertEquals($count, count($elements));
-    }
-
-    public function getXpathLiteralTestData()
-    {
-        return array(
-            array('foo', "'foo'"),
-            array("foo's bar", '"foo\'s bar"'),
-            array("foo's \"middle\" bar", 'concat(\'foo\', "\'", \'s "middle" bar\')'),
-            array("foo's 'middle' \"bar\"", 'concat(\'foo\', "\'", \'s \', "\'", \'middle\', "\'", \' "bar"\')'),
-        );
-    }
-
-    public function getCssToXPathTestData()
-    {
-        return array(
-            array('*', '*'),
-            array('e', 'e'),
-            array('*|e', 'e'),
-            array('e|f', 'e:f'),
-            array('e[foo]', 'e[@foo]'),
-            array('e[foo|bar]', 'e[@foo:bar]'),
-            array('e[foo="bar"]', "e[@foo = 'bar']"),
-            array('e[foo~="bar"]', "e[@foo and contains(concat(' ', normalize-space(@foo), ' '), ' bar ')]"),
-            array('e[foo^="bar"]', "e[@foo and starts-with(@foo, 'bar')]"),
-            array('e[foo$="bar"]', "e[@foo and substring(@foo, string-length(@foo)-2) = 'bar']"),
-            array('e[foo*="bar"]', "e[@foo and contains(@foo, 'bar')]"),
-            array('e[hreflang|="en"]', "e[@hreflang and (@hreflang = 'en' or starts-with(@hreflang, 'en-'))]"),
-            array('e:nth-child(1)', "*/*[name() = 'e' and (position() = 1)]"),
-            array('e:nth-last-child(1)', "*/*[name() = 'e' and (position() = last() - 0)]"),
-            array('e:nth-last-child(2n+2)', "*/*[name() = 'e' and (last() - position() - 1 >= 0 and (last() - position() - 1) mod 2 = 0)]"),
-            array('e:nth-of-type(1)', '*/e[position() = 1]'),
-            array('e:nth-last-of-type(1)', '*/e[position() = last() - 0]'),
-            array('div e:nth-last-of-type(1) .aclass', "div/descendant-or-self::*/e[position() = last() - 0]/descendant-or-self::*/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' aclass ')]"),
-            array('e:first-child', "*/*[name() = 'e' and (position() = 1)]"),
-            array('e:last-child', "*/*[name() = 'e' and (position() = last())]"),
-            array('e:first-of-type', '*/e[position() = 1]'),
-            array('e:last-of-type', '*/e[position() = last()]'),
-            array('e:only-child', "*/*[name() = 'e' and (last() = 1)]"),
-            array('e:only-of-type', 'e[last() = 1]'),
-            array('e:empty', 'e[not(*) and not(string-length())]'),
-            array('e:EmPTY', 'e[not(*) and not(string-length())]'),
-            array('e:root', 'e[not(parent::*)]'),
-            array('e:hover', 'e[0]'),
-            array('e:contains("foo")', "e[contains(string(.), 'foo')]"),
-            array('e:ConTains(foo)', "e[contains(string(.), 'foo')]"),
-            array('e.warning', "e[@class and contains(concat(' ', normalize-space(@class), ' '), ' warning ')]"),
-            array('e#myid', "e[@id = 'myid']"),
-            array('e:not(:nth-child(odd))', 'e[not(position() - 1 >= 0 and (position() - 1) mod 2 = 0)]'),
-            array('e:nOT(*)', 'e[0]'),
-            array('e f', 'e/descendant-or-self::*/f'),
-            array('e > f', 'e/f'),
-            array('e + f', "e/following-sibling::*[name() = 'f' and (position() = 1)]"),
-            array('e ~ f', 'e/following-sibling::f'),
-            array('div#container p', "div[@id = 'container']/descendant-or-self::*/p"),
-        );
-    }
-
-    public function getXmlLangTestData()
-    {
-        return array(
-            array(':lang("EN")', array('first', 'second', 'third', 'fourth')),
-            array(':lang("en-us")', array('second', 'fourth')),
-            array(':lang(en-nz)', array('third')),
-            array(':lang(fr)', array('fifth')),
-            array(':lang(ru)', array('sixth')),
-            array(":lang('ZH')", array('eighth')),
-            array(':lang(de) :lang(zh)', array('eighth')),
-            array(':lang(en), :lang(zh)', array('first', 'second', 'third', 'fourth', 'eighth')),
-            array(':lang(es)', array()),
-        );
-    }
-
-    public function getHtmlIdsTestData()
-    {
-        return array(
-            array('div', array('outer-div', 'li-div', 'foobar-div')),
-            array('DIV', array('outer-div', 'li-div', 'foobar-div')),  // case-insensitive in HTML
-            array('div div', array('li-div')),
-            array('div, div div', array('outer-div', 'li-div', 'foobar-div')),
-            array('a[name]', array('name-anchor')),
-            array('a[NAme]', array('name-anchor')), // case-insensitive in HTML:
-            array('a[rel]', array('tag-anchor', 'nofollow-anchor')),
-            array('a[rel="tag"]', array('tag-anchor')),
-            array('a[href*="localhost"]', array('tag-anchor')),
-            array('a[href*=""]', array()),
-            array('a[href^="http"]', array('tag-anchor', 'nofollow-anchor')),
-            array('a[href^="http:"]', array('tag-anchor')),
-            array('a[href^=""]', array()),
-            array('a[href$="org"]', array('nofollow-anchor')),
-            array('a[href$=""]', array()),
-            array('div[foobar~="bc"]', array('foobar-div')),
-            array('div[foobar~="cde"]', array('foobar-div')),
-            array('[foobar~="ab bc"]', array('foobar-div')),
-            array('[foobar~=""]', array()),
-            array('[foobar~=" \t"]', array()),
-            array('div[foobar~="cd"]', array()),
-            array('*[lang|="En"]', array('second-li')),
-            array('[lang|="En-us"]', array('second-li')),
-            // Attribute values are case sensitive
-            array('*[lang|="en"]', array()),
-            array('[lang|="en-US"]', array()),
-            array('*[lang|="e"]', array()),
-            // ... :lang() is not.
-            array(':lang("EN")', array('second-li', 'li-div')),
-            array('*:lang(en-US)', array('second-li', 'li-div')),
-            array(':lang("e")', array()),
-            array('li:nth-child(3)', array('third-li')),
-            array('li:nth-child(10)', array()),
-            array('li:nth-child(2n)', array('second-li', 'fourth-li', 'sixth-li')),
-            array('li:nth-child(even)', array('second-li', 'fourth-li', 'sixth-li')),
-            array('li:nth-child(2n+0)', array('second-li', 'fourth-li', 'sixth-li')),
-            array('li:nth-child(+2n+1)', array('first-li', 'third-li', 'fifth-li', 'seventh-li')),
-            array('li:nth-child(odd)', array('first-li', 'third-li', 'fifth-li', 'seventh-li')),
-            array('li:nth-child(2n+4)', array('fourth-li', 'sixth-li')),
-            array('li:nth-child(3n+1)', array('first-li', 'fourth-li', 'seventh-li')),
-            array('li:nth-child(n)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-child(n-1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-child(n+1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-child(n+3)', array('third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-child(-n)', array()),
-            array('li:nth-child(-n-1)', array()),
-            array('li:nth-child(-n+1)', array('first-li')),
-            array('li:nth-child(-n+3)', array('first-li', 'second-li', 'third-li')),
-            array('li:nth-last-child(0)', array()),
-            array('li:nth-last-child(2n)', array('second-li', 'fourth-li', 'sixth-li')),
-            array('li:nth-last-child(even)', array('second-li', 'fourth-li', 'sixth-li')),
-            array('li:nth-last-child(2n+2)', array('second-li', 'fourth-li', 'sixth-li')),
-            array('li:nth-last-child(n)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-last-child(n-1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-last-child(n-3)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-last-child(n+1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')),
-            array('li:nth-last-child(n+3)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li')),
-            array('li:nth-last-child(-n)', array()),
-            array('li:nth-last-child(-n-1)', array()),
-            array('li:nth-last-child(-n+1)', array('seventh-li')),
-            array('li:nth-last-child(-n+3)', array('fifth-li', 'sixth-li', 'seventh-li')),
-            array('ol:first-of-type', array('first-ol')),
-            array('ol:nth-child(1)', array('first-ol')),
-            array('ol:nth-of-type(2)', array('second-ol')),
-            array('ol:nth-last-of-type(1)', array('second-ol')),
-            array('span:only-child', array('foobar-span')),
-            array('li div:only-child', array('li-div')),
-            array('div *:only-child', array('li-div', 'foobar-span')),
-            array('p:only-of-type', array('paragraph')),
-            array('a:empty', array('name-anchor')),
-            array('a:EMpty', array('name-anchor')),
-            array('li:empty', array('third-li', 'fourth-li', 'fifth-li', 'sixth-li')),
-            array(':root', array('html')),
-            array('html:root', array('html')),
-            array('li:root', array()),
-            array('* :root', array()),
-            array('*:contains("link")', array('html', 'outer-div', 'tag-anchor', 'nofollow-anchor')),
-            array(':CONtains("link")', array('html', 'outer-div', 'tag-anchor', 'nofollow-anchor')),
-            array('*:contains("LInk")', array()),  // case sensitive
-            array('*:contains("e")', array('html', 'nil', 'outer-div', 'first-ol', 'first-li', 'paragraph', 'p-em')),
-            array('*:contains("E")', array()),  // case-sensitive
-            array('.a', array('first-ol')),
-            array('.b', array('first-ol')),
-            array('*.a', array('first-ol')),
-            array('ol.a', array('first-ol')),
-            array('.c', array('first-ol', 'third-li', 'fourth-li')),
-            array('*.c', array('first-ol', 'third-li', 'fourth-li')),
-            array('ol *.c', array('third-li', 'fourth-li')),
-            array('ol li.c', array('third-li', 'fourth-li')),
-            array('li ~ li.c', array('third-li', 'fourth-li')),
-            array('ol > li.c', array('third-li', 'fourth-li')),
-            array('#first-li', array('first-li')),
-            array('li#first-li', array('first-li')),
-            array('*#first-li', array('first-li')),
-            array('li div', array('li-div')),
-            array('li > div', array('li-div')),
-            array('div div', array('li-div')),
-            array('div > div', array()),
-            array('div>.c', array('first-ol')),
-            array('div > .c', array('first-ol')),
-            array('div + div', array('foobar-div')),
-            array('a ~ a', array('tag-anchor', 'nofollow-anchor')),
-            array('a[rel="tag"] ~ a', array('nofollow-anchor')),
-            array('ol#first-ol li:last-child', array('seventh-li')),
-            array('ol#first-ol *:last-child', array('li-div', 'seventh-li')),
-            array('#outer-div:first-child', array('outer-div')),
-            array('#outer-div :first-child', array('name-anchor', 'first-li', 'li-div', 'p-b', 'checkbox-fieldset-disabled', 'area-href')),
-            array('a[href]', array('tag-anchor', 'nofollow-anchor')),
-            array(':not(*)', array()),
-            array('a:not([href])', array('name-anchor')),
-            array('ol :Not(li[class])', array('first-li', 'second-li', 'li-div', 'fifth-li', 'sixth-li', 'seventh-li')),
-            // HTML-specific
-            array(':link', array('link-href', 'tag-anchor', 'nofollow-anchor', 'area-href')),
-            array(':visited', array()),
-            array(':enabled', array('link-href', 'tag-anchor', 'nofollow-anchor', 'checkbox-unchecked', 'text-checked', 'checkbox-checked', 'area-href')),
-            array(':disabled', array('checkbox-disabled', 'checkbox-disabled-checked', 'fieldset', 'checkbox-fieldset-disabled')),
-            array(':checked', array('checkbox-checked', 'checkbox-disabled-checked')),
-        );
-    }
-
-    public function getHtmlShakespearTestData()
-    {
-        return array(
-            array('*', 246),
-            array('div:contains(CELIA)', 26),
-            array('div:only-child', 22), // ?
-            array('div:nth-child(even)', 106),
-            array('div:nth-child(2n)', 106),
-            array('div:nth-child(odd)', 137),
-            array('div:nth-child(2n+1)', 137),
-            array('div:nth-child(n)', 243),
-            array('div:last-child', 53),
-            array('div:first-child', 51),
-            array('div > div', 242),
-            array('div + div', 190),
-            array('div ~ div', 190),
-            array('body', 1),
-            array('body div', 243),
-            array('div', 243),
-            array('div div', 242),
-            array('div div div', 241),
-            array('div, div, div', 243),
-            array('div, a, span', 243),
-            array('.dialog', 51),
-            array('div.dialog', 51),
-            array('div .dialog', 51),
-            array('div.character, div.dialog', 99),
-            array('div.direction.dialog', 0),
-            array('div.dialog.direction', 0),
-            array('div.dialog.scene', 1),
-            array('div.scene.scene', 1),
-            array('div.scene .scene', 0),
-            array('div.direction .dialog ', 0),
-            array('div .dialog .direction', 4),
-            array('div.dialog .dialog .direction', 4),
-            array('#speech5', 1),
-            array('div#speech5', 1),
-            array('div #speech5', 1),
-            array('div.scene div.dialog', 49),
-            array('div#scene1 div.dialog div', 142),
-            array('#scene1 #speech1', 1),
-            array('div[class]', 103),
-            array('div[class=dialog]', 50),
-            array('div[class^=dia]', 51),
-            array('div[class$=log]', 50),
-            array('div[class*=sce]', 1),
-            array('div[class|=dialog]', 50), // ? Seems right
-            array('div[class!=madeup]', 243), // ? Seems right
-            array('div[class~=dialog]', 51), // ? Seems right
-        );
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AbstractExtension.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AbstractExtension.php
deleted file mode 100644
index c70609c..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AbstractExtension.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-/**
- * XPath expression translator abstract extension.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-abstract class AbstractExtension implements ExtensionInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getNodeTranslators()
-    {
-        return array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCombinationTranslators()
-    {
-        return array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctionTranslators()
-    {
-        return array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPseudoClassTranslators()
-    {
-        return array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAttributeMatchingTranslators()
-    {
-        return array();
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AttributeMatchingExtension.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AttributeMatchingExtension.php
deleted file mode 100644
index cbe48c5..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AttributeMatchingExtension.php
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-use Symfony\Component\CssSelector\XPath\Translator;
-use Symfony\Component\CssSelector\XPath\XPathExpr;
-
-/**
- * XPath expression translator attribute extension.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class AttributeMatchingExtension extends AbstractExtension
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getAttributeMatchingTranslators()
-    {
-        return array(
-            'exists' => array($this, 'translateExists'),
-            '=' => array($this, 'translateEquals'),
-            '~=' => array($this, 'translateIncludes'),
-            '|=' => array($this, 'translateDashMatch'),
-            '^=' => array($this, 'translatePrefixMatch'),
-            '$=' => array($this, 'translateSuffixMatch'),
-            '*=' => array($this, 'translateSubstringMatch'),
-            '!=' => array($this, 'translateDifferent'),
-        );
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translateExists(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition($attribute);
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translateEquals(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition(sprintf('%s = %s', $attribute, Translator::getXpathLiteral($value)));
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translateIncludes(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition($value ? sprintf(
-            '%1$s and contains(concat(\' \', normalize-space(%1$s), \' \'), %2$s)',
-            $attribute,
-            Translator::getXpathLiteral(' '.$value.' ')
-        ) : '0');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translateDashMatch(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition(sprintf(
-            '%1$s and (%1$s = %2$s or starts-with(%1$s, %3$s))',
-            $attribute,
-            Translator::getXpathLiteral($value),
-            Translator::getXpathLiteral($value.'-')
-        ));
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translatePrefixMatch(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition($value ? sprintf(
-            '%1$s and starts-with(%1$s, %2$s)',
-            $attribute,
-            Translator::getXpathLiteral($value)
-        ) : '0');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translateSuffixMatch(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition($value ? sprintf(
-            '%1$s and substring(%1$s, string-length(%1$s)-%2$s) = %3$s',
-            $attribute,
-            strlen($value) - 1,
-            Translator::getXpathLiteral($value)
-        ) : '0');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translateSubstringMatch(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition($value ? sprintf(
-            '%1$s and contains(%1$s, %2$s)',
-            $attribute,
-            Translator::getXpathLiteral($value)
-        ) : '0');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @return XPathExpr
-     */
-    public function translateDifferent(XPathExpr $xpath, $attribute, $value)
-    {
-        return $xpath->addCondition(sprintf(
-            $value ? 'not(%1$s) or %1$s != %2$s' : '%s != %s',
-            $attribute,
-            Translator::getXpathLiteral($value)
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'attribute-matching';
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/CombinationExtension.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/CombinationExtension.php
deleted file mode 100644
index 9ce018f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/CombinationExtension.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-use Symfony\Component\CssSelector\XPath\XPathExpr;
-
-/**
- * XPath expression translator combination extension.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class CombinationExtension extends AbstractExtension
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getCombinationTranslators()
-    {
-        return array(
-            ' ' => array($this, 'translateDescendant'),
-            '>' => array($this, 'translateChild'),
-            '+' => array($this, 'translateDirectAdjacent'),
-            '~' => array($this, 'translateIndirectAdjacent'),
-        );
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param XPathExpr $combinedXpath
-     *
-     * @return XPathExpr
-     */
-    public function translateDescendant(XPathExpr $xpath, XPathExpr $combinedXpath)
-    {
-        return $xpath->join('/descendant-or-self::*/', $combinedXpath);
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param XPathExpr $combinedXpath
-     *
-     * @return XPathExpr
-     */
-    public function translateChild(XPathExpr $xpath, XPathExpr $combinedXpath)
-    {
-        return $xpath->join('/', $combinedXpath);
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param XPathExpr $combinedXpath
-     *
-     * @return XPathExpr
-     */
-    public function translateDirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath)
-    {
-        return $xpath
-            ->join('/following-sibling::', $combinedXpath)
-            ->addNameTest()
-            ->addCondition('position() = 1');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param XPathExpr $combinedXpath
-     *
-     * @return XPathExpr
-     */
-    public function translateIndirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath)
-    {
-        return $xpath->join('/following-sibling::', $combinedXpath);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'combination';
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/ExtensionInterface.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/ExtensionInterface.php
deleted file mode 100644
index 9b47f24..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/ExtensionInterface.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-/**
- * XPath expression translator extension interface.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-interface ExtensionInterface
-{
-    /**
-     * Returns node translators.
-     *
-     * These callables will receive the node as first argument and the translator as second argument.
-     *
-     * @return callable[]
-     */
-    public function getNodeTranslators();
-
-    /**
-     * Returns combination translators.
-     *
-     * @return callable[]
-     */
-    public function getCombinationTranslators();
-
-    /**
-     * Returns function translators.
-     *
-     * @return callable[]
-     */
-    public function getFunctionTranslators();
-
-    /**
-     * Returns pseudo-class translators.
-     *
-     * @return callable[]
-     */
-    public function getPseudoClassTranslators();
-
-    /**
-     * Returns attribute operation translators.
-     *
-     * @return callable[]
-     */
-    public function getAttributeMatchingTranslators();
-
-    /**
-     * Returns extension name.
-     *
-     * @return string
-     */
-    public function getName();
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php
deleted file mode 100644
index 0086240..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-use Symfony\Component\CssSelector\Exception\ExpressionErrorException;
-use Symfony\Component\CssSelector\Exception\SyntaxErrorException;
-use Symfony\Component\CssSelector\Node\FunctionNode;
-use Symfony\Component\CssSelector\Parser\Parser;
-use Symfony\Component\CssSelector\XPath\Translator;
-use Symfony\Component\CssSelector\XPath\XPathExpr;
-
-/**
- * XPath expression translator function extension.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class FunctionExtension extends AbstractExtension
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctionTranslators()
-    {
-        return array(
-            'nth-child' => array($this, 'translateNthChild'),
-            'nth-last-child' => array($this, 'translateNthLastChild'),
-            'nth-of-type' => array($this, 'translateNthOfType'),
-            'nth-last-of-type' => array($this, 'translateNthLastOfType'),
-            'contains' => array($this, 'translateContains'),
-            'lang' => array($this, 'translateLang'),
-        );
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     * @param bool         $last
-     * @param bool         $addNameTest
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateNthChild(XPathExpr $xpath, FunctionNode $function, $last = false, $addNameTest = true)
-    {
-        try {
-            list($a, $b) = Parser::parseSeries($function->getArguments());
-        } catch (SyntaxErrorException $e) {
-            throw new ExpressionErrorException(sprintf('Invalid series: %s', implode(', ', $function->getArguments())), 0, $e);
-        }
-
-        $xpath->addStarPrefix();
-        if ($addNameTest) {
-            $xpath->addNameTest();
-        }
-
-        if (0 === $a) {
-            return $xpath->addCondition('position() = '.($last ? 'last() - '.($b - 1) : $b));
-        }
-
-        if ($a < 0) {
-            if ($b < 1) {
-                return $xpath->addCondition('false()');
-            }
-
-            $sign = '<=';
-        } else {
-            $sign = '>=';
-        }
-
-        $expr = 'position()';
-
-        if ($last) {
-            $expr = 'last() - '.$expr;
-            $b--;
-        }
-
-        if (0 !== $b) {
-            $expr .= ' - '.$b;
-        }
-
-        $conditions = array(sprintf('%s %s 0', $expr, $sign));
-
-        if (1 !== $a && -1 !== $a) {
-            $conditions[] = sprintf('(%s) mod %d = 0', $expr, $a);
-        }
-
-        return $xpath->addCondition(implode(' and ', $conditions));
-
-        // todo: handle an+b, odd, even
-        // an+b means every-a, plus b, e.g., 2n+1 means odd
-        // 0n+b means b
-        // n+0 means a=1, i.e., all elements
-        // an means every a elements, i.e., 2n means even
-        // -n means -1n
-        // -1n+6 means elements 6 and previous
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     *
-     * @return XPathExpr
-     */
-    public function translateNthLastChild(XPathExpr $xpath, FunctionNode $function)
-    {
-        return $this->translateNthChild($xpath, $function, true);
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     *
-     * @return XPathExpr
-     */
-    public function translateNthOfType(XPathExpr $xpath, FunctionNode $function)
-    {
-        return $this->translateNthChild($xpath, $function, false, false);
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateNthLastOfType(XPathExpr $xpath, FunctionNode $function)
-    {
-        if ('*' === $xpath->getElement()) {
-            throw new ExpressionErrorException('"*:nth-of-type()" is not implemented.');
-        }
-
-        return $this->translateNthChild($xpath, $function, true, false);
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateContains(XPathExpr $xpath, FunctionNode $function)
-    {
-        $arguments = $function->getArguments();
-        foreach ($arguments as $token) {
-            if (!($token->isString() || $token->isIdentifier())) {
-                throw new ExpressionErrorException(
-                    'Expected a single string or identifier for :contains(), got '
-                    .implode(', ', $arguments)
-                );
-            }
-        }
-
-        return $xpath->addCondition(sprintf(
-            'contains(string(.), %s)',
-            Translator::getXpathLiteral($arguments[0]->getValue())
-        ));
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateLang(XPathExpr $xpath, FunctionNode $function)
-    {
-        $arguments = $function->getArguments();
-        foreach ($arguments as $token) {
-            if (!($token->isString() || $token->isIdentifier())) {
-                throw new ExpressionErrorException(
-                    'Expected a single string or identifier for :lang(), got '
-                    .implode(', ', $arguments)
-                );
-            }
-        }
-
-        return $xpath->addCondition(sprintf(
-            'lang(%s)',
-            Translator::getXpathLiteral($arguments[0]->getValue())
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'function';
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/HtmlExtension.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/HtmlExtension.php
deleted file mode 100644
index 0da74d4..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/HtmlExtension.php
+++ /dev/null
@@ -1,238 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-use Symfony\Component\CssSelector\Exception\ExpressionErrorException;
-use Symfony\Component\CssSelector\Node\FunctionNode;
-use Symfony\Component\CssSelector\XPath\Translator;
-use Symfony\Component\CssSelector\XPath\XPathExpr;
-
-/**
- * XPath expression translator HTML extension.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class HtmlExtension extends AbstractExtension
-{
-    /**
-     * Constructor.
-     *
-     * @param Translator $translator
-     */
-    public function __construct(Translator $translator)
-    {
-        $translator
-            ->getExtension('node')
-            ->setFlag(NodeExtension::ELEMENT_NAME_IN_LOWER_CASE, true)
-            ->setFlag(NodeExtension::ATTRIBUTE_NAME_IN_LOWER_CASE, true);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPseudoClassTranslators()
-    {
-        return array(
-            'checked' => array($this, 'translateChecked'),
-            'link' => array($this, 'translateLink'),
-            'disabled' => array($this, 'translateDisabled'),
-            'enabled' => array($this, 'translateEnabled'),
-            'selected' => array($this, 'translateSelected'),
-            'invalid' => array($this, 'translateInvalid'),
-            'hover' => array($this, 'translateHover'),
-            'visited' => array($this, 'translateVisited'),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctionTranslators()
-    {
-        return array(
-            'lang' => array($this, 'translateLang'),
-        );
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateChecked(XPathExpr $xpath)
-    {
-        return $xpath->addCondition(
-            '(@checked '
-            ."and (name(.) = 'input' or name(.) = 'command')"
-            ."and (@type = 'checkbox' or @type = 'radio'))"
-        );
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateLink(XPathExpr $xpath)
-    {
-        return $xpath->addCondition("@href and (name(.) = 'a' or name(.) = 'link' or name(.) = 'area')");
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateDisabled(XPathExpr $xpath)
-    {
-        return $xpath->addCondition(
-            '('
-                .'@disabled and'
-                .'('
-                    ."(name(.) = 'input' and @type != 'hidden')"
-                    ." or name(.) = 'button'"
-                    ." or name(.) = 'select'"
-                    ." or name(.) = 'textarea'"
-                    ." or name(.) = 'command'"
-                    ." or name(.) = 'fieldset'"
-                    ." or name(.) = 'optgroup'"
-                    ." or name(.) = 'option'"
-                .')'
-            .') or ('
-                ."(name(.) = 'input' and @type != 'hidden')"
-                ." or name(.) = 'button'"
-                ." or name(.) = 'select'"
-                ." or name(.) = 'textarea'"
-            .')'
-            .' and ancestor::fieldset[@disabled]'
-        );
-        // todo: in the second half, add "and is not a descendant of that fieldset element's first legend element child, if any."
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateEnabled(XPathExpr $xpath)
-    {
-        return $xpath->addCondition(
-            '('
-                .'@href and ('
-                    ."name(.) = 'a'"
-                    ." or name(.) = 'link'"
-                    ." or name(.) = 'area'"
-                .')'
-            .') or ('
-                .'('
-                    ."name(.) = 'command'"
-                    ." or name(.) = 'fieldset'"
-                    ." or name(.) = 'optgroup'"
-                .')'
-                .' and not(@disabled)'
-            .') or ('
-                .'('
-                    ."(name(.) = 'input' and @type != 'hidden')"
-                    ." or name(.) = 'button'"
-                    ." or name(.) = 'select'"
-                    ." or name(.) = 'textarea'"
-                    ." or name(.) = 'keygen'"
-                .')'
-                .' and not (@disabled or ancestor::fieldset[@disabled])'
-            .') or ('
-                ."name(.) = 'option' and not("
-                    .'@disabled or ancestor::optgroup[@disabled]'
-                .')'
-            .')'
-        );
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateLang(XPathExpr $xpath, FunctionNode $function)
-    {
-        $arguments = $function->getArguments();
-        foreach ($arguments as $token) {
-            if (!($token->isString() || $token->isIdentifier())) {
-                throw new ExpressionErrorException(
-                    'Expected a single string or identifier for :lang(), got '
-                    .implode(', ', $arguments)
-                );
-            }
-        }
-
-        return $xpath->addCondition(sprintf(
-            'ancestor-or-self::*[@lang][1][starts-with(concat('
-            ."translate(@%s, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '-')"
-            .', %s)]',
-            'lang',
-            Translator::getXpathLiteral(strtolower($arguments[0]->getValue()).'-')
-        ));
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateSelected(XPathExpr $xpath)
-    {
-        return $xpath->addCondition("(@selected and name(.) = 'option')");
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateInvalid(XPathExpr $xpath)
-    {
-        return $xpath->addCondition('0');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateHover(XPathExpr $xpath)
-    {
-        return $xpath->addCondition('0');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateVisited(XPathExpr $xpath)
-    {
-        return $xpath->addCondition('0');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'html';
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/NodeExtension.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/NodeExtension.php
deleted file mode 100644
index 2b8920f..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/NodeExtension.php
+++ /dev/null
@@ -1,271 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-use Symfony\Component\CssSelector\Node;
-use Symfony\Component\CssSelector\XPath\Translator;
-use Symfony\Component\CssSelector\XPath\XPathExpr;
-
-/**
- * XPath expression translator node extension.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class NodeExtension extends AbstractExtension
-{
-    const ELEMENT_NAME_IN_LOWER_CASE = 1;
-    const ATTRIBUTE_NAME_IN_LOWER_CASE = 2;
-    const ATTRIBUTE_VALUE_IN_LOWER_CASE = 4;
-
-    /**
-     * @var int
-     */
-    private $flags;
-
-    /**
-     * Constructor.
-     *
-     * @param int $flags
-     */
-    public function __construct($flags = 0)
-    {
-        $this->flags = $flags;
-    }
-
-    /**
-     * @param int  $flag
-     * @param bool $on
-     *
-     * @return NodeExtension
-     */
-    public function setFlag($flag, $on)
-    {
-        if ($on && !$this->hasFlag($flag)) {
-            $this->flags += $flag;
-        }
-
-        if (!$on && $this->hasFlag($flag)) {
-            $this->flags -= $flag;
-        }
-
-        return $this;
-    }
-
-    /**
-     * @param int $flag
-     *
-     * @return bool
-     */
-    public function hasFlag($flag)
-    {
-        return $this->flags & $flag;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getNodeTranslators()
-    {
-        return array(
-            'Selector' => array($this, 'translateSelector'),
-            'CombinedSelector' => array($this, 'translateCombinedSelector'),
-            'Negation' => array($this, 'translateNegation'),
-            'Function' => array($this, 'translateFunction'),
-            'Pseudo' => array($this, 'translatePseudo'),
-            'Attribute' => array($this, 'translateAttribute'),
-            'Class' => array($this, 'translateClass'),
-            'Hash' => array($this, 'translateHash'),
-            'Element' => array($this, 'translateElement'),
-        );
-    }
-
-    /**
-     * @param Node\SelectorNode $node
-     * @param Translator        $translator
-     *
-     * @return XPathExpr
-     */
-    public function translateSelector(Node\SelectorNode $node, Translator $translator)
-    {
-        return $translator->nodeToXPath($node->getTree());
-    }
-
-    /**
-     * @param Node\CombinedSelectorNode $node
-     * @param Translator                $translator
-     *
-     * @return XPathExpr
-     */
-    public function translateCombinedSelector(Node\CombinedSelectorNode $node, Translator $translator)
-    {
-        return $translator->addCombination($node->getCombinator(), $node->getSelector(), $node->getSubSelector());
-    }
-
-    /**
-     * @param Node\NegationNode $node
-     * @param Translator        $translator
-     *
-     * @return XPathExpr
-     */
-    public function translateNegation(Node\NegationNode $node, Translator $translator)
-    {
-        $xpath = $translator->nodeToXPath($node->getSelector());
-        $subXpath = $translator->nodeToXPath($node->getSubSelector());
-        $subXpath->addNameTest();
-
-        if ($subXpath->getCondition()) {
-            return $xpath->addCondition(sprintf('not(%s)', $subXpath->getCondition()));
-        }
-
-        return $xpath->addCondition('0');
-    }
-
-    /**
-     * @param Node\FunctionNode $node
-     * @param Translator        $translator
-     *
-     * @return XPathExpr
-     */
-    public function translateFunction(Node\FunctionNode $node, Translator $translator)
-    {
-        $xpath = $translator->nodeToXPath($node->getSelector());
-
-        return $translator->addFunction($xpath, $node);
-    }
-
-    /**
-     * @param Node\PseudoNode $node
-     * @param Translator      $translator
-     *
-     * @return XPathExpr
-     */
-    public function translatePseudo(Node\PseudoNode $node, Translator $translator)
-    {
-        $xpath = $translator->nodeToXPath($node->getSelector());
-
-        return $translator->addPseudoClass($xpath, $node->getIdentifier());
-    }
-
-    /**
-     * @param Node\AttributeNode $node
-     * @param Translator         $translator
-     *
-     * @return XPathExpr
-     */
-    public function translateAttribute(Node\AttributeNode $node, Translator $translator)
-    {
-        $name = $node->getAttribute();
-        $safe = $this->isSafeName($name);
-
-        if ($this->hasFlag(self::ATTRIBUTE_NAME_IN_LOWER_CASE)) {
-            $name = strtolower($name);
-        }
-
-        if ($node->getNamespace()) {
-            $name = sprintf('%s:%s', $node->getNamespace(), $name);
-            $safe = $safe && $this->isSafeName($node->getNamespace());
-        }
-
-        $attribute = $safe ? '@'.$name : sprintf('attribute::*[name() = %s]', Translator::getXpathLiteral($name));
-        $value = $node->getValue();
-        $xpath = $translator->nodeToXPath($node->getSelector());
-
-        if ($this->hasFlag(self::ATTRIBUTE_VALUE_IN_LOWER_CASE)) {
-            $value = strtolower($value);
-        }
-
-        return $translator->addAttributeMatching($xpath, $node->getOperator(), $attribute, $value);
-    }
-
-    /**
-     * @param Node\ClassNode $node
-     * @param Translator     $translator
-     *
-     * @return XPathExpr
-     */
-    public function translateClass(Node\ClassNode $node, Translator $translator)
-    {
-        $xpath = $translator->nodeToXPath($node->getSelector());
-
-        return $translator->addAttributeMatching($xpath, '~=', '@class', $node->getName());
-    }
-
-    /**
-     * @param Node\HashNode $node
-     * @param Translator    $translator
-     *
-     * @return XPathExpr
-     */
-    public function translateHash(Node\HashNode $node, Translator $translator)
-    {
-        $xpath = $translator->nodeToXPath($node->getSelector());
-
-        return $translator->addAttributeMatching($xpath, '=', '@id', $node->getId());
-    }
-
-    /**
-     * @param Node\ElementNode $node
-     *
-     * @return XPathExpr
-     */
-    public function translateElement(Node\ElementNode $node)
-    {
-        $element = $node->getElement();
-
-        if ($this->hasFlag(self::ELEMENT_NAME_IN_LOWER_CASE)) {
-            $element = strtolower($element);
-        }
-
-        if ($element) {
-            $safe = $this->isSafeName($element);
-        } else {
-            $element = '*';
-            $safe = true;
-        }
-
-        if ($node->getNamespace()) {
-            $element = sprintf('%s:%s', $node->getNamespace(), $element);
-            $safe = $safe && $this->isSafeName($node->getNamespace());
-        }
-
-        $xpath = new XPathExpr('', $element);
-
-        if (!$safe) {
-            $xpath->addNameTest();
-        }
-
-        return $xpath;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'node';
-    }
-
-    /**
-     * Tests if given name is safe.
-     *
-     * @param string $name
-     *
-     * @return bool
-     */
-    private function isSafeName($name)
-    {
-        return 0 < preg_match('~^[a-zA-Z_][a-zA-Z0-9_.-]*$~', $name);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/PseudoClassExtension.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/PseudoClassExtension.php
deleted file mode 100644
index 008ec2b..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/PseudoClassExtension.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath\Extension;
-
-use Symfony\Component\CssSelector\Exception\ExpressionErrorException;
-use Symfony\Component\CssSelector\XPath\XPathExpr;
-
-/**
- * XPath expression translator pseudo-class extension.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class PseudoClassExtension extends AbstractExtension
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getPseudoClassTranslators()
-    {
-        return array(
-            'root' => array($this, 'translateRoot'),
-            'first-child' => array($this, 'translateFirstChild'),
-            'last-child' => array($this, 'translateLastChild'),
-            'first-of-type' => array($this, 'translateFirstOfType'),
-            'last-of-type' => array($this, 'translateLastOfType'),
-            'only-child' => array($this, 'translateOnlyChild'),
-            'only-of-type' => array($this, 'translateOnlyOfType'),
-            'empty' => array($this, 'translateEmpty'),
-        );
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateRoot(XPathExpr $xpath)
-    {
-        return $xpath->addCondition('not(parent::*)');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateFirstChild(XPathExpr $xpath)
-    {
-        return $xpath
-            ->addStarPrefix()
-            ->addNameTest()
-            ->addCondition('position() = 1');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateLastChild(XPathExpr $xpath)
-    {
-        return $xpath
-            ->addStarPrefix()
-            ->addNameTest()
-            ->addCondition('position() = last()');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateFirstOfType(XPathExpr $xpath)
-    {
-        if ('*' === $xpath->getElement()) {
-            throw new ExpressionErrorException('"*:first-of-type" is not implemented.');
-        }
-
-        return $xpath
-            ->addStarPrefix()
-            ->addCondition('position() = 1');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateLastOfType(XPathExpr $xpath)
-    {
-        if ('*' === $xpath->getElement()) {
-            throw new ExpressionErrorException('"*:last-of-type" is not implemented.');
-        }
-
-        return $xpath
-            ->addStarPrefix()
-            ->addCondition('position() = last()');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateOnlyChild(XPathExpr $xpath)
-    {
-        return $xpath
-            ->addStarPrefix()
-            ->addNameTest()
-            ->addCondition('last() = 1');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function translateOnlyOfType(XPathExpr $xpath)
-    {
-        if ('*' === $xpath->getElement()) {
-            throw new ExpressionErrorException('"*:only-of-type" is not implemented.');
-        }
-
-        return $xpath->addCondition('last() = 1');
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     *
-     * @return XPathExpr
-     */
-    public function translateEmpty(XPathExpr $xpath)
-    {
-        return $xpath->addCondition('not(*) and not(string-length())');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'pseudo-class';
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Translator.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Translator.php
deleted file mode 100644
index 5053793..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Translator.php
+++ /dev/null
@@ -1,299 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath;
-
-use Symfony\Component\CssSelector\Exception\ExpressionErrorException;
-use Symfony\Component\CssSelector\Node\FunctionNode;
-use Symfony\Component\CssSelector\Node\NodeInterface;
-use Symfony\Component\CssSelector\Node\SelectorNode;
-use Symfony\Component\CssSelector\Parser\Parser;
-use Symfony\Component\CssSelector\Parser\ParserInterface;
-
-/**
- * XPath expression translator interface.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class Translator implements TranslatorInterface
-{
-    /**
-     * @var ParserInterface
-     */
-    private $mainParser;
-
-    /**
-     * @var ParserInterface[]
-     */
-    private $shortcutParsers = array();
-
-    /**
-     * @var Extension\ExtensionInterface
-     */
-    private $extensions = array();
-
-    /**
-     * @var array
-     */
-    private $nodeTranslators = array();
-
-    /**
-     * @var array
-     */
-    private $combinationTranslators = array();
-
-    /**
-     * @var array
-     */
-    private $functionTranslators = array();
-
-    /**
-     * @var array
-     */
-    private $pseudoClassTranslators = array();
-
-    /**
-     * @var array
-     */
-    private $attributeMatchingTranslators = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct(ParserInterface $parser = null)
-    {
-        $this->mainParser = $parser ?: new Parser();
-
-        $this
-            ->registerExtension(new Extension\NodeExtension())
-            ->registerExtension(new Extension\CombinationExtension())
-            ->registerExtension(new Extension\FunctionExtension())
-            ->registerExtension(new Extension\PseudoClassExtension())
-            ->registerExtension(new Extension\AttributeMatchingExtension())
-        ;
-    }
-
-    /**
-     * @param string $element
-     *
-     * @return string
-     */
-    public static function getXpathLiteral($element)
-    {
-        if (false === strpos($element, "'")) {
-            return "'".$element."'";
-        }
-
-        if (false === strpos($element, '"')) {
-            return '"'.$element.'"';
-        }
-
-        $string = $element;
-        $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, ', '));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function cssToXPath($cssExpr, $prefix = 'descendant-or-self::')
-    {
-        $selectors = $this->parseSelectors($cssExpr);
-
-        /** @var SelectorNode $selector */
-        foreach ($selectors as $index => $selector) {
-            if (null !== $selector->getPseudoElement()) {
-                throw new ExpressionErrorException('Pseudo-elements are not supported.');
-            }
-
-            $selectors[$index] = $this->selectorToXPath($selector, $prefix);
-        }
-
-        return implode(' | ', $selectors);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function selectorToXPath(SelectorNode $selector, $prefix = 'descendant-or-self::')
-    {
-        return ($prefix ?: '').$this->nodeToXPath($selector);
-    }
-
-    /**
-     * Registers an extension.
-     *
-     * @param Extension\ExtensionInterface $extension
-     *
-     * @return Translator
-     */
-    public function registerExtension(Extension\ExtensionInterface $extension)
-    {
-        $this->extensions[$extension->getName()] = $extension;
-
-        $this->nodeTranslators = array_merge($this->nodeTranslators, $extension->getNodeTranslators());
-        $this->combinationTranslators = array_merge($this->combinationTranslators, $extension->getCombinationTranslators());
-        $this->functionTranslators = array_merge($this->functionTranslators, $extension->getFunctionTranslators());
-        $this->pseudoClassTranslators = array_merge($this->pseudoClassTranslators, $extension->getPseudoClassTranslators());
-        $this->attributeMatchingTranslators = array_merge($this->attributeMatchingTranslators, $extension->getAttributeMatchingTranslators());
-
-        return $this;
-    }
-
-    /**
-     * @param string $name
-     *
-     * @return Extension\ExtensionInterface
-     *
-     * @throws ExpressionErrorException
-     */
-    public function getExtension($name)
-    {
-        if (!isset($this->extensions[$name])) {
-            throw new ExpressionErrorException(sprintf('Extension "%s" not registered.', $name));
-        }
-
-        return $this->extensions[$name];
-    }
-
-    /**
-     * Registers a shortcut parser.
-     *
-     * @param ParserInterface $shortcut
-     *
-     * @return Translator
-     */
-    public function registerParserShortcut(ParserInterface $shortcut)
-    {
-        $this->shortcutParsers[] = $shortcut;
-
-        return $this;
-    }
-
-    /**
-     * @param NodeInterface $node
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function nodeToXPath(NodeInterface $node)
-    {
-        if (!isset($this->nodeTranslators[$node->getNodeName()])) {
-            throw new ExpressionErrorException(sprintf('Node "%s" not supported.', $node->getNodeName()));
-        }
-
-        return call_user_func($this->nodeTranslators[$node->getNodeName()], $node, $this);
-    }
-
-    /**
-     * @param string        $combiner
-     * @param NodeInterface $xpath
-     * @param NodeInterface $combinedXpath
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function addCombination($combiner, NodeInterface $xpath, NodeInterface $combinedXpath)
-    {
-        if (!isset($this->combinationTranslators[$combiner])) {
-            throw new ExpressionErrorException(sprintf('Combiner "%s" not supported.', $combiner));
-        }
-
-        return call_user_func($this->combinationTranslators[$combiner], $this->nodeToXPath($xpath), $this->nodeToXPath($combinedXpath));
-    }
-
-    /**
-     * @param XPathExpr    $xpath
-     * @param FunctionNode $function
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function addFunction(XPathExpr $xpath, FunctionNode $function)
-    {
-        if (!isset($this->functionTranslators[$function->getName()])) {
-            throw new ExpressionErrorException(sprintf('Function "%s" not supported.', $function->getName()));
-        }
-
-        return call_user_func($this->functionTranslators[$function->getName()], $xpath, $function);
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $pseudoClass
-     *
-     * @return XPathExpr
-     *
-     * @throws ExpressionErrorException
-     */
-    public function addPseudoClass(XPathExpr $xpath, $pseudoClass)
-    {
-        if (!isset($this->pseudoClassTranslators[$pseudoClass])) {
-            throw new ExpressionErrorException(sprintf('Pseudo-class "%s" not supported.', $pseudoClass));
-        }
-
-        return call_user_func($this->pseudoClassTranslators[$pseudoClass], $xpath);
-    }
-
-    /**
-     * @param XPathExpr $xpath
-     * @param string    $operator
-     * @param string    $attribute
-     * @param string    $value
-     *
-     * @throws ExpressionErrorException
-     *
-     * @return XPathExpr
-     */
-    public function addAttributeMatching(XPathExpr $xpath, $operator, $attribute, $value)
-    {
-        if (!isset($this->attributeMatchingTranslators[$operator])) {
-            throw new ExpressionErrorException(sprintf('Attribute matcher operator "%s" not supported.', $operator));
-        }
-
-        return call_user_func($this->attributeMatchingTranslators[$operator], $xpath, $attribute, $value);
-    }
-
-    /**
-     * @param string $css
-     *
-     * @return SelectorNode[]
-     */
-    private function parseSelectors($css)
-    {
-        foreach ($this->shortcutParsers as $shortcut) {
-            $tokens = $shortcut->parse($css);
-
-            if (!empty($tokens)) {
-                return $tokens;
-            }
-        }
-
-        return $this->mainParser->parse($css);
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/TranslatorInterface.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/TranslatorInterface.php
deleted file mode 100644
index 1d9d1c8..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/TranslatorInterface.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath;
-
-use Symfony\Component\CssSelector\Node\SelectorNode;
-
-/**
- * XPath expression translator interface.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-interface TranslatorInterface
-{
-    /**
-     * Translates a CSS selector to an XPath expression.
-     *
-     * @param string $cssExpr
-     * @param string $prefix
-     *
-     * @return XPathExpr
-     */
-    public function cssToXPath($cssExpr, $prefix = 'descendant-or-self::');
-
-    /**
-     * Translates a parsed selector node to an XPath expression.
-     *
-     * @param SelectorNode $selector
-     * @param string       $prefix
-     *
-     * @return XPathExpr
-     */
-    public function selectorToXPath(SelectorNode $selector, $prefix = 'descendant-or-self::');
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/XPathExpr.php b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/XPathExpr.php
deleted file mode 100644
index c7ef97c..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/XPathExpr.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\CssSelector\XPath;
-
-/**
- * XPath expression translator interface.
- *
- * This component is a port of the Python cssselect library,
- * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
- *
- * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
- */
-class XPathExpr
-{
-    /**
-     * @var string
-     */
-    private $path;
-
-    /**
-     * @var string
-     */
-    private $element;
-
-    /**
-     * @var string
-     */
-    private $condition;
-
-    /**
-     * @param string $path
-     * @param string $element
-     * @param string $condition
-     * @param bool   $starPrefix
-     */
-    public function __construct($path = '', $element = '*', $condition = '', $starPrefix = false)
-    {
-        $this->path = $path;
-        $this->element = $element;
-        $this->condition = $condition;
-
-        if ($starPrefix) {
-            $this->addStarPrefix();
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getElement()
-    {
-        return $this->element;
-    }
-
-    /**
-     * @param $condition
-     *
-     * @return XPathExpr
-     */
-    public function addCondition($condition)
-    {
-        $this->condition = $this->condition ? sprintf('%s and (%s)', $this->condition, $condition) : $condition;
-
-        return $this;
-    }
-
-    /**
-     * @return string
-     */
-    public function getCondition()
-    {
-        return $this->condition;
-    }
-
-    /**
-     * @return XPathExpr
-     */
-    public function addNameTest()
-    {
-        if ('*' !== $this->element) {
-            $this->addCondition('name() = '.Translator::getXpathLiteral($this->element));
-            $this->element = '*';
-        }
-
-        return $this;
-    }
-
-    /**
-     * @return XPathExpr
-     */
-    public function addStarPrefix()
-    {
-        $this->path .= '*/';
-
-        return $this;
-    }
-
-    /**
-     * Joins another XPathExpr with a combiner.
-     *
-     * @param string    $combiner
-     * @param XPathExpr $expr
-     *
-     * @return XPathExpr
-     */
-    public function join($combiner, XPathExpr $expr)
-    {
-        $path = $this->__toString().$combiner;
-
-        if ('*/' !== $expr->path) {
-            $path .= $expr->path;
-        }
-
-        $this->path = $path;
-        $this->element = $expr->element;
-        $this->condition = $expr->condition;
-
-        return $this;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $path = $this->path.$this->element;
-        $condition = null === $this->condition || '' === $this->condition ? '' : '['.$this->condition.']';
-
-        return $path.$condition;
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/composer.json b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/composer.json
deleted file mode 100644
index 831b8eb..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/composer.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    "name": "symfony/css-selector",
-    "type": "library",
-    "description": "Symfony CssSelector Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Jean-François Simon",
-            "email": "jeanfrancois.simon@sensiolabs.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\CssSelector\\": "" }
-    },
-    "target-dir": "Symfony/Component/CssSelector",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/phpunit.xml.dist b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/phpunit.xml.dist
deleted file mode 100644
index bc57cfc..0000000
--- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/phpunit.xml.dist
+++ /dev/null
@@ -1,28 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony CssSelector Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/.gitignore b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Alias.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Alias.php
deleted file mode 100644
index 025a2d6..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Alias.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * @api
- */
-class Alias
-{
-    private $id;
-    private $public;
-
-    /**
-     * Constructor.
-     *
-     * @param string $id     Alias identifier
-     * @param bool   $public If this alias is public
-     *
-     * @api
-     */
-    public function __construct($id, $public = true)
-    {
-        $this->id = strtolower($id);
-        $this->public = $public;
-    }
-
-    /**
-     * Checks if this DI Alias should be public or not.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isPublic()
-    {
-        return $this->public;
-    }
-
-    /**
-     * Sets if this Alias is public.
-     *
-     * @param bool $boolean If this Alias should be public
-     *
-     * @api
-     */
-    public function setPublic($boolean)
-    {
-        $this->public = (bool) $boolean;
-    }
-
-    /**
-     * Returns the Id of this alias.
-     *
-     * @return string The alias id
-     *
-     * @api
-     */
-    public function __toString()
-    {
-        return $this->id;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/CHANGELOG.md b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/CHANGELOG.md
deleted file mode 100644
index b78e440..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/CHANGELOG.md
+++ /dev/null
@@ -1,40 +0,0 @@
-CHANGELOG
-=========
-
-2.6.0
------
-
- * added new factory syntax and deprecated the old one
-
-2.5.0
------
-
-* added DecoratorServicePass and a way to override a service definition (Definition::setDecoratedService())
-* deprecated SimpleXMLElement class.
-
-2.4.0
------
-
- * added support for expressions in service definitions
- * added ContainerAwareTrait to add default container aware behavior to a class
-
-2.2.0
------
-
- * added Extension::isConfigEnabled() to ease working with enableable configurations
- * added an Extension base class with sensible defaults to be used in conjunction
-   with the Config component.
- * added PrependExtensionInterface (to be able to allow extensions to prepend
-   application configuration settings for any Bundle)
-
-2.1.0
------
-
- * added IntrospectableContainerInterface (to be able to check if a service
-   has been initialized or not)
- * added ConfigurationExtensionInterface
- * added Definition::clearTag()
- * component exceptions that inherit base SPL classes are now used exclusively
-   (this includes dumped containers)
- * [BC BREAK] fixed unescaping of class arguments, method
-   ParameterBag::unescapeValue() was made public
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
deleted file mode 100644
index c5ecb2d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Run this pass before passes that need to know more about the relation of
- * your services.
- *
- * This class will populate the ServiceReferenceGraph with information. You can
- * retrieve the graph in other passes from the compiler.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class AnalyzeServiceReferencesPass implements RepeatablePassInterface
-{
-    private $graph;
-    private $container;
-    private $currentId;
-    private $currentDefinition;
-    private $repeatedPass;
-    private $onlyConstructorArguments;
-
-    /**
-     * Constructor.
-     *
-     * @param bool $onlyConstructorArguments Sets this Service Reference pass to ignore method calls
-     */
-    public function __construct($onlyConstructorArguments = false)
-    {
-        $this->onlyConstructorArguments = (bool) $onlyConstructorArguments;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRepeatedPass(RepeatedPass $repeatedPass)
-    {
-        $this->repeatedPass = $repeatedPass;
-    }
-
-    /**
-     * Processes a ContainerBuilder object to populate the service reference graph.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->container = $container;
-        $this->graph = $container->getCompiler()->getServiceReferenceGraph();
-        $this->graph->clear();
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            if ($definition->isSynthetic() || $definition->isAbstract()) {
-                continue;
-            }
-
-            $this->currentId = $id;
-            $this->currentDefinition = $definition;
-
-            $this->processArguments($definition->getArguments());
-            if ($definition->getFactoryService()) {
-                $this->processArguments(array(new Reference($definition->getFactoryService())));
-            }
-            if (is_array($definition->getFactory())) {
-                $this->processArguments($definition->getFactory());
-            }
-
-            if (!$this->onlyConstructorArguments) {
-                $this->processArguments($definition->getMethodCalls());
-                $this->processArguments($definition->getProperties());
-                if ($definition->getConfigurator()) {
-                    $this->processArguments(array($definition->getConfigurator()));
-                }
-            }
-        }
-
-        foreach ($container->getAliases() as $id => $alias) {
-            $this->graph->connect($id, $alias, (string) $alias, $this->getDefinition((string) $alias), null);
-        }
-    }
-
-    /**
-     * Processes service definitions for arguments to find relationships for the service graph.
-     *
-     * @param array $arguments An array of Reference or Definition objects relating to service definitions
-     */
-    private function processArguments(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            if (is_array($argument)) {
-                $this->processArguments($argument);
-            } elseif ($argument instanceof Reference) {
-                $this->graph->connect(
-                    $this->currentId,
-                    $this->currentDefinition,
-                    $this->getDefinitionId((string) $argument),
-                    $this->getDefinition((string) $argument),
-                    $argument
-                );
-            } elseif ($argument instanceof Definition) {
-                $this->processArguments($argument->getArguments());
-                $this->processArguments($argument->getMethodCalls());
-                $this->processArguments($argument->getProperties());
-
-                if (is_array($argument->getFactory())) {
-                    $this->processArguments($argument->getFactory());
-                }
-                if ($argument->getFactoryService()) {
-                    $this->processArguments(array(new Reference($argument->getFactoryService())));
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns a service definition given the full name or an alias.
-     *
-     * @param string $id A full id or alias for a service definition.
-     *
-     * @return Definition|null The definition related to the supplied id
-     */
-    private function getDefinition($id)
-    {
-        $id = $this->getDefinitionId($id);
-
-        return null === $id ? null : $this->container->getDefinition($id);
-    }
-
-    private function getDefinitionId($id)
-    {
-        while ($this->container->hasAlias($id)) {
-            $id = (string) $this->container->getAlias($id);
-        }
-
-        if (!$this->container->hasDefinition($id)) {
-            return;
-        }
-
-        return $id;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php
deleted file mode 100644
index d7570dd..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Checks your services for circular references.
- *
- * References from method calls are ignored since we might be able to resolve
- * these references depending on the order in which services are called.
- *
- * Circular reference from method calls will only be detected at run-time.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class CheckCircularReferencesPass implements CompilerPassInterface
-{
-    private $currentPath;
-    private $checkedNodes;
-
-    /**
-     * Checks the ContainerBuilder object for circular references.
-     *
-     * @param ContainerBuilder $container The ContainerBuilder instances
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $graph = $container->getCompiler()->getServiceReferenceGraph();
-
-        $this->checkedNodes = array();
-        foreach ($graph->getNodes() as $id => $node) {
-            $this->currentPath = array($id);
-
-            $this->checkOutEdges($node->getOutEdges());
-        }
-    }
-
-    /**
-     * Checks for circular references.
-     *
-     * @param ServiceReferenceGraphEdge[] $edges An array of Edges
-     *
-     * @throws ServiceCircularReferenceException When a circular reference is found.
-     */
-    private function checkOutEdges(array $edges)
-    {
-        foreach ($edges as $edge) {
-            $node = $edge->getDestNode();
-            $id = $node->getId();
-
-            if (empty($this->checkedNodes[$id])) {
-                $searchKey = array_search($id, $this->currentPath);
-                $this->currentPath[] = $id;
-
-                if (false !== $searchKey) {
-                    throw new ServiceCircularReferenceException($id, array_slice($this->currentPath, $searchKey));
-                }
-
-                $this->checkOutEdges($node->getOutEdges());
-
-                $this->checkedNodes[$id] = true;
-                array_pop($this->currentPath);
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php
deleted file mode 100644
index ce89f24..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-
-/**
- * This pass validates each definition individually only taking the information
- * into account which is contained in the definition itself.
- *
- * Later passes can rely on the following, and specifically do not need to
- * perform these checks themselves:
- *
- * - non synthetic, non abstract services always have a class set
- * - synthetic services are always public
- * - synthetic services are always of non-prototype scope
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class CheckDefinitionValidityPass implements CompilerPassInterface
-{
-    /**
-     * Processes the ContainerBuilder to validate the Definition.
-     *
-     * @param ContainerBuilder $container
-     *
-     * @throws RuntimeException When the Definition is invalid
-     */
-    public function process(ContainerBuilder $container)
-    {
-        foreach ($container->getDefinitions() as $id => $definition) {
-            // synthetic service is public
-            if ($definition->isSynthetic() && !$definition->isPublic()) {
-                throw new RuntimeException(sprintf('A synthetic service ("%s") must be public.', $id));
-            }
-
-            // synthetic service has non-prototype scope
-            if ($definition->isSynthetic() && ContainerInterface::SCOPE_PROTOTYPE === $definition->getScope()) {
-                throw new RuntimeException(sprintf('A synthetic service ("%s") cannot be of scope "prototype".', $id));
-            }
-
-            if ($definition->getFactory() && ($definition->getFactoryClass() || $definition->getFactoryService() || $definition->getFactoryMethod())) {
-                throw new RuntimeException(sprintf('A service ("%s") can use either the old or the new factory syntax, not both.', $id));
-            }
-
-            // non-synthetic, non-abstract service has class
-            if (!$definition->isAbstract() && !$definition->isSynthetic() && !$definition->getClass()) {
-                if ($definition->getFactory() || $definition->getFactoryClass() || $definition->getFactoryService()) {
-                    throw new RuntimeException(sprintf('Please add the class to service "%s" even if it is constructed by a factory since we might need to add method calls based on compile-time checks.', $id));
-                }
-
-                throw new RuntimeException(sprintf(
-                    'The definition for "%s" has no class. If you intend to inject '
-                   .'this service dynamically at runtime, please mark it as synthetic=true. '
-                   .'If this is an abstract definition solely used by child definitions, '
-                   .'please add abstract=true, otherwise specify a class to get rid of this error.',
-                   $id
-                ));
-            }
-
-            // tag attribute values must be scalars
-            foreach ($definition->getTags() as $name => $tags) {
-                foreach ($tags as $attributes) {
-                    foreach ($attributes as $attribute => $value) {
-                        if (!is_scalar($value) && null !== $value) {
-                            throw new RuntimeException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s".', $id, $name, $attribute));
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php
deleted file mode 100644
index 304f784..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Checks that all references are pointing to a valid service.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class CheckExceptionOnInvalidReferenceBehaviorPass implements CompilerPassInterface
-{
-    private $container;
-    private $sourceId;
-
-    public function process(ContainerBuilder $container)
-    {
-        $this->container = $container;
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            $this->sourceId = $id;
-            $this->processDefinition($definition);
-        }
-    }
-
-    private function processDefinition(Definition $definition)
-    {
-        $this->processReferences($definition->getArguments());
-        $this->processReferences($definition->getMethodCalls());
-        $this->processReferences($definition->getProperties());
-    }
-
-    private function processReferences(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            if (is_array($argument)) {
-                $this->processReferences($argument);
-            } elseif ($argument instanceof Definition) {
-                $this->processDefinition($argument);
-            } elseif ($argument instanceof Reference && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE === $argument->getInvalidBehavior()) {
-                $destId = (string) $argument;
-
-                if (!$this->container->has($destId)) {
-                    throw new ServiceNotFoundException($destId, $this->sourceId);
-                }
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckReferenceValidityPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckReferenceValidityPass.php
deleted file mode 100644
index 3d4988d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckReferenceValidityPass.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Exception\ScopeCrossingInjectionException;
-use Symfony\Component\DependencyInjection\Exception\ScopeWideningInjectionException;
-
-/**
- * Checks the validity of references.
- *
- * The following checks are performed by this pass:
- * - target definitions are not abstract
- * - target definitions are of equal or wider scope
- * - target definitions are in the same scope hierarchy
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class CheckReferenceValidityPass implements CompilerPassInterface
-{
-    private $container;
-    private $currentId;
-    private $currentScope;
-    private $currentScopeAncestors;
-    private $currentScopeChildren;
-
-    /**
-     * Processes the ContainerBuilder to validate References.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->container = $container;
-
-        $children = $this->container->getScopeChildren();
-        $ancestors = array();
-
-        $scopes = $this->container->getScopes();
-        foreach ($scopes as $name => $parent) {
-            $ancestors[$name] = array($parent);
-
-            while (isset($scopes[$parent])) {
-                $ancestors[$name][] = $parent = $scopes[$parent];
-            }
-        }
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            if ($definition->isSynthetic() || $definition->isAbstract()) {
-                continue;
-            }
-
-            $this->currentId = $id;
-            $this->currentDefinition = $definition;
-            $this->currentScope = $scope = $definition->getScope();
-
-            if (ContainerInterface::SCOPE_CONTAINER === $scope) {
-                $this->currentScopeChildren = array_keys($scopes);
-                $this->currentScopeAncestors = array();
-            } elseif (ContainerInterface::SCOPE_PROTOTYPE !== $scope) {
-                $this->currentScopeChildren = isset($children[$scope]) ? $children[$scope] : array();
-                $this->currentScopeAncestors = isset($ancestors[$scope]) ? $ancestors[$scope] : array();
-            }
-
-            $this->validateReferences($definition->getArguments());
-            $this->validateReferences($definition->getMethodCalls());
-            $this->validateReferences($definition->getProperties());
-        }
-    }
-
-    /**
-     * Validates an array of References.
-     *
-     * @param array $arguments An array of Reference objects
-     *
-     * @throws RuntimeException when there is a reference to an abstract definition.
-     */
-    private function validateReferences(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            if (is_array($argument)) {
-                $this->validateReferences($argument);
-            } elseif ($argument instanceof Reference) {
-                $targetDefinition = $this->getDefinition((string) $argument);
-
-                if (null !== $targetDefinition && $targetDefinition->isAbstract()) {
-                    throw new RuntimeException(sprintf(
-                        'The definition "%s" has a reference to an abstract definition "%s". '
-                       .'Abstract definitions cannot be the target of references.',
-                       $this->currentId,
-                       $argument
-                    ));
-                }
-
-                $this->validateScope($argument, $targetDefinition);
-            }
-        }
-    }
-
-    /**
-     * Validates the scope of a single Reference.
-     *
-     * @param Reference  $reference
-     * @param Definition $definition
-     *
-     * @throws ScopeWideningInjectionException when the definition references a service of a narrower scope
-     * @throws ScopeCrossingInjectionException when the definition references a service of another scope hierarchy
-     */
-    private function validateScope(Reference $reference, Definition $definition = null)
-    {
-        if (ContainerInterface::SCOPE_PROTOTYPE === $this->currentScope) {
-            return;
-        }
-
-        if (!$reference->isStrict()) {
-            return;
-        }
-
-        if (null === $definition) {
-            return;
-        }
-
-        if ($this->currentScope === $scope = $definition->getScope()) {
-            return;
-        }
-
-        $id = (string) $reference;
-
-        if (in_array($scope, $this->currentScopeChildren, true)) {
-            throw new ScopeWideningInjectionException($this->currentId, $this->currentScope, $id, $scope);
-        }
-
-        if (!in_array($scope, $this->currentScopeAncestors, true)) {
-            throw new ScopeCrossingInjectionException($this->currentId, $this->currentScope, $id, $scope);
-        }
-    }
-
-    /**
-     * Returns the Definition given an id.
-     *
-     * @param string $id Definition identifier
-     *
-     * @return Definition
-     */
-    private function getDefinition($id)
-    {
-        if (!$this->container->hasDefinition($id)) {
-            return;
-        }
-
-        return $this->container->getDefinition($id);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/Compiler.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/Compiler.php
deleted file mode 100644
index 4dfa9cf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/Compiler.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * This class is used to remove circular dependencies between individual passes.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-class Compiler
-{
-    private $passConfig;
-    private $log = array();
-    private $loggingFormatter;
-    private $serviceReferenceGraph;
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $this->passConfig = new PassConfig();
-        $this->serviceReferenceGraph = new ServiceReferenceGraph();
-        $this->loggingFormatter = new LoggingFormatter();
-    }
-
-    /**
-     * Returns the PassConfig.
-     *
-     * @return PassConfig The PassConfig instance
-     *
-     * @api
-     */
-    public function getPassConfig()
-    {
-        return $this->passConfig;
-    }
-
-    /**
-     * Returns the ServiceReferenceGraph.
-     *
-     * @return ServiceReferenceGraph The ServiceReferenceGraph instance
-     *
-     * @api
-     */
-    public function getServiceReferenceGraph()
-    {
-        return $this->serviceReferenceGraph;
-    }
-
-    /**
-     * Returns the logging formatter which can be used by compilation passes.
-     *
-     * @return LoggingFormatter
-     */
-    public function getLoggingFormatter()
-    {
-        return $this->loggingFormatter;
-    }
-
-    /**
-     * Adds a pass to the PassConfig.
-     *
-     * @param CompilerPassInterface $pass A compiler pass
-     * @param string                $type The type of the pass
-     *
-     * @api
-     */
-    public function addPass(CompilerPassInterface $pass, $type = PassConfig::TYPE_BEFORE_OPTIMIZATION)
-    {
-        $this->passConfig->addPass($pass, $type);
-    }
-
-    /**
-     * Adds a log message.
-     *
-     * @param string $string The log message
-     */
-    public function addLogMessage($string)
-    {
-        $this->log[] = $string;
-    }
-
-    /**
-     * Returns the log.
-     *
-     * @return array Log array
-     */
-    public function getLog()
-    {
-        return $this->log;
-    }
-
-    /**
-     * Run the Compiler and process all Passes.
-     *
-     * @param ContainerBuilder $container
-     *
-     * @api
-     */
-    public function compile(ContainerBuilder $container)
-    {
-        foreach ($this->passConfig->getPasses() as $pass) {
-            $pass->process($container);
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CompilerPassInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CompilerPassInterface.php
deleted file mode 100644
index 7648605..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CompilerPassInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Interface that must be implemented by compilation passes.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-interface CompilerPassInterface
-{
-    /**
-     * You can modify the container here before it is dumped to PHP code.
-     *
-     * @param ContainerBuilder $container
-     *
-     * @api
-     */
-    public function process(ContainerBuilder $container);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php
deleted file mode 100644
index ef0a19c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Alias;
-
-/**
- * Overwrites a service but keeps the overridden one.
- *
- * @author Christophe Coevoet <stof@notk.org>
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class DecoratorServicePass implements CompilerPassInterface
-{
-    public function process(ContainerBuilder $container)
-    {
-        foreach ($container->getDefinitions() as $id => $definition) {
-            if (!$decorated = $definition->getDecoratedService()) {
-                continue;
-            }
-            $definition->setDecoratedService(null);
-
-            list($inner, $renamedId) = $decorated;
-            if (!$renamedId) {
-                $renamedId = $id.'.inner';
-            }
-
-            // we create a new alias/service for the service we are replacing
-            // to be able to reference it in the new one
-            if ($container->hasAlias($inner)) {
-                $alias = $container->getAlias($inner);
-                $public = $alias->isPublic();
-                $container->setAlias($renamedId, new Alias((string) $alias, false));
-            } else {
-                $definition = $container->getDefinition($inner);
-                $public = $definition->isPublic();
-                $definition->setPublic(false);
-                $container->setDefinition($renamedId, $definition);
-            }
-
-            $container->setAlias($inner, new Alias($id, $public));
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php
deleted file mode 100644
index d9a656f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Inline service definitions where this is possible.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class InlineServiceDefinitionsPass implements RepeatablePassInterface
-{
-    private $repeatedPass;
-    private $graph;
-    private $compiler;
-    private $formatter;
-    private $currentId;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRepeatedPass(RepeatedPass $repeatedPass)
-    {
-        $this->repeatedPass = $repeatedPass;
-    }
-
-    /**
-     * Processes the ContainerBuilder for inline service definitions.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->compiler = $container->getCompiler();
-        $this->formatter = $this->compiler->getLoggingFormatter();
-        $this->graph = $this->compiler->getServiceReferenceGraph();
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            $this->currentId = $id;
-
-            $definition->setArguments(
-                $this->inlineArguments($container, $definition->getArguments())
-            );
-
-            $definition->setMethodCalls(
-                $this->inlineArguments($container, $definition->getMethodCalls())
-            );
-
-            $definition->setProperties(
-                $this->inlineArguments($container, $definition->getProperties())
-            );
-        }
-    }
-
-    /**
-     * Processes inline arguments.
-     *
-     * @param ContainerBuilder $container The ContainerBuilder
-     * @param array            $arguments An array of arguments
-     *
-     * @return array
-     */
-    private function inlineArguments(ContainerBuilder $container, array $arguments)
-    {
-        foreach ($arguments as $k => $argument) {
-            if (is_array($argument)) {
-                $arguments[$k] = $this->inlineArguments($container, $argument);
-            } elseif ($argument instanceof Reference) {
-                if (!$container->hasDefinition($id = (string) $argument)) {
-                    continue;
-                }
-
-                if ($this->isInlineableDefinition($container, $id, $definition = $container->getDefinition($id))) {
-                    $this->compiler->addLogMessage($this->formatter->formatInlineService($this, $id, $this->currentId));
-
-                    if (ContainerInterface::SCOPE_PROTOTYPE !== $definition->getScope()) {
-                        $arguments[$k] = $definition;
-                    } else {
-                        $arguments[$k] = clone $definition;
-                    }
-                }
-            } elseif ($argument instanceof Definition) {
-                $argument->setArguments($this->inlineArguments($container, $argument->getArguments()));
-                $argument->setMethodCalls($this->inlineArguments($container, $argument->getMethodCalls()));
-                $argument->setProperties($this->inlineArguments($container, $argument->getProperties()));
-            }
-        }
-
-        return $arguments;
-    }
-
-    /**
-     * Checks if the definition is inlineable.
-     *
-     * @param ContainerBuilder $container
-     * @param string           $id
-     * @param Definition       $definition
-     *
-     * @return bool If the definition is inlineable
-     */
-    private function isInlineableDefinition(ContainerBuilder $container, $id, Definition $definition)
-    {
-        if (ContainerInterface::SCOPE_PROTOTYPE === $definition->getScope()) {
-            return true;
-        }
-
-        if ($definition->isPublic() || $definition->isLazy()) {
-            return false;
-        }
-
-        if (!$this->graph->hasNode($id)) {
-            return true;
-        }
-
-        if ($this->currentId == $id) {
-            return false;
-        }
-
-        $ids = array();
-        foreach ($this->graph->getNode($id)->getInEdges() as $edge) {
-            $ids[] = $edge->getSourceNode()->getId();
-        }
-
-        if (count(array_unique($ids)) > 1) {
-            return false;
-        }
-
-        if (count($ids) > 1 && is_array($factory = $definition->getFactory()) && ($factory[0] instanceof Reference || $factory[0] instanceof Definition)) {
-            return false;
-        }
-
-        if (count($ids) > 1 && $definition->getFactoryService()) {
-            return false;
-        }
-
-        return $container->getDefinition(reset($ids))->getScope() === $definition->getScope();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/LoggingFormatter.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/LoggingFormatter.php
deleted file mode 100644
index 6bd6161..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/LoggingFormatter.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-/**
- * Used to format logging messages during the compilation.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class LoggingFormatter
-{
-    public function formatRemoveService(CompilerPassInterface $pass, $id, $reason)
-    {
-        return $this->format($pass, sprintf('Removed service "%s"; reason: %s', $id, $reason));
-    }
-
-    public function formatInlineService(CompilerPassInterface $pass, $id, $target)
-    {
-        return $this->format($pass, sprintf('Inlined service "%s" to "%s".', $id, $target));
-    }
-
-    public function formatUpdateReference(CompilerPassInterface $pass, $serviceId, $oldDestId, $newDestId)
-    {
-        return $this->format($pass, sprintf('Changed reference of service "%s" previously pointing to "%s" to "%s".', $serviceId, $oldDestId, $newDestId));
-    }
-
-    public function formatResolveInheritance(CompilerPassInterface $pass, $childId, $parentId)
-    {
-        return $this->format($pass, sprintf('Resolving inheritance for "%s" (parent: %s).', $childId, $parentId));
-    }
-
-    public function format(CompilerPassInterface $pass, $message)
-    {
-        return sprintf('%s: %s', get_class($pass), $message);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php
deleted file mode 100644
index f9e6024..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
-
-/**
- * Merges extension configs into the container builder.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class MergeExtensionConfigurationPass implements CompilerPassInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $parameters = $container->getParameterBag()->all();
-        $definitions = $container->getDefinitions();
-        $aliases = $container->getAliases();
-        $exprLangProviders = $container->getExpressionLanguageProviders();
-
-        foreach ($container->getExtensions() as $extension) {
-            if ($extension instanceof PrependExtensionInterface) {
-                $extension->prepend($container);
-            }
-        }
-
-        foreach ($container->getExtensions() as $name => $extension) {
-            if (!$config = $container->getExtensionConfig($name)) {
-                // this extension was not called
-                continue;
-            }
-            $config = $container->getParameterBag()->resolveValue($config);
-
-            $tmpContainer = new ContainerBuilder($container->getParameterBag());
-            $tmpContainer->setResourceTracking($container->isTrackingResources());
-            $tmpContainer->addObjectResource($extension);
-
-            foreach ($exprLangProviders as $provider) {
-                $tmpContainer->addExpressionLanguageProvider($provider);
-            }
-
-            $extension->load($config, $tmpContainer);
-
-            $container->merge($tmpContainer);
-            $container->getParameterBag()->add($parameters);
-        }
-
-        $container->addDefinitions($definitions);
-        $container->addAliases($aliases);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/PassConfig.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/PassConfig.php
deleted file mode 100644
index 044529e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/PassConfig.php
+++ /dev/null
@@ -1,256 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-
-/**
- * Compiler Pass Configuration.
- *
- * This class has a default configuration embedded.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-class PassConfig
-{
-    const TYPE_AFTER_REMOVING = 'afterRemoving';
-    const TYPE_BEFORE_OPTIMIZATION = 'beforeOptimization';
-    const TYPE_BEFORE_REMOVING = 'beforeRemoving';
-    const TYPE_OPTIMIZE = 'optimization';
-    const TYPE_REMOVE = 'removing';
-
-    private $mergePass;
-    private $afterRemovingPasses = array();
-    private $beforeOptimizationPasses = array();
-    private $beforeRemovingPasses = array();
-    private $optimizationPasses;
-    private $removingPasses;
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $this->mergePass = new MergeExtensionConfigurationPass();
-
-        $this->optimizationPasses = array(
-            new ResolveDefinitionTemplatesPass(),
-            new DecoratorServicePass(),
-            new ResolveParameterPlaceHoldersPass(),
-            new CheckDefinitionValidityPass(),
-            new ResolveReferencesToAliasesPass(),
-            new ResolveInvalidReferencesPass(),
-            new AnalyzeServiceReferencesPass(true),
-            new CheckCircularReferencesPass(),
-            new CheckReferenceValidityPass(),
-        );
-
-        $this->removingPasses = array(
-            new RemovePrivateAliasesPass(),
-            new RemoveAbstractDefinitionsPass(),
-            new ReplaceAliasByActualDefinitionPass(),
-            new RepeatedPass(array(
-                new AnalyzeServiceReferencesPass(),
-                new InlineServiceDefinitionsPass(),
-                new AnalyzeServiceReferencesPass(),
-                new RemoveUnusedDefinitionsPass(),
-            )),
-            new CheckExceptionOnInvalidReferenceBehaviorPass(),
-        );
-    }
-
-    /**
-     * Returns all passes in order to be processed.
-     *
-     * @return array An array of all passes to process
-     *
-     * @api
-     */
-    public function getPasses()
-    {
-        return array_merge(
-            array($this->mergePass),
-            $this->beforeOptimizationPasses,
-            $this->optimizationPasses,
-            $this->beforeRemovingPasses,
-            $this->removingPasses,
-            $this->afterRemovingPasses
-        );
-    }
-
-    /**
-     * Adds a pass.
-     *
-     * @param CompilerPassInterface $pass A Compiler pass
-     * @param string                $type The pass type
-     *
-     * @throws InvalidArgumentException when a pass type doesn't exist
-     *
-     * @api
-     */
-    public function addPass(CompilerPassInterface $pass, $type = self::TYPE_BEFORE_OPTIMIZATION)
-    {
-        $property = $type.'Passes';
-        if (!isset($this->$property)) {
-            throw new InvalidArgumentException(sprintf('Invalid type "%s".', $type));
-        }
-
-        $passes = &$this->$property;
-        $passes[] = $pass;
-    }
-
-    /**
-     * Gets all passes for the AfterRemoving pass.
-     *
-     * @return array An array of passes
-     *
-     * @api
-     */
-    public function getAfterRemovingPasses()
-    {
-        return $this->afterRemovingPasses;
-    }
-
-    /**
-     * Gets all passes for the BeforeOptimization pass.
-     *
-     * @return array An array of passes
-     *
-     * @api
-     */
-    public function getBeforeOptimizationPasses()
-    {
-        return $this->beforeOptimizationPasses;
-    }
-
-    /**
-     * Gets all passes for the BeforeRemoving pass.
-     *
-     * @return array An array of passes
-     *
-     * @api
-     */
-    public function getBeforeRemovingPasses()
-    {
-        return $this->beforeRemovingPasses;
-    }
-
-    /**
-     * Gets all passes for the Optimization pass.
-     *
-     * @return array An array of passes
-     *
-     * @api
-     */
-    public function getOptimizationPasses()
-    {
-        return $this->optimizationPasses;
-    }
-
-    /**
-     * Gets all passes for the Removing pass.
-     *
-     * @return array An array of passes
-     *
-     * @api
-     */
-    public function getRemovingPasses()
-    {
-        return $this->removingPasses;
-    }
-
-    /**
-     * Gets all passes for the Merge pass.
-     *
-     * @return array An array of passes
-     *
-     * @api
-     */
-    public function getMergePass()
-    {
-        return $this->mergePass;
-    }
-
-    /**
-     * Sets the Merge Pass.
-     *
-     * @param CompilerPassInterface $pass The merge pass
-     *
-     * @api
-     */
-    public function setMergePass(CompilerPassInterface $pass)
-    {
-        $this->mergePass = $pass;
-    }
-
-    /**
-     * Sets the AfterRemoving passes.
-     *
-     * @param array $passes An array of passes
-     *
-     * @api
-     */
-    public function setAfterRemovingPasses(array $passes)
-    {
-        $this->afterRemovingPasses = $passes;
-    }
-
-    /**
-     * Sets the BeforeOptimization passes.
-     *
-     * @param array $passes An array of passes
-     *
-     * @api
-     */
-    public function setBeforeOptimizationPasses(array $passes)
-    {
-        $this->beforeOptimizationPasses = $passes;
-    }
-
-    /**
-     * Sets the BeforeRemoving passes.
-     *
-     * @param array $passes An array of passes
-     *
-     * @api
-     */
-    public function setBeforeRemovingPasses(array $passes)
-    {
-        $this->beforeRemovingPasses = $passes;
-    }
-
-    /**
-     * Sets the Optimization passes.
-     *
-     * @param array $passes An array of passes
-     *
-     * @api
-     */
-    public function setOptimizationPasses(array $passes)
-    {
-        $this->optimizationPasses = $passes;
-    }
-
-    /**
-     * Sets the Removing passes.
-     *
-     * @param array $passes An array of passes
-     *
-     * @api
-     */
-    public function setRemovingPasses(array $passes)
-    {
-        $this->removingPasses = $passes;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.php
deleted file mode 100644
index 0ef0af0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Removes abstract Definitions.
- */
-class RemoveAbstractDefinitionsPass implements CompilerPassInterface
-{
-    /**
-     * Removes abstract definitions from the ContainerBuilder.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $compiler = $container->getCompiler();
-        $formatter = $compiler->getLoggingFormatter();
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            if ($definition->isAbstract()) {
-                $container->removeDefinition($id);
-                $compiler->addLogMessage($formatter->formatRemoveService($this, $id, 'abstract'));
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php
deleted file mode 100644
index 5c53a33..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Remove private aliases from the container. They were only used to establish
- * dependencies between services, and these dependencies have been resolved in
- * one of the previous passes.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class RemovePrivateAliasesPass implements CompilerPassInterface
-{
-    /**
-     * Removes private aliases from the ContainerBuilder.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $compiler = $container->getCompiler();
-        $formatter = $compiler->getLoggingFormatter();
-
-        foreach ($container->getAliases() as $id => $alias) {
-            if ($alias->isPublic()) {
-                continue;
-            }
-
-            $container->removeAlias($id);
-            $compiler->addLogMessage($formatter->formatRemoveService($this, $id, 'private alias'));
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveUnusedDefinitionsPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveUnusedDefinitionsPass.php
deleted file mode 100644
index 9e18a9e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveUnusedDefinitionsPass.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Removes unused service definitions from the container.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class RemoveUnusedDefinitionsPass implements RepeatablePassInterface
-{
-    private $repeatedPass;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRepeatedPass(RepeatedPass $repeatedPass)
-    {
-        $this->repeatedPass = $repeatedPass;
-    }
-
-    /**
-     * Processes the ContainerBuilder to remove unused definitions.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $compiler = $container->getCompiler();
-        $formatter = $compiler->getLoggingFormatter();
-        $graph = $compiler->getServiceReferenceGraph();
-
-        $hasChanged = false;
-        foreach ($container->getDefinitions() as $id => $definition) {
-            if ($definition->isPublic()) {
-                continue;
-            }
-
-            if ($graph->hasNode($id)) {
-                $edges = $graph->getNode($id)->getInEdges();
-                $referencingAliases = array();
-                $sourceIds = array();
-                foreach ($edges as $edge) {
-                    $node = $edge->getSourceNode();
-                    $sourceIds[] = $node->getId();
-
-                    if ($node->isAlias()) {
-                        $referencingAliases[] = $node->getValue();
-                    }
-                }
-                $isReferenced = (count(array_unique($sourceIds)) - count($referencingAliases)) > 0;
-            } else {
-                $referencingAliases = array();
-                $isReferenced = false;
-            }
-
-            if (1 === count($referencingAliases) && false === $isReferenced) {
-                $container->setDefinition((string) reset($referencingAliases), $definition);
-                $definition->setPublic(true);
-                $container->removeDefinition($id);
-                $compiler->addLogMessage($formatter->formatRemoveService($this, $id, 'replaces alias '.reset($referencingAliases)));
-            } elseif (0 === count($referencingAliases) && false === $isReferenced) {
-                $container->removeDefinition($id);
-                $compiler->addLogMessage($formatter->formatRemoveService($this, $id, 'unused'));
-                $hasChanged = true;
-            }
-        }
-
-        if ($hasChanged) {
-            $this->repeatedPass->setRepeat();
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatablePassInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatablePassInterface.php
deleted file mode 100644
index d60ae35..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatablePassInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-/**
- * Interface that must be implemented by passes that are run as part of an
- * RepeatedPass.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-interface RepeatablePassInterface extends CompilerPassInterface
-{
-    /**
-     * Sets the RepeatedPass interface.
-     *
-     * @param RepeatedPass $repeatedPass
-     */
-    public function setRepeatedPass(RepeatedPass $repeatedPass);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatedPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatedPass.php
deleted file mode 100644
index e34b068..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatedPass.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-
-/**
- * A pass that might be run repeatedly.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class RepeatedPass implements CompilerPassInterface
-{
-    /**
-     * @var bool
-     */
-    private $repeat = false;
-
-    /**
-     * @var RepeatablePassInterface[]
-     */
-    private $passes;
-
-    /**
-     * Constructor.
-     *
-     * @param RepeatablePassInterface[] $passes An array of RepeatablePassInterface objects
-     *
-     * @throws InvalidArgumentException when the passes don't implement RepeatablePassInterface
-     */
-    public function __construct(array $passes)
-    {
-        foreach ($passes as $pass) {
-            if (!$pass instanceof RepeatablePassInterface) {
-                throw new InvalidArgumentException('$passes must be an array of RepeatablePassInterface.');
-            }
-
-            $pass->setRepeatedPass($this);
-        }
-
-        $this->passes = $passes;
-    }
-
-    /**
-     * Process the repeatable passes that run more than once.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->repeat = false;
-        foreach ($this->passes as $pass) {
-            $pass->process($container);
-        }
-
-        if ($this->repeat) {
-            $this->process($container);
-        }
-    }
-
-    /**
-     * Sets if the pass should repeat.
-     */
-    public function setRepeat()
-    {
-        $this->repeat = true;
-    }
-
-    /**
-     * Returns the passes.
-     *
-     * @return RepeatablePassInterface[] An array of RepeatablePassInterface objects
-     */
-    public function getPasses()
-    {
-        return $this->passes;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php
deleted file mode 100644
index 972d708..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Reference;
-
-/**
- * Replaces aliases with actual service definitions, effectively removing these
- * aliases.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ReplaceAliasByActualDefinitionPass implements CompilerPassInterface
-{
-    private $compiler;
-    private $formatter;
-    private $sourceId;
-
-    /**
-     * Process the Container to replace aliases with service definitions.
-     *
-     * @param ContainerBuilder $container
-     *
-     * @throws InvalidArgumentException if the service definition does not exist
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->compiler = $container->getCompiler();
-        $this->formatter = $this->compiler->getLoggingFormatter();
-
-        foreach ($container->getAliases() as $id => $alias) {
-            $aliasId = (string) $alias;
-
-            try {
-                $definition = $container->getDefinition($aliasId);
-            } catch (InvalidArgumentException $e) {
-                throw new InvalidArgumentException(sprintf('Unable to replace alias "%s" with "%s".', $alias, $id), null, $e);
-            }
-
-            if ($definition->isPublic()) {
-                continue;
-            }
-
-            $definition->setPublic(true);
-            $container->setDefinition($id, $definition);
-            $container->removeDefinition($aliasId);
-
-            $this->updateReferences($container, $aliasId, $id);
-
-            // we have to restart the process due to concurrent modification of
-            // the container
-            $this->process($container);
-
-            break;
-        }
-    }
-
-    /**
-     * Updates references to remove aliases.
-     *
-     * @param ContainerBuilder $container The container
-     * @param string           $currentId The alias identifier being replaced
-     * @param string           $newId     The id of the service the alias points to
-     */
-    private function updateReferences($container, $currentId, $newId)
-    {
-        foreach ($container->getAliases() as $id => $alias) {
-            if ($currentId === (string) $alias) {
-                $container->setAlias($id, $newId);
-            }
-        }
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            $this->sourceId = $id;
-
-            $definition->setArguments(
-                $this->updateArgumentReferences($definition->getArguments(), $currentId, $newId)
-            );
-
-            $definition->setMethodCalls(
-                $this->updateArgumentReferences($definition->getMethodCalls(), $currentId, $newId)
-            );
-
-            $definition->setProperties(
-                $this->updateArgumentReferences($definition->getProperties(), $currentId, $newId)
-            );
-        }
-    }
-
-    /**
-     * Updates argument references.
-     *
-     * @param array  $arguments An array of Arguments
-     * @param string $currentId The alias identifier
-     * @param string $newId     The identifier the alias points to
-     *
-     * @return array
-     */
-    private function updateArgumentReferences(array $arguments, $currentId, $newId)
-    {
-        foreach ($arguments as $k => $argument) {
-            if (is_array($argument)) {
-                $arguments[$k] = $this->updateArgumentReferences($argument, $currentId, $newId);
-            } elseif ($argument instanceof Reference) {
-                if ($currentId === (string) $argument) {
-                    $arguments[$k] = new Reference($newId, $argument->getInvalidBehavior());
-                    $this->compiler->addLogMessage($this->formatter->formatUpdateReference($this, $this->sourceId, $currentId, $newId));
-                }
-            }
-        }
-
-        return $arguments;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php
deleted file mode 100644
index c1db3e0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\DefinitionDecorator;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-
-/**
- * This replaces all DefinitionDecorator instances with their equivalent fully
- * merged Definition instance.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ResolveDefinitionTemplatesPass implements CompilerPassInterface
-{
-    private $container;
-    private $compiler;
-    private $formatter;
-
-    /**
-     * Process the ContainerBuilder to replace DefinitionDecorator instances with their real Definition instances.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->container = $container;
-        $this->compiler = $container->getCompiler();
-        $this->formatter = $this->compiler->getLoggingFormatter();
-
-        foreach (array_keys($container->getDefinitions()) as $id) {
-            // yes, we are specifically fetching the definition from the
-            // container to ensure we are not operating on stale data
-            $definition = $container->getDefinition($id);
-            if (!$definition instanceof DefinitionDecorator || $definition->isAbstract()) {
-                continue;
-            }
-
-            $this->resolveDefinition($id, $definition);
-        }
-    }
-
-    /**
-     * Resolves the definition.
-     *
-     * @param string              $id         The definition identifier
-     * @param DefinitionDecorator $definition
-     *
-     * @return Definition
-     *
-     * @throws \RuntimeException When the definition is invalid
-     */
-    private function resolveDefinition($id, DefinitionDecorator $definition)
-    {
-        if (!$this->container->hasDefinition($parent = $definition->getParent())) {
-            throw new RuntimeException(sprintf('The parent definition "%s" defined for definition "%s" does not exist.', $parent, $id));
-        }
-
-        $parentDef = $this->container->getDefinition($parent);
-        if ($parentDef instanceof DefinitionDecorator) {
-            $parentDef = $this->resolveDefinition($parent, $parentDef);
-        }
-
-        $this->compiler->addLogMessage($this->formatter->formatResolveInheritance($this, $id, $parent));
-        $def = new Definition();
-
-        // merge in parent definition
-        // purposely ignored attributes: scope, abstract, tags
-        $def->setClass($parentDef->getClass());
-        $def->setArguments($parentDef->getArguments());
-        $def->setMethodCalls($parentDef->getMethodCalls());
-        $def->setProperties($parentDef->getProperties());
-        $def->setFactoryClass($parentDef->getFactoryClass());
-        $def->setFactoryMethod($parentDef->getFactoryMethod());
-        $def->setFactoryService($parentDef->getFactoryService());
-        $def->setFactory($parentDef->getFactory());
-        $def->setConfigurator($parentDef->getConfigurator());
-        $def->setFile($parentDef->getFile());
-        $def->setPublic($parentDef->isPublic());
-        $def->setLazy($parentDef->isLazy());
-
-        // overwrite with values specified in the decorator
-        $changes = $definition->getChanges();
-        if (isset($changes['class'])) {
-            $def->setClass($definition->getClass());
-        }
-        if (isset($changes['factory_class'])) {
-            $def->setFactoryClass($definition->getFactoryClass());
-        }
-        if (isset($changes['factory_method'])) {
-            $def->setFactoryMethod($definition->getFactoryMethod());
-        }
-        if (isset($changes['factory_service'])) {
-            $def->setFactoryService($definition->getFactoryService());
-        }
-        if (isset($changes['factory'])) {
-            $def->setFactory($definition->getFactory());
-        }
-        if (isset($changes['configurator'])) {
-            $def->setConfigurator($definition->getConfigurator());
-        }
-        if (isset($changes['file'])) {
-            $def->setFile($definition->getFile());
-        }
-        if (isset($changes['public'])) {
-            $def->setPublic($definition->isPublic());
-        }
-        if (isset($changes['lazy'])) {
-            $def->setLazy($definition->isLazy());
-        }
-
-        // merge arguments
-        foreach ($definition->getArguments() as $k => $v) {
-            if (is_numeric($k)) {
-                $def->addArgument($v);
-                continue;
-            }
-
-            if (0 !== strpos($k, 'index_')) {
-                throw new RuntimeException(sprintf('Invalid argument key "%s" found.', $k));
-            }
-
-            $index = (int) substr($k, strlen('index_'));
-            $def->replaceArgument($index, $v);
-        }
-
-        // merge properties
-        foreach ($definition->getProperties() as $k => $v) {
-            $def->setProperty($k, $v);
-        }
-
-        // append method calls
-        if (count($calls = $definition->getMethodCalls()) > 0) {
-            $def->setMethodCalls(array_merge($def->getMethodCalls(), $calls));
-        }
-
-        // these attributes are always taken from the child
-        $def->setAbstract($definition->isAbstract());
-        $def->setScope($definition->getScope());
-        $def->setTags($definition->getTags());
-
-        // set new definition on container
-        $this->container->setDefinition($id, $def);
-
-        return $def;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php
deleted file mode 100644
index 000bf08..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-
-/**
- * Emulates the invalid behavior if the reference is not found within the
- * container.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ResolveInvalidReferencesPass implements CompilerPassInterface
-{
-    private $container;
-
-    /**
-     * Process the ContainerBuilder to resolve invalid references.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->container = $container;
-        foreach ($container->getDefinitions() as $definition) {
-            if ($definition->isSynthetic() || $definition->isAbstract()) {
-                continue;
-            }
-
-            $definition->setArguments(
-                $this->processArguments($definition->getArguments())
-            );
-
-            $calls = array();
-            foreach ($definition->getMethodCalls() as $call) {
-                try {
-                    $calls[] = array($call[0], $this->processArguments($call[1], true));
-                } catch (RuntimeException $ignore) {
-                    // this call is simply removed
-                }
-            }
-            $definition->setMethodCalls($calls);
-
-            $properties = array();
-            foreach ($definition->getProperties() as $name => $value) {
-                try {
-                    $value = $this->processArguments(array($value), true);
-                    $properties[$name] = reset($value);
-                } catch (RuntimeException $ignore) {
-                    // ignore property
-                }
-            }
-            $definition->setProperties($properties);
-        }
-    }
-
-    /**
-     * Processes arguments to determine invalid references.
-     *
-     * @param array $arguments    An array of Reference objects
-     * @param bool  $inMethodCall
-     *
-     * @return array
-     *
-     * @throws RuntimeException When the config is invalid
-     */
-    private function processArguments(array $arguments, $inMethodCall = false)
-    {
-        foreach ($arguments as $k => $argument) {
-            if (is_array($argument)) {
-                $arguments[$k] = $this->processArguments($argument, $inMethodCall);
-            } elseif ($argument instanceof Reference) {
-                $id = (string) $argument;
-
-                $invalidBehavior = $argument->getInvalidBehavior();
-                $exists = $this->container->has($id);
-
-                // resolve invalid behavior
-                if (!$exists && ContainerInterface::NULL_ON_INVALID_REFERENCE === $invalidBehavior) {
-                    $arguments[$k] = null;
-                } elseif (!$exists && ContainerInterface::IGNORE_ON_INVALID_REFERENCE === $invalidBehavior) {
-                    if ($inMethodCall) {
-                        throw new RuntimeException('Method shouldn\'t be called.');
-                    }
-
-                    $arguments[$k] = null;
-                }
-            }
-        }
-
-        return $arguments;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveParameterPlaceHoldersPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveParameterPlaceHoldersPass.php
deleted file mode 100644
index 35d46cf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveParameterPlaceHoldersPass.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
-
-/**
- * Resolves all parameter placeholders "%somevalue%" to their real values.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ResolveParameterPlaceHoldersPass implements CompilerPassInterface
-{
-    /**
-     * Processes the ContainerBuilder to resolve parameter placeholders.
-     *
-     * @param ContainerBuilder $container
-     *
-     * @throws ParameterNotFoundException
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $parameterBag = $container->getParameterBag();
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            try {
-                $definition->setClass($parameterBag->resolveValue($definition->getClass()));
-                $definition->setFile($parameterBag->resolveValue($definition->getFile()));
-                $definition->setArguments($parameterBag->resolveValue($definition->getArguments()));
-                $definition->setFactoryClass($parameterBag->resolveValue($definition->getFactoryClass()));
-
-                $factory = $definition->getFactory();
-
-                if (is_array($factory) && isset($factory[0])) {
-                    $factory[0] = $parameterBag->resolveValue($factory[0]);
-                    $definition->setFactory($factory);
-                }
-
-                $calls = array();
-                foreach ($definition->getMethodCalls() as $name => $arguments) {
-                    $calls[$parameterBag->resolveValue($name)] = $parameterBag->resolveValue($arguments);
-                }
-                $definition->setMethodCalls($calls);
-
-                $definition->setProperties($parameterBag->resolveValue($definition->getProperties()));
-            } catch (ParameterNotFoundException $e) {
-                $e->setSourceId($id);
-
-                throw $e;
-            }
-        }
-
-        $aliases = array();
-        foreach ($container->getAliases() as $name => $target) {
-            $aliases[$parameterBag->resolveValue($name)] = $parameterBag->resolveValue($target);
-        }
-        $container->setAliases($aliases);
-
-        $parameterBag->resolve();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveReferencesToAliasesPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveReferencesToAliasesPass.php
deleted file mode 100644
index c90d76f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveReferencesToAliasesPass.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Replaces all references to aliases with references to the actual service.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ResolveReferencesToAliasesPass implements CompilerPassInterface
-{
-    private $container;
-
-    /**
-     * Processes the ContainerBuilder to replace references to aliases with actual service references.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $this->container = $container;
-
-        foreach ($container->getDefinitions() as $definition) {
-            if ($definition->isSynthetic() || $definition->isAbstract()) {
-                continue;
-            }
-
-            $definition->setArguments($this->processArguments($definition->getArguments()));
-            $definition->setMethodCalls($this->processArguments($definition->getMethodCalls()));
-            $definition->setProperties($this->processArguments($definition->getProperties()));
-        }
-
-        foreach ($container->getAliases() as $id => $alias) {
-            $aliasId = (string) $alias;
-            if ($aliasId !== $defId = $this->getDefinitionId($aliasId)) {
-                $container->setAlias($id, new Alias($defId, $alias->isPublic()));
-            }
-        }
-    }
-
-    /**
-     * Processes the arguments to replace aliases.
-     *
-     * @param array $arguments An array of References
-     *
-     * @return array An array of References
-     */
-    private function processArguments(array $arguments)
-    {
-        foreach ($arguments as $k => $argument) {
-            if (is_array($argument)) {
-                $arguments[$k] = $this->processArguments($argument);
-            } elseif ($argument instanceof Reference) {
-                $defId = $this->getDefinitionId($id = (string) $argument);
-
-                if ($defId !== $id) {
-                    $arguments[$k] = new Reference($defId, $argument->getInvalidBehavior(), $argument->isStrict());
-                }
-            }
-        }
-
-        return $arguments;
-    }
-
-    /**
-     * Resolves an alias into a definition id.
-     *
-     * @param string $id The definition or alias id to resolve
-     *
-     * @return string The definition id with aliases resolved
-     */
-    private function getDefinitionId($id)
-    {
-        $seen = array();
-        while ($this->container->hasAlias($id)) {
-            if (isset($seen[$id])) {
-                throw new ServiceCircularReferenceException($id, array_keys($seen));
-            }
-            $seen[$id] = true;
-            $id = (string) $this->container->getAlias($id);
-        }
-
-        return $id;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php
deleted file mode 100644
index dc9a1a0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-
-/**
- * This is a directed graph of your services.
- *
- * This information can be used by your compiler passes instead of collecting
- * it themselves which improves performance quite a lot.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ServiceReferenceGraph
-{
-    /**
-     * @var ServiceReferenceGraphNode[]
-     */
-    private $nodes = array();
-
-    /**
-     * Checks if the graph has a specific node.
-     *
-     * @param string $id Id to check
-     *
-     * @return bool
-     */
-    public function hasNode($id)
-    {
-        return isset($this->nodes[$id]);
-    }
-
-    /**
-     * Gets a node by identifier.
-     *
-     * @param string $id The id to retrieve
-     *
-     * @return ServiceReferenceGraphNode The node matching the supplied identifier
-     *
-     * @throws InvalidArgumentException if no node matches the supplied identifier
-     */
-    public function getNode($id)
-    {
-        if (!isset($this->nodes[$id])) {
-            throw new InvalidArgumentException(sprintf('There is no node with id "%s".', $id));
-        }
-
-        return $this->nodes[$id];
-    }
-
-    /**
-     * Returns all nodes.
-     *
-     * @return ServiceReferenceGraphNode[] An array of all ServiceReferenceGraphNode objects
-     */
-    public function getNodes()
-    {
-        return $this->nodes;
-    }
-
-    /**
-     * Clears all nodes.
-     */
-    public function clear()
-    {
-        $this->nodes = array();
-    }
-
-    /**
-     * Connects 2 nodes together in the Graph.
-     *
-     * @param string $sourceId
-     * @param string $sourceValue
-     * @param string $destId
-     * @param string $destValue
-     * @param string $reference
-     */
-    public function connect($sourceId, $sourceValue, $destId, $destValue = null, $reference = null)
-    {
-        $sourceNode = $this->createNode($sourceId, $sourceValue);
-        $destNode = $this->createNode($destId, $destValue);
-        $edge = new ServiceReferenceGraphEdge($sourceNode, $destNode, $reference);
-
-        $sourceNode->addOutEdge($edge);
-        $destNode->addInEdge($edge);
-    }
-
-    /**
-     * Creates a graph node.
-     *
-     * @param string $id
-     * @param string $value
-     *
-     * @return ServiceReferenceGraphNode
-     */
-    private function createNode($id, $value)
-    {
-        if (isset($this->nodes[$id]) && $this->nodes[$id]->getValue() === $value) {
-            return $this->nodes[$id];
-        }
-
-        return $this->nodes[$id] = new ServiceReferenceGraphNode($id, $value);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphEdge.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphEdge.php
deleted file mode 100644
index 6a3e2ea..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphEdge.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-/**
- * Represents an edge in your service graph.
- *
- * Value is typically a reference.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ServiceReferenceGraphEdge
-{
-    private $sourceNode;
-    private $destNode;
-    private $value;
-
-    /**
-     * Constructor.
-     *
-     * @param ServiceReferenceGraphNode $sourceNode
-     * @param ServiceReferenceGraphNode $destNode
-     * @param string                    $value
-     */
-    public function __construct(ServiceReferenceGraphNode $sourceNode, ServiceReferenceGraphNode $destNode, $value = null)
-    {
-        $this->sourceNode = $sourceNode;
-        $this->destNode = $destNode;
-        $this->value = $value;
-    }
-
-    /**
-     * Returns the value of the edge.
-     *
-     * @return ServiceReferenceGraphNode
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Returns the source node.
-     *
-     * @return ServiceReferenceGraphNode
-     */
-    public function getSourceNode()
-    {
-        return $this->sourceNode;
-    }
-
-    /**
-     * Returns the destination node.
-     *
-     * @return ServiceReferenceGraphNode
-     */
-    public function getDestNode()
-    {
-        return $this->destNode;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphNode.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphNode.php
deleted file mode 100644
index c49c932..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphNode.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Alias;
-
-/**
- * Represents a node in your service graph.
- *
- * Value is typically a definition, or an alias.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ServiceReferenceGraphNode
-{
-    private $id;
-    private $inEdges = array();
-    private $outEdges = array();
-    private $value;
-
-    /**
-     * Constructor.
-     *
-     * @param string $id    The node identifier
-     * @param mixed  $value The node value
-     */
-    public function __construct($id, $value)
-    {
-        $this->id = $id;
-        $this->value = $value;
-    }
-
-    /**
-     * Adds an in edge to this node.
-     *
-     * @param ServiceReferenceGraphEdge $edge
-     */
-    public function addInEdge(ServiceReferenceGraphEdge $edge)
-    {
-        $this->inEdges[] = $edge;
-    }
-
-    /**
-     * Adds an out edge to this node.
-     *
-     * @param ServiceReferenceGraphEdge $edge
-     */
-    public function addOutEdge(ServiceReferenceGraphEdge $edge)
-    {
-        $this->outEdges[] = $edge;
-    }
-
-    /**
-     * Checks if the value of this node is an Alias.
-     *
-     * @return bool True if the value is an Alias instance
-     */
-    public function isAlias()
-    {
-        return $this->value instanceof Alias;
-    }
-
-    /**
-     * Checks if the value of this node is a Definition.
-     *
-     * @return bool True if the value is a Definition instance
-     */
-    public function isDefinition()
-    {
-        return $this->value instanceof Definition;
-    }
-
-    /**
-     * Returns the identifier.
-     *
-     * @return string
-     */
-    public function getId()
-    {
-        return $this->id;
-    }
-
-    /**
-     * Returns the in edges.
-     *
-     * @return array The in ServiceReferenceGraphEdge array
-     */
-    public function getInEdges()
-    {
-        return $this->inEdges;
-    }
-
-    /**
-     * Returns the out edges.
-     *
-     * @return array The out ServiceReferenceGraphEdge array
-     */
-    public function getOutEdges()
-    {
-        return $this->outEdges;
-    }
-
-    /**
-     * Returns the value of this Node.
-     *
-     * @return mixed The value
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php
deleted file mode 100644
index a969db3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php
+++ /dev/null
@@ -1,572 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
-use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
-
-/**
- * Container is a dependency injection container.
- *
- * It gives access to object instances (services).
- *
- * Services and parameters are simple key/pair stores.
- *
- * Parameter and service keys are case insensitive.
- *
- * A service id can contain lowercased letters, digits, underscores, and dots.
- * Underscores are used to separate words, and dots to group services
- * under namespaces:
- *
- * <ul>
- *   <li>request</li>
- *   <li>mysql_session_storage</li>
- *   <li>symfony.mysql_session_storage</li>
- * </ul>
- *
- * A service can also be defined by creating a method named
- * getXXXService(), where XXX is the camelized version of the id:
- *
- * <ul>
- *   <li>request -> getRequestService()</li>
- *   <li>mysql_session_storage -> getMysqlSessionStorageService()</li>
- *   <li>symfony.mysql_session_storage -> getSymfony_MysqlSessionStorageService()</li>
- * </ul>
- *
- * The container can have three possible behaviors when a service does not exist:
- *
- *  * EXCEPTION_ON_INVALID_REFERENCE: Throws an exception (the default)
- *  * NULL_ON_INVALID_REFERENCE:      Returns null
- *  * IGNORE_ON_INVALID_REFERENCE:    Ignores the wrapping command asking for the reference
- *                                    (for instance, ignore a setter if the service does not exist)
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-class Container implements IntrospectableContainerInterface
-{
-    /**
-     * @var ParameterBagInterface
-     */
-    protected $parameterBag;
-
-    protected $services = array();
-    protected $methodMap = array();
-    protected $aliases = array();
-    protected $scopes = array();
-    protected $scopeChildren = array();
-    protected $scopedServices = array();
-    protected $scopeStacks = array();
-    protected $loading = array();
-
-    /**
-     * Constructor.
-     *
-     * @param ParameterBagInterface $parameterBag A ParameterBagInterface instance
-     *
-     * @api
-     */
-    public function __construct(ParameterBagInterface $parameterBag = null)
-    {
-        $this->parameterBag = $parameterBag ?: new ParameterBag();
-
-        $this->set('service_container', $this);
-    }
-
-    /**
-     * Compiles the container.
-     *
-     * This method does two things:
-     *
-     *  * Parameter values are resolved;
-     *  * The parameter bag is frozen.
-     *
-     * @api
-     */
-    public function compile()
-    {
-        $this->parameterBag->resolve();
-
-        $this->parameterBag = new FrozenParameterBag($this->parameterBag->all());
-    }
-
-    /**
-     * Returns true if the container parameter bag are frozen.
-     *
-     * @return bool true if the container parameter bag are frozen, false otherwise
-     *
-     * @api
-     */
-    public function isFrozen()
-    {
-        return $this->parameterBag instanceof FrozenParameterBag;
-    }
-
-    /**
-     * Gets the service container parameter bag.
-     *
-     * @return ParameterBagInterface A ParameterBagInterface instance
-     *
-     * @api
-     */
-    public function getParameterBag()
-    {
-        return $this->parameterBag;
-    }
-
-    /**
-     * Gets a parameter.
-     *
-     * @param string $name The parameter name
-     *
-     * @return mixed The parameter value
-     *
-     * @throws InvalidArgumentException if the parameter is not defined
-     *
-     * @api
-     */
-    public function getParameter($name)
-    {
-        return $this->parameterBag->get($name);
-    }
-
-    /**
-     * Checks if a parameter exists.
-     *
-     * @param string $name The parameter name
-     *
-     * @return bool The presence of parameter in container
-     *
-     * @api
-     */
-    public function hasParameter($name)
-    {
-        return $this->parameterBag->has($name);
-    }
-
-    /**
-     * Sets a parameter.
-     *
-     * @param string $name  The parameter name
-     * @param mixed  $value The parameter value
-     *
-     * @api
-     */
-    public function setParameter($name, $value)
-    {
-        $this->parameterBag->set($name, $value);
-    }
-
-    /**
-     * Sets a service.
-     *
-     * Setting a service to null resets the service: has() returns false and get()
-     * behaves in the same way as if the service was never created.
-     *
-     * @param string $id      The service identifier
-     * @param object $service The service instance
-     * @param string $scope   The scope of the service
-     *
-     * @throws RuntimeException         When trying to set a service in an inactive scope
-     * @throws InvalidArgumentException When trying to set a service in the prototype scope
-     *
-     * @api
-     */
-    public function set($id, $service, $scope = self::SCOPE_CONTAINER)
-    {
-        if (self::SCOPE_PROTOTYPE === $scope) {
-            throw new InvalidArgumentException(sprintf('You cannot set service "%s" of scope "prototype".', $id));
-        }
-
-        $id = strtolower($id);
-
-        if ('service_container' === $id) {
-            // BC: 'service_container' is no longer a self-reference but always
-            // $this, so ignore this call.
-            // @todo Throw InvalidArgumentException in next major release.
-            return;
-        }
-        if (self::SCOPE_CONTAINER !== $scope) {
-            if (!isset($this->scopedServices[$scope])) {
-                throw new RuntimeException(sprintf('You cannot set service "%s" of inactive scope.', $id));
-            }
-
-            $this->scopedServices[$scope][$id] = $service;
-        }
-
-        $this->services[$id] = $service;
-
-        if (method_exists($this, $method = 'synchronize'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')) {
-            $this->$method();
-        }
-
-        if (null === $service) {
-            if (self::SCOPE_CONTAINER !== $scope) {
-                unset($this->scopedServices[$scope][$id]);
-            }
-
-            unset($this->services[$id]);
-        }
-    }
-
-    /**
-     * Returns true if the given service is defined.
-     *
-     * @param string $id The service identifier
-     *
-     * @return bool true if the service is defined, false otherwise
-     *
-     * @api
-     */
-    public function has($id)
-    {
-        $id = strtolower($id);
-
-        if ('service_container' === $id) {
-            return true;
-        }
-
-        return isset($this->services[$id])
-            || array_key_exists($id, $this->services)
-            || isset($this->aliases[$id])
-            || method_exists($this, 'get'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')
-        ;
-    }
-
-    /**
-     * Gets a service.
-     *
-     * If a service is defined both through a set() method and
-     * with a get{$id}Service() method, the former has always precedence.
-     *
-     * @param string $id              The service identifier
-     * @param int    $invalidBehavior The behavior when the service does not exist
-     *
-     * @return object The associated service
-     *
-     * @throws InvalidArgumentException          if the service is not defined
-     * @throws ServiceCircularReferenceException When a circular reference is detected
-     * @throws ServiceNotFoundException          When the service is not defined
-     * @throws \Exception                        if an exception has been thrown when the service has been resolved
-     *
-     * @see Reference
-     *
-     * @api
-     */
-    public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)
-    {
-        // Attempt to retrieve the service by checking first aliases then
-        // available services. Service IDs are case insensitive, however since
-        // this method can be called thousands of times during a request, avoid
-        // calling strtolower() unless necessary.
-        foreach (array(false, true) as $strtolower) {
-            if ($strtolower) {
-                $id = strtolower($id);
-            }
-            if ('service_container' === $id) {
-                return $this;
-            }
-            if (isset($this->aliases[$id])) {
-                $id = $this->aliases[$id];
-            }
-            // Re-use shared service instance if it exists.
-            if (isset($this->services[$id]) || array_key_exists($id, $this->services)) {
-                return $this->services[$id];
-            }
-        }
-
-        if (isset($this->loading[$id])) {
-            throw new ServiceCircularReferenceException($id, array_keys($this->loading));
-        }
-
-        if (isset($this->methodMap[$id])) {
-            $method = $this->methodMap[$id];
-        } elseif (method_exists($this, $method = 'get'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')) {
-            // $method is set to the right value, proceed
-        } else {
-            if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) {
-                if (!$id) {
-                    throw new ServiceNotFoundException($id);
-                }
-
-                $alternatives = array();
-                foreach (array_keys($this->services) as $key) {
-                    $lev = levenshtein($id, $key);
-                    if ($lev <= strlen($id) / 3 || false !== strpos($key, $id)) {
-                        $alternatives[] = $key;
-                    }
-                }
-
-                throw new ServiceNotFoundException($id, null, null, $alternatives);
-            }
-
-            return;
-        }
-
-        $this->loading[$id] = true;
-
-        try {
-            $service = $this->$method();
-        } catch (\Exception $e) {
-            unset($this->loading[$id]);
-
-            if (array_key_exists($id, $this->services)) {
-                unset($this->services[$id]);
-            }
-
-            if ($e instanceof InactiveScopeException && self::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) {
-                return;
-            }
-
-            throw $e;
-        }
-
-        unset($this->loading[$id]);
-
-        return $service;
-    }
-
-    /**
-     * Returns true if the given service has actually been initialized.
-     *
-     * @param string $id The service identifier
-     *
-     * @return bool true if service has already been initialized, false otherwise
-     */
-    public function initialized($id)
-    {
-        $id = strtolower($id);
-
-        if ('service_container' === $id) {
-            // BC: 'service_container' was a synthetic service previously.
-            // @todo Change to false in next major release.
-            return true;
-        }
-
-        if (isset($this->aliases[$id])) {
-            $id = $this->aliases[$id];
-        }
-
-        return isset($this->services[$id]) || array_key_exists($id, $this->services);
-    }
-
-    /**
-     * Gets all service ids.
-     *
-     * @return array An array of all defined service ids
-     */
-    public function getServiceIds()
-    {
-        $ids = array();
-        $r = new \ReflectionClass($this);
-        foreach ($r->getMethods() as $method) {
-            if (preg_match('/^get(.+)Service$/', $method->name, $match)) {
-                $ids[] = self::underscore($match[1]);
-            }
-        }
-        $ids[] = 'service_container';
-
-        return array_unique(array_merge($ids, array_keys($this->services)));
-    }
-
-    /**
-     * This is called when you enter a scope.
-     *
-     * @param string $name
-     *
-     * @throws RuntimeException         When the parent scope is inactive
-     * @throws InvalidArgumentException When the scope does not exist
-     *
-     * @api
-     */
-    public function enterScope($name)
-    {
-        if (!isset($this->scopes[$name])) {
-            throw new InvalidArgumentException(sprintf('The scope "%s" does not exist.', $name));
-        }
-
-        if (self::SCOPE_CONTAINER !== $this->scopes[$name] && !isset($this->scopedServices[$this->scopes[$name]])) {
-            throw new RuntimeException(sprintf('The parent scope "%s" must be active when entering this scope.', $this->scopes[$name]));
-        }
-
-        // check if a scope of this name is already active, if so we need to
-        // remove all services of this scope, and those of any of its child
-        // scopes from the global services map
-        if (isset($this->scopedServices[$name])) {
-            $services = array($this->services, $name => $this->scopedServices[$name]);
-            unset($this->scopedServices[$name]);
-
-            foreach ($this->scopeChildren[$name] as $child) {
-                if (isset($this->scopedServices[$child])) {
-                    $services[$child] = $this->scopedServices[$child];
-                    unset($this->scopedServices[$child]);
-                }
-            }
-
-            // update global map
-            $this->services = call_user_func_array('array_diff_key', $services);
-            array_shift($services);
-
-            // add stack entry for this scope so we can restore the removed services later
-            if (!isset($this->scopeStacks[$name])) {
-                $this->scopeStacks[$name] = new \SplStack();
-            }
-            $this->scopeStacks[$name]->push($services);
-        }
-
-        $this->scopedServices[$name] = array();
-    }
-
-    /**
-     * This is called to leave the current scope, and move back to the parent
-     * scope.
-     *
-     * @param string $name The name of the scope to leave
-     *
-     * @throws InvalidArgumentException if the scope is not active
-     *
-     * @api
-     */
-    public function leaveScope($name)
-    {
-        if (!isset($this->scopedServices[$name])) {
-            throw new InvalidArgumentException(sprintf('The scope "%s" is not active.', $name));
-        }
-
-        // remove all services of this scope, or any of its child scopes from
-        // the global service map
-        $services = array($this->services, $this->scopedServices[$name]);
-        unset($this->scopedServices[$name]);
-
-        foreach ($this->scopeChildren[$name] as $child) {
-            if (isset($this->scopedServices[$child])) {
-                $services[] = $this->scopedServices[$child];
-                unset($this->scopedServices[$child]);
-            }
-        }
-
-        // update global map
-        $this->services = call_user_func_array('array_diff_key', $services);
-
-        // check if we need to restore services of a previous scope of this type
-        if (isset($this->scopeStacks[$name]) && count($this->scopeStacks[$name]) > 0) {
-            $services = $this->scopeStacks[$name]->pop();
-            $this->scopedServices += $services;
-
-            if ($this->scopeStacks[$name]->isEmpty()) {
-                unset($this->scopeStacks[$name]);
-            }
-
-            foreach ($services as $array) {
-                foreach ($array as $id => $service) {
-                    $this->set($id, $service, $name);
-                }
-            }
-        }
-    }
-
-    /**
-     * Adds a scope to the container.
-     *
-     * @param ScopeInterface $scope
-     *
-     * @throws InvalidArgumentException
-     *
-     * @api
-     */
-    public function addScope(ScopeInterface $scope)
-    {
-        $name = $scope->getName();
-        $parentScope = $scope->getParentName();
-
-        if (self::SCOPE_CONTAINER === $name || self::SCOPE_PROTOTYPE === $name) {
-            throw new InvalidArgumentException(sprintf('The scope "%s" is reserved.', $name));
-        }
-        if (isset($this->scopes[$name])) {
-            throw new InvalidArgumentException(sprintf('A scope with name "%s" already exists.', $name));
-        }
-        if (self::SCOPE_CONTAINER !== $parentScope && !isset($this->scopes[$parentScope])) {
-            throw new InvalidArgumentException(sprintf('The parent scope "%s" does not exist, or is invalid.', $parentScope));
-        }
-
-        $this->scopes[$name] = $parentScope;
-        $this->scopeChildren[$name] = array();
-
-        // normalize the child relations
-        while ($parentScope !== self::SCOPE_CONTAINER) {
-            $this->scopeChildren[$parentScope][] = $name;
-            $parentScope = $this->scopes[$parentScope];
-        }
-    }
-
-    /**
-     * Returns whether this container has a certain scope.
-     *
-     * @param string $name The name of the scope
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function hasScope($name)
-    {
-        return isset($this->scopes[$name]);
-    }
-
-    /**
-     * Returns whether this scope is currently active.
-     *
-     * This does not actually check if the passed scope actually exists.
-     *
-     * @param string $name
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isScopeActive($name)
-    {
-        return isset($this->scopedServices[$name]);
-    }
-
-    /**
-     * Camelizes a string.
-     *
-     * @param string $id A string to camelize
-     *
-     * @return string The camelized string
-     */
-    public static function camelize($id)
-    {
-        return strtr(ucwords(strtr($id, array('_' => ' ', '.' => '_ ', '\\' => '_ '))), array(' ' => ''));
-    }
-
-    /**
-     * A string to underscore.
-     *
-     * @param string $id The string to underscore
-     *
-     * @return string The underscored string
-     */
-    public static function underscore($id)
-    {
-        return strtolower(preg_replace(array('/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'), array('\\1_\\2', '\\1_\\2'), strtr($id, '_', '.')));
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAware.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAware.php
deleted file mode 100644
index 4096915..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAware.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * A simple implementation of ContainerAwareInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-abstract class ContainerAware implements ContainerAwareInterface
-{
-    /**
-     * @var ContainerInterface
-     *
-     * @api
-     */
-    protected $container;
-
-    /**
-     * Sets the Container associated with this Controller.
-     *
-     * @param ContainerInterface $container A ContainerInterface instance
-     *
-     * @api
-     */
-    public function setContainer(ContainerInterface $container = null)
-    {
-        $this->container = $container;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareInterface.php
deleted file mode 100644
index e85bb53..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareInterface.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * ContainerAwareInterface should be implemented by classes that depends on a Container.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface ContainerAwareInterface
-{
-    /**
-     * Sets the Container.
-     *
-     * @param ContainerInterface|null $container A ContainerInterface instance or null
-     *
-     * @api
-     */
-    public function setContainer(ContainerInterface $container = null);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareTrait.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareTrait.php
deleted file mode 100644
index 57280aa..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareTrait.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * ContainerAware trait.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-trait ContainerAwareTrait
-{
-    /**
-     * @var ContainerInterface
-     */
-    protected $container;
-
-    /**
-     * Sets the Container associated with this Controller.
-     *
-     * @param ContainerInterface $container A ContainerInterface instance
-     */
-    public function setContainer(ContainerInterface $container = null)
-    {
-        $this->container = $container;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
deleted file mode 100644
index 5857195..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
+++ /dev/null
@@ -1,1189 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\Compiler\Compiler;
-use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
-use Symfony\Component\DependencyInjection\Compiler\PassConfig;
-use Symfony\Component\DependencyInjection\Exception\BadMethodCallException;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Config\Resource\ResourceInterface;
-use Symfony\Component\DependencyInjection\LazyProxy\Instantiator\InstantiatorInterface;
-use Symfony\Component\DependencyInjection\LazyProxy\Instantiator\RealServiceInstantiator;
-use Symfony\Component\ExpressionLanguage\Expression;
-use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
-
-/**
- * ContainerBuilder is a DI container that provides an API to easily describe services.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class ContainerBuilder extends Container implements TaggedContainerInterface
-{
-    /**
-     * @var ExtensionInterface[]
-     */
-    private $extensions = array();
-
-    /**
-     * @var ExtensionInterface[]
-     */
-    private $extensionsByNs = array();
-
-    /**
-     * @var Definition[]
-     */
-    private $definitions = array();
-
-    /**
-     * @var Definition[]
-     */
-    private $obsoleteDefinitions = array();
-
-    /**
-     * @var Alias[]
-     */
-    private $aliasDefinitions = array();
-
-    /**
-     * @var ResourceInterface[]
-     */
-    private $resources = array();
-
-    private $extensionConfigs = array();
-
-    /**
-     * @var Compiler
-     */
-    private $compiler;
-
-    private $trackResources = true;
-
-    /**
-     * @var InstantiatorInterface|null
-     */
-    private $proxyInstantiator;
-
-    /**
-     * @var ExpressionLanguage|null
-     */
-    private $expressionLanguage;
-
-    /**
-     * @var ExpressionFunctionProviderInterface[]
-     */
-    private $expressionLanguageProviders = array();
-
-    /**
-     * Sets the track resources flag.
-     *
-     * If you are not using the loaders and therefore don't want
-     * to depend on the Config component, set this flag to false.
-     *
-     * @param bool $track true if you want to track resources, false otherwise
-     */
-    public function setResourceTracking($track)
-    {
-        $this->trackResources = (bool) $track;
-    }
-
-    /**
-     * Checks if resources are tracked.
-     *
-     * @return bool true if resources are tracked, false otherwise
-     */
-    public function isTrackingResources()
-    {
-        return $this->trackResources;
-    }
-
-    /**
-     * Sets the instantiator to be used when fetching proxies.
-     *
-     * @param InstantiatorInterface $proxyInstantiator
-     */
-    public function setProxyInstantiator(InstantiatorInterface $proxyInstantiator)
-    {
-        $this->proxyInstantiator = $proxyInstantiator;
-    }
-
-    /**
-     * Registers an extension.
-     *
-     * @param ExtensionInterface $extension An extension instance
-     *
-     * @api
-     */
-    public function registerExtension(ExtensionInterface $extension)
-    {
-        $this->extensions[$extension->getAlias()] = $extension;
-
-        if (false !== $extension->getNamespace()) {
-            $this->extensionsByNs[$extension->getNamespace()] = $extension;
-        }
-    }
-
-    /**
-     * Returns an extension by alias or namespace.
-     *
-     * @param string $name An alias or a namespace
-     *
-     * @return ExtensionInterface An extension instance
-     *
-     * @throws LogicException if the extension is not registered
-     *
-     * @api
-     */
-    public function getExtension($name)
-    {
-        if (isset($this->extensions[$name])) {
-            return $this->extensions[$name];
-        }
-
-        if (isset($this->extensionsByNs[$name])) {
-            return $this->extensionsByNs[$name];
-        }
-
-        throw new LogicException(sprintf('Container extension "%s" is not registered', $name));
-    }
-
-    /**
-     * Returns all registered extensions.
-     *
-     * @return ExtensionInterface[] An array of ExtensionInterface
-     *
-     * @api
-     */
-    public function getExtensions()
-    {
-        return $this->extensions;
-    }
-
-    /**
-     * Checks if we have an extension.
-     *
-     * @param string $name The name of the extension
-     *
-     * @return bool If the extension exists
-     *
-     * @api
-     */
-    public function hasExtension($name)
-    {
-        return isset($this->extensions[$name]) || isset($this->extensionsByNs[$name]);
-    }
-
-    /**
-     * Returns an array of resources loaded to build this configuration.
-     *
-     * @return ResourceInterface[] An array of resources
-     *
-     * @api
-     */
-    public function getResources()
-    {
-        return array_unique($this->resources);
-    }
-
-    /**
-     * Adds a resource for this configuration.
-     *
-     * @param ResourceInterface $resource A resource instance
-     *
-     * @return ContainerBuilder The current instance
-     *
-     * @api
-     */
-    public function addResource(ResourceInterface $resource)
-    {
-        if (!$this->trackResources) {
-            return $this;
-        }
-
-        $this->resources[] = $resource;
-
-        return $this;
-    }
-
-    /**
-     * Sets the resources for this configuration.
-     *
-     * @param ResourceInterface[] $resources An array of resources
-     *
-     * @return ContainerBuilder The current instance
-     *
-     * @api
-     */
-    public function setResources(array $resources)
-    {
-        if (!$this->trackResources) {
-            return $this;
-        }
-
-        $this->resources = $resources;
-
-        return $this;
-    }
-
-    /**
-     * Adds the object class hierarchy as resources.
-     *
-     * @param object $object An object instance
-     *
-     * @return ContainerBuilder The current instance
-     *
-     * @api
-     */
-    public function addObjectResource($object)
-    {
-        if ($this->trackResources) {
-            $this->addClassResource(new \ReflectionClass($object));
-        }
-
-        return $this;
-    }
-
-    /**
-     * Adds the given class hierarchy as resources.
-     *
-     * @param \ReflectionClass $class
-     *
-     * @return ContainerBuilder The current instance
-     */
-    public function addClassResource(\ReflectionClass $class)
-    {
-        if (!$this->trackResources) {
-            return $this;
-        }
-
-        do {
-            $this->addResource(new FileResource($class->getFileName()));
-        } while ($class = $class->getParentClass());
-
-        return $this;
-    }
-
-    /**
-     * Loads the configuration for an extension.
-     *
-     * @param string $extension The extension alias or namespace
-     * @param array  $values    An array of values that customizes the extension
-     *
-     * @return ContainerBuilder The current instance
-     *
-     * @throws BadMethodCallException When this ContainerBuilder is frozen
-     * @throws \LogicException        if the container is frozen
-     *
-     * @api
-     */
-    public function loadFromExtension($extension, array $values = array())
-    {
-        if ($this->isFrozen()) {
-            throw new BadMethodCallException('Cannot load from an extension on a frozen container.');
-        }
-
-        $namespace = $this->getExtension($extension)->getAlias();
-
-        $this->extensionConfigs[$namespace][] = $values;
-
-        return $this;
-    }
-
-    /**
-     * Adds a compiler pass.
-     *
-     * @param CompilerPassInterface $pass A compiler pass
-     * @param string                $type The type of compiler pass
-     *
-     * @return ContainerBuilder The current instance
-     *
-     * @api
-     */
-    public function addCompilerPass(CompilerPassInterface $pass, $type = PassConfig::TYPE_BEFORE_OPTIMIZATION)
-    {
-        $this->getCompiler()->addPass($pass, $type);
-
-        $this->addObjectResource($pass);
-
-        return $this;
-    }
-
-    /**
-     * Returns the compiler pass config which can then be modified.
-     *
-     * @return PassConfig The compiler pass config
-     *
-     * @api
-     */
-    public function getCompilerPassConfig()
-    {
-        return $this->getCompiler()->getPassConfig();
-    }
-
-    /**
-     * Returns the compiler.
-     *
-     * @return Compiler The compiler
-     *
-     * @api
-     */
-    public function getCompiler()
-    {
-        if (null === $this->compiler) {
-            $this->compiler = new Compiler();
-        }
-
-        return $this->compiler;
-    }
-
-    /**
-     * Returns all Scopes.
-     *
-     * @return array An array of scopes
-     *
-     * @api
-     */
-    public function getScopes()
-    {
-        return $this->scopes;
-    }
-
-    /**
-     * Returns all Scope children.
-     *
-     * @return array An array of scope children.
-     *
-     * @api
-     */
-    public function getScopeChildren()
-    {
-        return $this->scopeChildren;
-    }
-
-    /**
-     * Sets a service.
-     *
-     * @param string $id      The service identifier
-     * @param object $service The service instance
-     * @param string $scope   The scope
-     *
-     * @throws BadMethodCallException When this ContainerBuilder is frozen
-     *
-     * @api
-     */
-    public function set($id, $service, $scope = self::SCOPE_CONTAINER)
-    {
-        $id = strtolower($id);
-
-        if ($this->isFrozen()) {
-            // setting a synthetic service on a frozen container is alright
-            if (
-                (!isset($this->definitions[$id]) && !isset($this->obsoleteDefinitions[$id]))
-                    ||
-                (isset($this->definitions[$id]) && !$this->definitions[$id]->isSynthetic())
-                    ||
-                (isset($this->obsoleteDefinitions[$id]) && !$this->obsoleteDefinitions[$id]->isSynthetic())
-            ) {
-                throw new BadMethodCallException(sprintf('Setting service "%s" on a frozen container is not allowed.', $id));
-            }
-        }
-
-        if (isset($this->definitions[$id])) {
-            $this->obsoleteDefinitions[$id] = $this->definitions[$id];
-        }
-
-        unset($this->definitions[$id], $this->aliasDefinitions[$id]);
-
-        parent::set($id, $service, $scope);
-
-        if (isset($this->obsoleteDefinitions[$id]) && $this->obsoleteDefinitions[$id]->isSynchronized()) {
-            $this->synchronize($id);
-        }
-    }
-
-    /**
-     * Removes a service definition.
-     *
-     * @param string $id The service identifier
-     *
-     * @api
-     */
-    public function removeDefinition($id)
-    {
-        unset($this->definitions[strtolower($id)]);
-    }
-
-    /**
-     * Returns true if the given service is defined.
-     *
-     * @param string $id The service identifier
-     *
-     * @return bool true if the service is defined, false otherwise
-     *
-     * @api
-     */
-    public function has($id)
-    {
-        $id = strtolower($id);
-
-        return isset($this->definitions[$id]) || isset($this->aliasDefinitions[$id]) || parent::has($id);
-    }
-
-    /**
-     * Gets a service.
-     *
-     * @param string $id              The service identifier
-     * @param int    $invalidBehavior The behavior when the service does not exist
-     *
-     * @return object The associated service
-     *
-     * @throws InvalidArgumentException when no definitions are available
-     * @throws InactiveScopeException   when the current scope is not active
-     * @throws LogicException           when a circular dependency is detected
-     * @throws \Exception
-     *
-     * @see Reference
-     *
-     * @api
-     */
-    public function get($id, $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE)
-    {
-        $id = strtolower($id);
-
-        if ($service = parent::get($id, ContainerInterface::NULL_ON_INVALID_REFERENCE)) {
-            return $service;
-        }
-
-        if (!$this->hasDefinition($id) && isset($this->aliasDefinitions[$id])) {
-            return $this->get($this->aliasDefinitions[$id]);
-        }
-
-        try {
-            $definition = $this->getDefinition($id);
-        } catch (InvalidArgumentException $e) {
-            if (ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) {
-                return;
-            }
-
-            throw $e;
-        }
-
-        $this->loading[$id] = true;
-
-        try {
-            $service = $this->createService($definition, $id);
-        } catch (\Exception $e) {
-            unset($this->loading[$id]);
-
-            if ($e instanceof InactiveScopeException && self::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) {
-                return;
-            }
-
-            throw $e;
-        }
-
-        unset($this->loading[$id]);
-
-        return $service;
-    }
-
-    /**
-     * Merges a ContainerBuilder with the current ContainerBuilder configuration.
-     *
-     * Service definitions overrides the current defined ones.
-     *
-     * But for parameters, they are overridden by the current ones. It allows
-     * the parameters passed to the container constructor to have precedence
-     * over the loaded ones.
-     *
-     * $container = new ContainerBuilder(array('foo' => 'bar'));
-     * $loader = new LoaderXXX($container);
-     * $loader->load('resource_name');
-     * $container->register('foo', new stdClass());
-     *
-     * In the above example, even if the loaded resource defines a foo
-     * parameter, the value will still be 'bar' as defined in the ContainerBuilder
-     * constructor.
-     *
-     * @param ContainerBuilder $container The ContainerBuilder instance to merge.
-     *
-     * @throws BadMethodCallException When this ContainerBuilder is frozen
-     *
-     * @api
-     */
-    public function merge(ContainerBuilder $container)
-    {
-        if ($this->isFrozen()) {
-            throw new BadMethodCallException('Cannot merge on a frozen container.');
-        }
-
-        $this->addDefinitions($container->getDefinitions());
-        $this->addAliases($container->getAliases());
-        $this->getParameterBag()->add($container->getParameterBag()->all());
-
-        if ($this->trackResources) {
-            foreach ($container->getResources() as $resource) {
-                $this->addResource($resource);
-            }
-        }
-
-        foreach ($this->extensions as $name => $extension) {
-            if (!isset($this->extensionConfigs[$name])) {
-                $this->extensionConfigs[$name] = array();
-            }
-
-            $this->extensionConfigs[$name] = array_merge($this->extensionConfigs[$name], $container->getExtensionConfig($name));
-        }
-    }
-
-    /**
-     * Returns the configuration array for the given extension.
-     *
-     * @param string $name The name of the extension
-     *
-     * @return array An array of configuration
-     *
-     * @api
-     */
-    public function getExtensionConfig($name)
-    {
-        if (!isset($this->extensionConfigs[$name])) {
-            $this->extensionConfigs[$name] = array();
-        }
-
-        return $this->extensionConfigs[$name];
-    }
-
-    /**
-     * Prepends a config array to the configs of the given extension.
-     *
-     * @param string $name   The name of the extension
-     * @param array  $config The config to set
-     */
-    public function prependExtensionConfig($name, array $config)
-    {
-        if (!isset($this->extensionConfigs[$name])) {
-            $this->extensionConfigs[$name] = array();
-        }
-
-        array_unshift($this->extensionConfigs[$name], $config);
-    }
-
-    /**
-     * Compiles the container.
-     *
-     * This method passes the container to compiler
-     * passes whose job is to manipulate and optimize
-     * the container.
-     *
-     * The main compiler passes roughly do four things:
-     *
-     *  * The extension configurations are merged;
-     *  * Parameter values are resolved;
-     *  * The parameter bag is frozen;
-     *  * Extension loading is disabled.
-     *
-     * @api
-     */
-    public function compile()
-    {
-        $compiler = $this->getCompiler();
-
-        if ($this->trackResources) {
-            foreach ($compiler->getPassConfig()->getPasses() as $pass) {
-                $this->addObjectResource($pass);
-            }
-        }
-
-        $compiler->compile($this);
-
-        if ($this->trackResources) {
-            foreach ($this->definitions as $definition) {
-                if ($definition->isLazy() && ($class = $definition->getClass()) && class_exists($class)) {
-                    $this->addClassResource(new \ReflectionClass($class));
-                }
-            }
-        }
-
-        $this->extensionConfigs = array();
-
-        parent::compile();
-    }
-
-    /**
-     * Gets all service ids.
-     *
-     * @return array An array of all defined service ids
-     */
-    public function getServiceIds()
-    {
-        return array_unique(array_merge(array_keys($this->getDefinitions()), array_keys($this->aliasDefinitions), parent::getServiceIds()));
-    }
-
-    /**
-     * Adds the service aliases.
-     *
-     * @param array $aliases An array of aliases
-     *
-     * @api
-     */
-    public function addAliases(array $aliases)
-    {
-        foreach ($aliases as $alias => $id) {
-            $this->setAlias($alias, $id);
-        }
-    }
-
-    /**
-     * Sets the service aliases.
-     *
-     * @param array $aliases An array of aliases
-     *
-     * @api
-     */
-    public function setAliases(array $aliases)
-    {
-        $this->aliasDefinitions = array();
-        $this->addAliases($aliases);
-    }
-
-    /**
-     * Sets an alias for an existing service.
-     *
-     * @param string       $alias The alias to create
-     * @param string|Alias $id    The service to alias
-     *
-     * @throws InvalidArgumentException if the id is not a string or an Alias
-     * @throws InvalidArgumentException if the alias is for itself
-     *
-     * @api
-     */
-    public function setAlias($alias, $id)
-    {
-        $alias = strtolower($alias);
-
-        if (is_string($id)) {
-            $id = new Alias($id);
-        } elseif (!$id instanceof Alias) {
-            throw new InvalidArgumentException('$id must be a string, or an Alias object.');
-        }
-
-        if ($alias === strtolower($id)) {
-            throw new InvalidArgumentException(sprintf('An alias can not reference itself, got a circular reference on "%s".', $alias));
-        }
-
-        unset($this->definitions[$alias]);
-
-        $this->aliasDefinitions[$alias] = $id;
-    }
-
-    /**
-     * Removes an alias.
-     *
-     * @param string $alias The alias to remove
-     *
-     * @api
-     */
-    public function removeAlias($alias)
-    {
-        unset($this->aliasDefinitions[strtolower($alias)]);
-    }
-
-    /**
-     * Returns true if an alias exists under the given identifier.
-     *
-     * @param string $id The service identifier
-     *
-     * @return bool true if the alias exists, false otherwise
-     *
-     * @api
-     */
-    public function hasAlias($id)
-    {
-        return isset($this->aliasDefinitions[strtolower($id)]);
-    }
-
-    /**
-     * Gets all defined aliases.
-     *
-     * @return Alias[] An array of aliases
-     *
-     * @api
-     */
-    public function getAliases()
-    {
-        return $this->aliasDefinitions;
-    }
-
-    /**
-     * Gets an alias.
-     *
-     * @param string $id The service identifier
-     *
-     * @return Alias An Alias instance
-     *
-     * @throws InvalidArgumentException if the alias does not exist
-     *
-     * @api
-     */
-    public function getAlias($id)
-    {
-        $id = strtolower($id);
-
-        if (!$this->hasAlias($id)) {
-            throw new InvalidArgumentException(sprintf('The service alias "%s" does not exist.', $id));
-        }
-
-        return $this->aliasDefinitions[$id];
-    }
-
-    /**
-     * Registers a service definition.
-     *
-     * This methods allows for simple registration of service definition
-     * with a fluid interface.
-     *
-     * @param string $id    The service identifier
-     * @param string $class The service class
-     *
-     * @return Definition A Definition instance
-     *
-     * @api
-     */
-    public function register($id, $class = null)
-    {
-        return $this->setDefinition(strtolower($id), new Definition($class));
-    }
-
-    /**
-     * Adds the service definitions.
-     *
-     * @param Definition[] $definitions An array of service definitions
-     *
-     * @api
-     */
-    public function addDefinitions(array $definitions)
-    {
-        foreach ($definitions as $id => $definition) {
-            $this->setDefinition($id, $definition);
-        }
-    }
-
-    /**
-     * Sets the service definitions.
-     *
-     * @param Definition[] $definitions An array of service definitions
-     *
-     * @api
-     */
-    public function setDefinitions(array $definitions)
-    {
-        $this->definitions = array();
-        $this->addDefinitions($definitions);
-    }
-
-    /**
-     * Gets all service definitions.
-     *
-     * @return Definition[] An array of Definition instances
-     *
-     * @api
-     */
-    public function getDefinitions()
-    {
-        return $this->definitions;
-    }
-
-    /**
-     * Sets a service definition.
-     *
-     * @param string     $id         The service identifier
-     * @param Definition $definition A Definition instance
-     *
-     * @return Definition the service definition
-     *
-     * @throws BadMethodCallException When this ContainerBuilder is frozen
-     *
-     * @api
-     */
-    public function setDefinition($id, Definition $definition)
-    {
-        if ($this->isFrozen()) {
-            throw new BadMethodCallException('Adding definition to a frozen container is not allowed');
-        }
-
-        $id = strtolower($id);
-
-        unset($this->aliasDefinitions[$id]);
-
-        return $this->definitions[$id] = $definition;
-    }
-
-    /**
-     * Returns true if a service definition exists under the given identifier.
-     *
-     * @param string $id The service identifier
-     *
-     * @return bool true if the service definition exists, false otherwise
-     *
-     * @api
-     */
-    public function hasDefinition($id)
-    {
-        return array_key_exists(strtolower($id), $this->definitions);
-    }
-
-    /**
-     * Gets a service definition.
-     *
-     * @param string $id The service identifier
-     *
-     * @return Definition A Definition instance
-     *
-     * @throws InvalidArgumentException if the service definition does not exist
-     *
-     * @api
-     */
-    public function getDefinition($id)
-    {
-        $id = strtolower($id);
-
-        if (!$this->hasDefinition($id)) {
-            throw new InvalidArgumentException(sprintf('The service definition "%s" does not exist.', $id));
-        }
-
-        return $this->definitions[$id];
-    }
-
-    /**
-     * Gets a service definition by id or alias.
-     *
-     * The method "unaliases" recursively to return a Definition instance.
-     *
-     * @param string $id The service identifier or alias
-     *
-     * @return Definition A Definition instance
-     *
-     * @throws InvalidArgumentException if the service definition does not exist
-     *
-     * @api
-     */
-    public function findDefinition($id)
-    {
-        while ($this->hasAlias($id)) {
-            $id = (string) $this->getAlias($id);
-        }
-
-        return $this->getDefinition($id);
-    }
-
-    /**
-     * Creates a service for a service definition.
-     *
-     * @param Definition $definition A service definition instance
-     * @param string     $id         The service identifier
-     * @param bool       $tryProxy   Whether to try proxying the service with a lazy proxy
-     *
-     * @return object The service described by the service definition
-     *
-     * @throws RuntimeException         When the scope is inactive
-     * @throws RuntimeException         When the factory definition is incomplete
-     * @throws RuntimeException         When the service is a synthetic service
-     * @throws InvalidArgumentException When configure callable is not callable
-     *
-     * @internal this method is public because of PHP 5.3 limitations, do not use it explicitly in your code
-     */
-    public function createService(Definition $definition, $id, $tryProxy = true)
-    {
-        if ($definition->isSynthetic()) {
-            throw new RuntimeException(sprintf('You have requested a synthetic service ("%s"). The DIC does not know how to construct this service.', $id));
-        }
-
-        if ($tryProxy && $definition->isLazy()) {
-            $container = $this;
-
-            $proxy = $this
-                ->getProxyInstantiator()
-                ->instantiateProxy(
-                    $container,
-                    $definition,
-                    $id, function () use ($definition, $id, $container) {
-                        return $container->createService($definition, $id, false);
-                    }
-                );
-            $this->shareService($definition, $proxy, $id);
-
-            return $proxy;
-        }
-
-        $parameterBag = $this->getParameterBag();
-
-        if (null !== $definition->getFile()) {
-            require_once $parameterBag->resolveValue($definition->getFile());
-        }
-
-        $arguments = $this->resolveServices($parameterBag->unescapeValue($parameterBag->resolveValue($definition->getArguments())));
-
-        if (null !== $factory = $definition->getFactory()) {
-            if (is_array($factory)) {
-                $factory = array($this->resolveServices($parameterBag->resolveValue($factory[0])), $factory[1]);
-            } elseif (!is_string($factory)) {
-                throw new RuntimeException(sprintf('Cannot create service "%s" because of invalid factory', $id));
-            }
-
-            $service = call_user_func_array($factory, $arguments);
-        } elseif (null !== $definition->getFactoryMethod()) {
-            if (null !== $definition->getFactoryClass()) {
-                $factory = $parameterBag->resolveValue($definition->getFactoryClass());
-            } elseif (null !== $definition->getFactoryService()) {
-                $factory = $this->get($parameterBag->resolveValue($definition->getFactoryService()));
-            } else {
-                throw new RuntimeException(sprintf('Cannot create service "%s" from factory method without a factory service or factory class.', $id));
-            }
-
-            $service = call_user_func_array(array($factory, $definition->getFactoryMethod()), $arguments);
-        } else {
-            $r = new \ReflectionClass($parameterBag->resolveValue($definition->getClass()));
-
-            $service = null === $r->getConstructor() ? $r->newInstance() : $r->newInstanceArgs($arguments);
-        }
-
-        if ($tryProxy || !$definition->isLazy()) {
-            // share only if proxying failed, or if not a proxy
-            $this->shareService($definition, $service, $id);
-        }
-
-        foreach ($definition->getMethodCalls() as $call) {
-            $this->callMethod($service, $call);
-        }
-
-        $properties = $this->resolveServices($parameterBag->resolveValue($definition->getProperties()));
-        foreach ($properties as $name => $value) {
-            $service->$name = $value;
-        }
-
-        if ($callable = $definition->getConfigurator()) {
-            if (is_array($callable)) {
-                $callable[0] = $callable[0] instanceof Reference ? $this->get((string) $callable[0]) : $parameterBag->resolveValue($callable[0]);
-            }
-
-            if (!is_callable($callable)) {
-                throw new InvalidArgumentException(sprintf('The configure callable for class "%s" is not a callable.', get_class($service)));
-            }
-
-            call_user_func($callable, $service);
-        }
-
-        return $service;
-    }
-
-    /**
-     * Replaces service references by the real service instance and evaluates expressions.
-     *
-     * @param mixed $value A value
-     *
-     * @return mixed The same value with all service references replaced by
-     *               the real service instances and all expressions evaluated
-     */
-    public function resolveServices($value)
-    {
-        if (is_array($value)) {
-            $value = array_map(array($this, 'resolveServices'), $value);
-        } elseif ($value instanceof Reference) {
-            $value = $this->get((string) $value, $value->getInvalidBehavior());
-        } elseif ($value instanceof Definition) {
-            $value = $this->createService($value, null);
-        } elseif ($value instanceof Expression) {
-            $value = $this->getExpressionLanguage()->evaluate($value, array('container' => $this));
-        }
-
-        return $value;
-    }
-
-    /**
-     * Returns service ids for a given tag.
-     *
-     * Example:
-     *
-     * $container->register('foo')->addTag('my.tag', array('hello' => 'world'));
-     *
-     * $serviceIds = $container->findTaggedServiceIds('my.tag');
-     * foreach ($serviceIds as $serviceId => $tags) {
-     *     foreach ($tags as $tag) {
-     *         echo $tag['hello'];
-     *     }
-     * }
-     *
-     * @param string $name The tag name
-     *
-     * @return array An array of tags with the tagged service as key, holding a list of attribute arrays.
-     *
-     * @api
-     */
-    public function findTaggedServiceIds($name)
-    {
-        $tags = array();
-        foreach ($this->getDefinitions() as $id => $definition) {
-            if ($definition->hasTag($name)) {
-                $tags[$id] = $definition->getTag($name);
-            }
-        }
-
-        return $tags;
-    }
-
-    /**
-     * Returns all tags the defined services use.
-     *
-     * @return array An array of tags
-     */
-    public function findTags()
-    {
-        $tags = array();
-        foreach ($this->getDefinitions() as $id => $definition) {
-            $tags = array_merge(array_keys($definition->getTags()), $tags);
-        }
-
-        return array_unique($tags);
-    }
-
-    public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
-    {
-        $this->expressionLanguageProviders[] = $provider;
-    }
-
-    /**
-     * @return ExpressionFunctionProviderInterface[]
-     */
-    public function getExpressionLanguageProviders()
-    {
-        return $this->expressionLanguageProviders;
-    }
-
-    /**
-     * Returns the Service Conditionals.
-     *
-     * @param mixed $value An array of conditionals to return.
-     *
-     * @return array An array of Service conditionals
-     */
-    public static function getServiceConditionals($value)
-    {
-        $services = array();
-
-        if (is_array($value)) {
-            foreach ($value as $v) {
-                $services = array_unique(array_merge($services, self::getServiceConditionals($v)));
-            }
-        } elseif ($value instanceof Reference && $value->getInvalidBehavior() === ContainerInterface::IGNORE_ON_INVALID_REFERENCE) {
-            $services[] = (string) $value;
-        }
-
-        return $services;
-    }
-
-    /**
-     * Retrieves the currently set proxy instantiator or instantiates one.
-     *
-     * @return InstantiatorInterface
-     */
-    private function getProxyInstantiator()
-    {
-        if (!$this->proxyInstantiator) {
-            $this->proxyInstantiator = new RealServiceInstantiator();
-        }
-
-        return $this->proxyInstantiator;
-    }
-
-    /**
-     * Synchronizes a service change.
-     *
-     * This method updates all services that depend on the given
-     * service by calling all methods referencing it.
-     *
-     * @param string $id A service id
-     */
-    private function synchronize($id)
-    {
-        foreach ($this->definitions as $definitionId => $definition) {
-            // only check initialized services
-            if (!$this->initialized($definitionId)) {
-                continue;
-            }
-
-            foreach ($definition->getMethodCalls() as $call) {
-                foreach ($call[1] as $argument) {
-                    if ($argument instanceof Reference && $id == (string) $argument) {
-                        $this->callMethod($this->get($definitionId), $call);
-                    }
-                }
-            }
-        }
-    }
-
-    private function callMethod($service, $call)
-    {
-        $services = self::getServiceConditionals($call[1]);
-
-        foreach ($services as $s) {
-            if (!$this->has($s)) {
-                return;
-            }
-        }
-
-        call_user_func_array(array($service, $call[0]), $this->resolveServices($this->getParameterBag()->resolveValue($call[1])));
-    }
-
-    /**
-     * Shares a given service in the container.
-     *
-     * @param Definition $definition
-     * @param mixed      $service
-     * @param string     $id
-     *
-     * @throws InactiveScopeException
-     */
-    private function shareService(Definition $definition, $service, $id)
-    {
-        if (self::SCOPE_PROTOTYPE !== $scope = $definition->getScope()) {
-            if (self::SCOPE_CONTAINER !== $scope && !isset($this->scopedServices[$scope])) {
-                throw new InactiveScopeException($id, $scope);
-            }
-
-            $this->services[$lowerId = strtolower($id)] = $service;
-
-            if (self::SCOPE_CONTAINER !== $scope) {
-                $this->scopedServices[$scope][$lowerId] = $service;
-            }
-        }
-    }
-
-    private function getExpressionLanguage()
-    {
-        if (null === $this->expressionLanguage) {
-            if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) {
-                throw new RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.');
-            }
-            $this->expressionLanguage = new ExpressionLanguage(null, $this->expressionLanguageProviders);
-        }
-
-        return $this->expressionLanguage;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerInterface.php
deleted file mode 100644
index 0f32089..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerInterface.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
-use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
-
-/**
- * ContainerInterface is the interface implemented by service container classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-interface ContainerInterface
-{
-    const EXCEPTION_ON_INVALID_REFERENCE = 1;
-    const NULL_ON_INVALID_REFERENCE = 2;
-    const IGNORE_ON_INVALID_REFERENCE = 3;
-    const SCOPE_CONTAINER = 'container';
-    const SCOPE_PROTOTYPE = 'prototype';
-
-    /**
-     * Sets a service.
-     *
-     * @param string $id      The service identifier
-     * @param object $service The service instance
-     * @param string $scope   The scope of the service
-     *
-     * @api
-     */
-    public function set($id, $service, $scope = self::SCOPE_CONTAINER);
-
-    /**
-     * Gets a service.
-     *
-     * @param string $id              The service identifier
-     * @param int    $invalidBehavior The behavior when the service does not exist
-     *
-     * @return object The associated service
-     *
-     * @throws InvalidArgumentException          if the service is not defined
-     * @throws ServiceCircularReferenceException When a circular reference is detected
-     * @throws ServiceNotFoundException          When the service is not defined
-     *
-     * @see Reference
-     *
-     * @api
-     */
-    public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE);
-
-    /**
-     * Returns true if the given service is defined.
-     *
-     * @param string $id The service identifier
-     *
-     * @return bool true if the service is defined, false otherwise
-     *
-     * @api
-     */
-    public function has($id);
-
-    /**
-     * Gets a parameter.
-     *
-     * @param string $name The parameter name
-     *
-     * @return mixed The parameter value
-     *
-     * @throws InvalidArgumentException if the parameter is not defined
-     *
-     * @api
-     */
-    public function getParameter($name);
-
-    /**
-     * Checks if a parameter exists.
-     *
-     * @param string $name The parameter name
-     *
-     * @return bool The presence of parameter in container
-     *
-     * @api
-     */
-    public function hasParameter($name);
-
-    /**
-     * Sets a parameter.
-     *
-     * @param string $name  The parameter name
-     * @param mixed  $value The parameter value
-     *
-     * @api
-     */
-    public function setParameter($name, $value);
-
-    /**
-     * Enters the given scope.
-     *
-     * @param string $name
-     *
-     * @api
-     */
-    public function enterScope($name);
-
-    /**
-     * Leaves the current scope, and re-enters the parent scope.
-     *
-     * @param string $name
-     *
-     * @api
-     */
-    public function leaveScope($name);
-
-    /**
-     * Adds a scope to the container.
-     *
-     * @param ScopeInterface $scope
-     *
-     * @api
-     */
-    public function addScope(ScopeInterface $scope);
-
-    /**
-     * Whether this container has the given scope.
-     *
-     * @param string $name
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function hasScope($name);
-
-    /**
-     * Determines whether the given scope is currently active.
-     *
-     * It does however not check if the scope actually exists.
-     *
-     * @param string $name
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isScopeActive($name);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Definition.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Definition.php
deleted file mode 100644
index bdc75e0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Definition.php
+++ /dev/null
@@ -1,777 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\OutOfBoundsException;
-
-/**
- * Definition represents a service definition.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class Definition
-{
-    private $class;
-    private $file;
-    private $factory;
-    private $factoryClass;
-    private $factoryMethod;
-    private $factoryService;
-    private $scope = ContainerInterface::SCOPE_CONTAINER;
-    private $properties = array();
-    private $calls = array();
-    private $configurator;
-    private $tags = array();
-    private $public = true;
-    private $synthetic = false;
-    private $abstract = false;
-    private $synchronized = false;
-    private $lazy = false;
-    private $decoratedService;
-
-    protected $arguments;
-
-    /**
-     * Constructor.
-     *
-     * @param string|null $class     The service class
-     * @param array       $arguments An array of arguments to pass to the service constructor
-     *
-     * @api
-     */
-    public function __construct($class = null, array $arguments = array())
-    {
-        $this->class = $class;
-        $this->arguments = $arguments;
-    }
-
-    /**
-     * Sets a factory.
-     *
-     * @param string|array $factory A PHP function or an array containing a class/Reference and a method to call
-     *
-     * @return Definition The current instance
-     */
-    public function setFactory($factory)
-    {
-        if (is_string($factory) && strpos($factory, '::') !== false) {
-            $factory = explode('::', $factory, 2);
-        }
-
-        $this->factory = $factory;
-
-        return $this;
-    }
-
-    /**
-     * Gets the factory.
-     *
-     * @return string|array The PHP function or an array containing a class/Reference and a method to call
-     */
-    public function getFactory()
-    {
-        return $this->factory;
-    }
-
-    /**
-     * Sets the name of the class that acts as a factory using the factory method,
-     * which will be invoked statically.
-     *
-     * @param string $factoryClass The factory class name
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function setFactoryClass($factoryClass)
-    {
-        $this->factoryClass = $factoryClass;
-
-        return $this;
-    }
-
-    /**
-     * Gets the factory class.
-     *
-     * @return string|null The factory class name
-     *
-     * @api
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function getFactoryClass()
-    {
-        return $this->factoryClass;
-    }
-
-    /**
-     * Sets the factory method able to create an instance of this class.
-     *
-     * @param string $factoryMethod The factory method name
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function setFactoryMethod($factoryMethod)
-    {
-        $this->factoryMethod = $factoryMethod;
-
-        return $this;
-    }
-
-    /**
-     * Sets the service that this service is decorating.
-     *
-     * @param null|string $id        The decorated service id, use null to remove decoration
-     * @param null|string $renamedId The new decorated service id
-     *
-     * @return Definition The current instance
-     *
-     * @throws InvalidArgumentException In case the decorated service id and the new decorated service id are equals.
-     */
-    public function setDecoratedService($id, $renamedId = null)
-    {
-        if ($renamedId && $id == $renamedId) {
-            throw new \InvalidArgumentException(sprintf('The decorated service inner name for "%s" must be different than the service name itself.', $id));
-        }
-
-        if (null === $id) {
-            $this->decoratedService = null;
-        } else {
-            $this->decoratedService = array($id, $renamedId);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Gets the service that decorates this service.
-     *
-     * @return null|array An array composed of the decorated service id and the new id for it, null if no service is decorated
-     */
-    public function getDecoratedService()
-    {
-        return $this->decoratedService;
-    }
-
-    /**
-     * Gets the factory method.
-     *
-     * @return string|null The factory method name
-     *
-     * @api
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function getFactoryMethod()
-    {
-        return $this->factoryMethod;
-    }
-
-    /**
-     * Sets the name of the service that acts as a factory using the factory method.
-     *
-     * @param string $factoryService The factory service id
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function setFactoryService($factoryService)
-    {
-        $this->factoryService = $factoryService;
-
-        return $this;
-    }
-
-    /**
-     * Gets the factory service id.
-     *
-     * @return string|null The factory service id
-     *
-     * @api
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function getFactoryService()
-    {
-        return $this->factoryService;
-    }
-
-    /**
-     * Sets the service class.
-     *
-     * @param string $class The service class
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setClass($class)
-    {
-        $this->class = $class;
-
-        return $this;
-    }
-
-    /**
-     * Gets the service class.
-     *
-     * @return string|null The service class
-     *
-     * @api
-     */
-    public function getClass()
-    {
-        return $this->class;
-    }
-
-    /**
-     * Sets the arguments to pass to the service constructor/factory method.
-     *
-     * @param array $arguments An array of arguments
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setArguments(array $arguments)
-    {
-        $this->arguments = $arguments;
-
-        return $this;
-    }
-
-    /**
-     * @api
-     */
-    public function setProperties(array $properties)
-    {
-        $this->properties = $properties;
-
-        return $this;
-    }
-
-    /**
-     * @api
-     */
-    public function getProperties()
-    {
-        return $this->properties;
-    }
-
-    /**
-     * @api
-     */
-    public function setProperty($name, $value)
-    {
-        $this->properties[$name] = $value;
-
-        return $this;
-    }
-
-    /**
-     * Adds an argument to pass to the service constructor/factory method.
-     *
-     * @param mixed $argument An argument
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function addArgument($argument)
-    {
-        $this->arguments[] = $argument;
-
-        return $this;
-    }
-
-    /**
-     * Sets a specific argument.
-     *
-     * @param int   $index
-     * @param mixed $argument
-     *
-     * @return Definition The current instance
-     *
-     * @throws OutOfBoundsException When the replaced argument does not exist
-     *
-     * @api
-     */
-    public function replaceArgument($index, $argument)
-    {
-        if ($index < 0 || $index > count($this->arguments) - 1) {
-            throw new OutOfBoundsException(sprintf('The index "%d" is not in the range [0, %d].', $index, count($this->arguments) - 1));
-        }
-
-        $this->arguments[$index] = $argument;
-
-        return $this;
-    }
-
-    /**
-     * Gets the arguments to pass to the service constructor/factory method.
-     *
-     * @return array The array of arguments
-     *
-     * @api
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    /**
-     * Gets an argument to pass to the service constructor/factory method.
-     *
-     * @param int $index
-     *
-     * @return mixed The argument value
-     *
-     * @throws OutOfBoundsException When the argument does not exist
-     *
-     * @api
-     */
-    public function getArgument($index)
-    {
-        if ($index < 0 || $index > count($this->arguments) - 1) {
-            throw new OutOfBoundsException(sprintf('The index "%d" is not in the range [0, %d].', $index, count($this->arguments) - 1));
-        }
-
-        return $this->arguments[$index];
-    }
-
-    /**
-     * Sets the methods to call after service initialization.
-     *
-     * @param array $calls An array of method calls
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setMethodCalls(array $calls = array())
-    {
-        $this->calls = array();
-        foreach ($calls as $call) {
-            $this->addMethodCall($call[0], $call[1]);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Adds a method to call after service initialization.
-     *
-     * @param string $method    The method name to call
-     * @param array  $arguments An array of arguments to pass to the method call
-     *
-     * @return Definition The current instance
-     *
-     * @throws InvalidArgumentException on empty $method param
-     *
-     * @api
-     */
-    public function addMethodCall($method, array $arguments = array())
-    {
-        if (empty($method)) {
-            throw new InvalidArgumentException(sprintf('Method name cannot be empty.'));
-        }
-        $this->calls[] = array($method, $arguments);
-
-        return $this;
-    }
-
-    /**
-     * Removes a method to call after service initialization.
-     *
-     * @param string $method The method name to remove
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function removeMethodCall($method)
-    {
-        foreach ($this->calls as $i => $call) {
-            if ($call[0] === $method) {
-                unset($this->calls[$i]);
-                break;
-            }
-        }
-
-        return $this;
-    }
-
-    /**
-     * Check if the current definition has a given method to call after service initialization.
-     *
-     * @param string $method The method name to search for
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function hasMethodCall($method)
-    {
-        foreach ($this->calls as $call) {
-            if ($call[0] === $method) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Gets the methods to call after service initialization.
-     *
-     * @return array An array of method calls
-     *
-     * @api
-     */
-    public function getMethodCalls()
-    {
-        return $this->calls;
-    }
-
-    /**
-     * Sets tags for this definition.
-     *
-     * @param array $tags
-     *
-     * @return Definition the current instance
-     *
-     * @api
-     */
-    public function setTags(array $tags)
-    {
-        $this->tags = $tags;
-
-        return $this;
-    }
-
-    /**
-     * Returns all tags.
-     *
-     * @return array An array of tags
-     *
-     * @api
-     */
-    public function getTags()
-    {
-        return $this->tags;
-    }
-
-    /**
-     * Gets a tag by name.
-     *
-     * @param string $name The tag name
-     *
-     * @return array An array of attributes
-     *
-     * @api
-     */
-    public function getTag($name)
-    {
-        return isset($this->tags[$name]) ? $this->tags[$name] : array();
-    }
-
-    /**
-     * Adds a tag for this definition.
-     *
-     * @param string $name       The tag name
-     * @param array  $attributes An array of attributes
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function addTag($name, array $attributes = array())
-    {
-        $this->tags[$name][] = $attributes;
-
-        return $this;
-    }
-
-    /**
-     * Whether this definition has a tag with the given name.
-     *
-     * @param string $name
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function hasTag($name)
-    {
-        return isset($this->tags[$name]);
-    }
-
-    /**
-     * Clears all tags for a given name.
-     *
-     * @param string $name The tag name
-     *
-     * @return Definition
-     */
-    public function clearTag($name)
-    {
-        if (isset($this->tags[$name])) {
-            unset($this->tags[$name]);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Clears the tags for this definition.
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function clearTags()
-    {
-        $this->tags = array();
-
-        return $this;
-    }
-
-    /**
-     * Sets a file to require before creating the service.
-     *
-     * @param string $file A full pathname to include
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setFile($file)
-    {
-        $this->file = $file;
-
-        return $this;
-    }
-
-    /**
-     * Gets the file to require before creating the service.
-     *
-     * @return string|null The full pathname to include
-     *
-     * @api
-     */
-    public function getFile()
-    {
-        return $this->file;
-    }
-
-    /**
-     * Sets the scope of the service.
-     *
-     * @param string $scope Whether the service must be shared or not
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setScope($scope)
-    {
-        $this->scope = $scope;
-
-        return $this;
-    }
-
-    /**
-     * Returns the scope of the service.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getScope()
-    {
-        return $this->scope;
-    }
-
-    /**
-     * Sets the visibility of this service.
-     *
-     * @param bool $boolean
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setPublic($boolean)
-    {
-        $this->public = (bool) $boolean;
-
-        return $this;
-    }
-
-    /**
-     * Whether this service is public facing.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isPublic()
-    {
-        return $this->public;
-    }
-
-    /**
-     * Sets the synchronized flag of this service.
-     *
-     * @param bool $boolean
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setSynchronized($boolean)
-    {
-        $this->synchronized = (bool) $boolean;
-
-        return $this;
-    }
-
-    /**
-     * Whether this service is synchronized.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isSynchronized()
-    {
-        return $this->synchronized;
-    }
-
-    /**
-     * Sets the lazy flag of this service.
-     *
-     * @param bool $lazy
-     *
-     * @return Definition The current instance
-     */
-    public function setLazy($lazy)
-    {
-        $this->lazy = (bool) $lazy;
-
-        return $this;
-    }
-
-    /**
-     * Whether this service is lazy.
-     *
-     * @return bool
-     */
-    public function isLazy()
-    {
-        return $this->lazy;
-    }
-
-    /**
-     * Sets whether this definition is synthetic, that is not constructed by the
-     * container, but dynamically injected.
-     *
-     * @param bool $boolean
-     *
-     * @return Definition the current instance
-     *
-     * @api
-     */
-    public function setSynthetic($boolean)
-    {
-        $this->synthetic = (bool) $boolean;
-
-        return $this;
-    }
-
-    /**
-     * Whether this definition is synthetic, that is not constructed by the
-     * container, but dynamically injected.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isSynthetic()
-    {
-        return $this->synthetic;
-    }
-
-    /**
-     * Whether this definition is abstract, that means it merely serves as a
-     * template for other definitions.
-     *
-     * @param bool $boolean
-     *
-     * @return Definition the current instance
-     *
-     * @api
-     */
-    public function setAbstract($boolean)
-    {
-        $this->abstract = (bool) $boolean;
-
-        return $this;
-    }
-
-    /**
-     * Whether this definition is abstract, that means it merely serves as a
-     * template for other definitions.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isAbstract()
-    {
-        return $this->abstract;
-    }
-
-    /**
-     * Sets a configurator to call after the service is fully initialized.
-     *
-     * @param callable $callable A PHP callable
-     *
-     * @return Definition The current instance
-     *
-     * @api
-     */
-    public function setConfigurator($callable)
-    {
-        $this->configurator = $callable;
-
-        return $this;
-    }
-
-    /**
-     * Gets the configurator to call after the service is fully initialized.
-     *
-     * @return callable|null The PHP callable to call
-     *
-     * @api
-     */
-    public function getConfigurator()
-    {
-        return $this->configurator;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/DefinitionDecorator.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/DefinitionDecorator.php
deleted file mode 100644
index d4b45d3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/DefinitionDecorator.php
+++ /dev/null
@@ -1,229 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\OutOfBoundsException;
-
-/**
- * This definition decorates another definition.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-class DefinitionDecorator extends Definition
-{
-    private $parent;
-    private $changes = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $parent The id of Definition instance to decorate.
-     *
-     * @api
-     */
-    public function __construct($parent)
-    {
-        parent::__construct();
-
-        $this->parent = $parent;
-    }
-
-    /**
-     * Returns the Definition being decorated.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getParent()
-    {
-        return $this->parent;
-    }
-
-    /**
-     * Returns all changes tracked for the Definition object.
-     *
-     * @return array An array of changes for this Definition
-     *
-     * @api
-     */
-    public function getChanges()
-    {
-        return $this->changes;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setClass($class)
-    {
-        $this->changes['class'] = true;
-
-        return parent::setClass($class);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setFactory($callable)
-    {
-        $this->changes['factory'] = true;
-
-        return parent::setFactory($callable);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setFactoryClass($class)
-    {
-        $this->changes['factory_class'] = true;
-
-        return parent::setFactoryClass($class);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setFactoryMethod($method)
-    {
-        $this->changes['factory_method'] = true;
-
-        return parent::setFactoryMethod($method);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setFactoryService($service)
-    {
-        $this->changes['factory_service'] = true;
-
-        return parent::setFactoryService($service);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setConfigurator($callable)
-    {
-        $this->changes['configurator'] = true;
-
-        return parent::setConfigurator($callable);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setFile($file)
-    {
-        $this->changes['file'] = true;
-
-        return parent::setFile($file);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setPublic($boolean)
-    {
-        $this->changes['public'] = true;
-
-        return parent::setPublic($boolean);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function setLazy($boolean)
-    {
-        $this->changes['lazy'] = true;
-
-        return parent::setLazy($boolean);
-    }
-
-    /**
-     * Gets an argument to pass to the service constructor/factory method.
-     *
-     * If replaceArgument() has been used to replace an argument, this method
-     * will return the replacement value.
-     *
-     * @param int $index
-     *
-     * @return mixed The argument value
-     *
-     * @throws OutOfBoundsException When the argument does not exist
-     *
-     * @api
-     */
-    public function getArgument($index)
-    {
-        if (array_key_exists('index_'.$index, $this->arguments)) {
-            return $this->arguments['index_'.$index];
-        }
-
-        $lastIndex = count(array_filter(array_keys($this->arguments), 'is_int')) - 1;
-
-        if ($index < 0 || $index > $lastIndex) {
-            throw new OutOfBoundsException(sprintf('The index "%d" is not in the range [0, %d].', $index, $lastIndex));
-        }
-
-        return $this->arguments[$index];
-    }
-
-    /**
-     * You should always use this method when overwriting existing arguments
-     * of the parent definition.
-     *
-     * If you directly call setArguments() keep in mind that you must follow
-     * certain conventions when you want to overwrite the arguments of the
-     * parent definition, otherwise your arguments will only be appended.
-     *
-     * @param int   $index
-     * @param mixed $value
-     *
-     * @return DefinitionDecorator the current instance
-     *
-     * @throws InvalidArgumentException when $index isn't an integer
-     *
-     * @api
-     */
-    public function replaceArgument($index, $value)
-    {
-        if (!is_int($index)) {
-            throw new InvalidArgumentException('$index must be an integer.');
-        }
-
-        $this->arguments['index_'.$index] = $value;
-
-        return $this;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/Dumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/Dumper.php
deleted file mode 100644
index 9892401..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/Dumper.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Dumper is the abstract class for all built-in dumpers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-abstract class Dumper implements DumperInterface
-{
-    protected $container;
-
-    /**
-     * Constructor.
-     *
-     * @param ContainerBuilder $container The service container to dump
-     *
-     * @api
-     */
-    public function __construct(ContainerBuilder $container)
-    {
-        $this->container = $container;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/DumperInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/DumperInterface.php
deleted file mode 100644
index ba146f6..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/DumperInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Dumper;
-
-/**
- * DumperInterface is the interface implemented by service container dumper classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface DumperInterface
-{
-    /**
-     * Dumps the service container.
-     *
-     * @param array $options An array of options
-     *
-     * @return string The representation of the service container
-     *
-     * @api
-     */
-    public function dump(array $options = array());
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
deleted file mode 100644
index 5eba090..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
+++ /dev/null
@@ -1,302 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Dumper;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Scope;
-
-/**
- * GraphvizDumper dumps a service container as a graphviz file.
- *
- * You can convert the generated dot file with the dot utility (http://www.graphviz.org/):
- *
- *   dot -Tpng container.dot > foo.png
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class GraphvizDumper extends Dumper
-{
-    private $nodes;
-    private $edges;
-    private $options = array(
-            'graph' => array('ratio' => 'compress'),
-            'node' => array('fontsize' => 11, 'fontname' => 'Arial', 'shape' => 'record'),
-            'edge' => array('fontsize' => 9, 'fontname' => 'Arial', 'color' => 'grey', 'arrowhead' => 'open', 'arrowsize' => 0.5),
-            'node.instance' => array('fillcolor' => '#9999ff', 'style' => 'filled'),
-            'node.definition' => array('fillcolor' => '#eeeeee'),
-            'node.missing' => array('fillcolor' => '#ff9999', 'style' => 'filled'),
-        );
-
-    /**
-     * Dumps the service container as a graphviz graph.
-     *
-     * Available options:
-     *
-     *  * graph: The default options for the whole graph
-     *  * node: The default options for nodes
-     *  * edge: The default options for edges
-     *  * node.instance: The default options for services that are defined directly by object instances
-     *  * node.definition: The default options for services that are defined via service definition instances
-     *  * node.missing: The default options for missing services
-     *
-     * @param array $options An array of options
-     *
-     * @return string The dot representation of the service container
-     */
-    public function dump(array $options = array())
-    {
-        foreach (array('graph', 'node', 'edge', 'node.instance', 'node.definition', 'node.missing') as $key) {
-            if (isset($options[$key])) {
-                $this->options[$key] = array_merge($this->options[$key], $options[$key]);
-            }
-        }
-
-        $this->nodes = $this->findNodes();
-
-        $this->edges = array();
-        foreach ($this->container->getDefinitions() as $id => $definition) {
-            $this->edges[$id] = array_merge(
-                $this->findEdges($id, $definition->getArguments(), true, ''),
-                $this->findEdges($id, $definition->getProperties(), false, '')
-            );
-
-            foreach ($definition->getMethodCalls() as $call) {
-                $this->edges[$id] = array_merge(
-                    $this->edges[$id],
-                    $this->findEdges($id, $call[1], false, $call[0].'()')
-                );
-            }
-        }
-
-        return $this->startDot().$this->addNodes().$this->addEdges().$this->endDot();
-    }
-
-    /**
-     * Returns all nodes.
-     *
-     * @return string A string representation of all nodes
-     */
-    private function addNodes()
-    {
-        $code = '';
-        foreach ($this->nodes as $id => $node) {
-            $aliases = $this->getAliases($id);
-
-            $code .= sprintf("  node_%s [label=\"%s\\n%s\\n\", shape=%s%s];\n", $this->dotize($id), $id.($aliases ? ' ('.implode(', ', $aliases).')' : ''), $node['class'], $this->options['node']['shape'], $this->addAttributes($node['attributes']));
-        }
-
-        return $code;
-    }
-
-    /**
-     * Returns all edges.
-     *
-     * @return string A string representation of all edges
-     */
-    private function addEdges()
-    {
-        $code = '';
-        foreach ($this->edges as $id => $edges) {
-            foreach ($edges as $edge) {
-                $code .= sprintf("  node_%s -> node_%s [label=\"%s\" style=\"%s\"];\n", $this->dotize($id), $this->dotize($edge['to']), $edge['name'], $edge['required'] ? 'filled' : 'dashed');
-            }
-        }
-
-        return $code;
-    }
-
-    /**
-     * Finds all edges belonging to a specific service id.
-     *
-     * @param string $id        The service id used to find edges
-     * @param array  $arguments An array of arguments
-     * @param bool   $required
-     * @param string $name
-     *
-     * @return array An array of edges
-     */
-    private function findEdges($id, $arguments, $required, $name)
-    {
-        $edges = array();
-        foreach ($arguments as $argument) {
-            if ($argument instanceof Parameter) {
-                $argument = $this->container->hasParameter($argument) ? $this->container->getParameter($argument) : null;
-            } elseif (is_string($argument) && preg_match('/^%([^%]+)%$/', $argument, $match)) {
-                $argument = $this->container->hasParameter($match[1]) ? $this->container->getParameter($match[1]) : null;
-            }
-
-            if ($argument instanceof Reference) {
-                if (!$this->container->has((string) $argument)) {
-                    $this->nodes[(string) $argument] = array('name' => $name, 'required' => $required, 'class' => '', 'attributes' => $this->options['node.missing']);
-                }
-
-                $edges[] = array('name' => $name, 'required' => $required, 'to' => $argument);
-            } elseif (is_array($argument)) {
-                $edges = array_merge($edges, $this->findEdges($id, $argument, $required, $name));
-            }
-        }
-
-        return $edges;
-    }
-
-    /**
-     * Finds all nodes.
-     *
-     * @return array An array of all nodes
-     */
-    private function findNodes()
-    {
-        $nodes = array();
-
-        $container = $this->cloneContainer();
-
-        foreach ($container->getDefinitions() as $id => $definition) {
-            $className = $definition->getClass();
-
-            try {
-                $className = $this->container->getParameterBag()->resolveValue($className);
-            } catch (ParameterNotFoundException $e) {
-            }
-
-            $nodes[$id] = array('class' => str_replace('\\', '\\\\', $className), 'attributes' => array_merge($this->options['node.definition'], array('style' => ContainerInterface::SCOPE_PROTOTYPE !== $definition->getScope() ? 'filled' : 'dotted')));
-            $container->setDefinition($id, new Definition('stdClass'));
-        }
-
-        foreach ($container->getServiceIds() as $id) {
-            $service = $container->get($id);
-
-            if (array_key_exists($id, $container->getAliases())) {
-                continue;
-            }
-
-            if (!$container->hasDefinition($id)) {
-                $class = ('service_container' === $id) ? get_class($this->container) : get_class($service);
-                $nodes[$id] = array('class' => str_replace('\\', '\\\\', $class), 'attributes' => $this->options['node.instance']);
-            }
-        }
-
-        return $nodes;
-    }
-
-    private function cloneContainer()
-    {
-        $parameterBag = new ParameterBag($this->container->getParameterBag()->all());
-
-        $container = new ContainerBuilder($parameterBag);
-        $container->setDefinitions($this->container->getDefinitions());
-        $container->setAliases($this->container->getAliases());
-        $container->setResources($this->container->getResources());
-        foreach ($this->container->getScopes() as $scope => $parentScope) {
-            $container->addScope(new Scope($scope, $parentScope));
-        }
-        foreach ($this->container->getExtensions() as $extension) {
-            $container->registerExtension($extension);
-        }
-
-        return $container;
-    }
-
-    /**
-     * Returns the start dot.
-     *
-     * @return string The string representation of a start dot
-     */
-    private function startDot()
-    {
-        return sprintf("digraph sc {\n  %s\n  node [%s];\n  edge [%s];\n\n",
-            $this->addOptions($this->options['graph']),
-            $this->addOptions($this->options['node']),
-            $this->addOptions($this->options['edge'])
-        );
-    }
-
-    /**
-     * Returns the end dot.
-     *
-     * @return string
-     */
-    private function endDot()
-    {
-        return "}\n";
-    }
-
-    /**
-     * Adds attributes.
-     *
-     * @param array $attributes An array of attributes
-     *
-     * @return string A comma separated list of attributes
-     */
-    private function addAttributes($attributes)
-    {
-        $code = array();
-        foreach ($attributes as $k => $v) {
-            $code[] = sprintf('%s="%s"', $k, $v);
-        }
-
-        return $code ? ', '.implode(', ', $code) : '';
-    }
-
-    /**
-     * Adds options.
-     *
-     * @param array $options An array of options
-     *
-     * @return string A space separated list of options
-     */
-    private function addOptions($options)
-    {
-        $code = array();
-        foreach ($options as $k => $v) {
-            $code[] = sprintf('%s="%s"', $k, $v);
-        }
-
-        return implode(' ', $code);
-    }
-
-    /**
-     * Dotizes an identifier.
-     *
-     * @param string $id The identifier to dotize
-     *
-     * @return string A dotized string
-     */
-    private function dotize($id)
-    {
-        return strtolower(preg_replace('/[^\w]/i', '_', $id));
-    }
-
-    /**
-     * Compiles an array of aliases for a specified service id.
-     *
-     * @param string $id A service id
-     *
-     * @return array An array of aliases
-     */
-    private function getAliases($id)
-    {
-        $aliases = array();
-        foreach ($this->container->getAliases() as $alias => $origin) {
-            if ($id == $origin) {
-                $aliases[] = $alias;
-            }
-        }
-
-        return $aliases;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
deleted file mode 100644
index 6a75df8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
+++ /dev/null
@@ -1,1550 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Dumper;
-
-use Symfony\Component\DependencyInjection\Variable;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
-use Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\DumperInterface as ProxyDumper;
-use Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\NullDumper;
-use Symfony\Component\DependencyInjection\ExpressionLanguage;
-use Symfony\Component\ExpressionLanguage\Expression;
-use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
-
-/**
- * PhpDumper dumps a service container as a PHP class.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-class PhpDumper extends Dumper
-{
-    /**
-     * Characters that might appear in the generated variable name as first character.
-     *
-     * @var string
-     */
-    const FIRST_CHARS = 'abcdefghijklmnopqrstuvwxyz';
-
-    /**
-     * Characters that might appear in the generated variable name as any but the first character.
-     *
-     * @var string
-     */
-    const NON_FIRST_CHARS = 'abcdefghijklmnopqrstuvwxyz0123456789_';
-
-    private $inlinedDefinitions;
-    private $definitionVariables;
-    private $referenceVariables;
-    private $variableCount;
-    private $reservedVariables = array('instance', 'class');
-    private $expressionLanguage;
-    private $targetDirRegex;
-    private $targetDirMaxMatches;
-
-    /**
-     * @var ExpressionFunctionProviderInterface[]
-     */
-    private $expressionLanguageProviders = array();
-
-    /**
-     * @var \Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\DumperInterface
-     */
-    private $proxyDumper;
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function __construct(ContainerBuilder $container)
-    {
-        parent::__construct($container);
-
-        $this->inlinedDefinitions = new \SplObjectStorage();
-    }
-
-    /**
-     * Sets the dumper to be used when dumping proxies in the generated container.
-     *
-     * @param ProxyDumper $proxyDumper
-     */
-    public function setProxyDumper(ProxyDumper $proxyDumper)
-    {
-        $this->proxyDumper = $proxyDumper;
-    }
-
-    /**
-     * Dumps the service container as a PHP class.
-     *
-     * Available options:
-     *
-     *  * class:      The class name
-     *  * base_class: The base class name
-     *  * namespace:  The class namespace
-     *
-     * @param array $options An array of options
-     *
-     * @return string A PHP class representing of the service container
-     *
-     * @api
-     */
-    public function dump(array $options = array())
-    {
-        $this->targetDirRegex = null;
-        $options = array_merge(array(
-            'class' => 'ProjectServiceContainer',
-            'base_class' => 'Container',
-            'namespace' => '',
-        ), $options);
-
-        if (!empty($options['file']) && is_dir($dir = dirname($options['file']))) {
-            // Build a regexp where the first root dirs are mandatory,
-            // but every other sub-dir is optional up to the full path in $dir
-            // Mandate at least 2 root dirs and not more that 5 optional dirs.
-
-            $dir = explode(DIRECTORY_SEPARATOR, realpath($dir));
-            $i = count($dir);
-
-            if (3 <= $i) {
-                $regex = '';
-                $lastOptionalDir = $i > 8 ? $i - 5 : 3;
-                $this->targetDirMaxMatches = $i - $lastOptionalDir;
-
-                while (--$i >= $lastOptionalDir) {
-                    $regex = sprintf('(%s%s)?', preg_quote(DIRECTORY_SEPARATOR.$dir[$i], '#'), $regex);
-                }
-
-                do {
-                    $regex = preg_quote(DIRECTORY_SEPARATOR.$dir[$i], '#').$regex;
-                } while (0 < --$i);
-
-                $this->targetDirRegex = '#'.preg_quote($dir[0], '#').$regex.'#';
-            }
-        }
-
-        $code = $this->startClass($options['class'], $options['base_class'], $options['namespace']);
-
-        if ($this->container->isFrozen()) {
-            $code .= $this->addFrozenConstructor();
-            $code .= $this->addFrozenCompile();
-        } else {
-            $code .= $this->addConstructor();
-        }
-
-        $code .=
-            $this->addServices().
-            $this->addDefaultParametersMethod().
-            $this->endClass().
-            $this->addProxyClasses()
-        ;
-        $this->targetDirRegex = null;
-
-        return $code;
-    }
-
-    /**
-     * Retrieves the currently set proxy dumper or instantiates one.
-     *
-     * @return ProxyDumper
-     */
-    private function getProxyDumper()
-    {
-        if (!$this->proxyDumper) {
-            $this->proxyDumper = new NullDumper();
-        }
-
-        return $this->proxyDumper;
-    }
-
-    /**
-     * Generates Service local temp variables.
-     *
-     * @param string $cId
-     * @param string $definition
-     *
-     * @return string
-     */
-    private function addServiceLocalTempVariables($cId, $definition)
-    {
-        static $template = "        \$%s = %s;\n";
-
-        $localDefinitions = array_merge(
-            array($definition),
-            $this->getInlinedDefinitions($definition)
-        );
-
-        $calls = $behavior = array();
-        foreach ($localDefinitions as $iDefinition) {
-            $this->getServiceCallsFromArguments($iDefinition->getArguments(), $calls, $behavior);
-            $this->getServiceCallsFromArguments($iDefinition->getMethodCalls(), $calls, $behavior);
-            $this->getServiceCallsFromArguments($iDefinition->getProperties(), $calls, $behavior);
-            $this->getServiceCallsFromArguments(array($iDefinition->getConfigurator()), $calls, $behavior);
-            $this->getServiceCallsFromArguments(array($iDefinition->getFactory()), $calls, $behavior);
-        }
-
-        $code = '';
-        foreach ($calls as $id => $callCount) {
-            if ('service_container' === $id || $id === $cId) {
-                continue;
-            }
-
-            if ($callCount > 1) {
-                $name = $this->getNextVariableName();
-                $this->referenceVariables[$id] = new Variable($name);
-
-                if (ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE === $behavior[$id]) {
-                    $code .= sprintf($template, $name, $this->getServiceCall($id));
-                } else {
-                    $code .= sprintf($template, $name, $this->getServiceCall($id, new Reference($id, ContainerInterface::NULL_ON_INVALID_REFERENCE)));
-                }
-            }
-        }
-
-        if ('' !== $code) {
-            $code .= "\n";
-        }
-
-        return $code;
-    }
-
-    /**
-     * Generates code for the proxies to be attached after the container class.
-     *
-     * @return string
-     */
-    private function addProxyClasses()
-    {
-        /* @var $definitions Definition[] */
-        $definitions = array_filter(
-            $this->container->getDefinitions(),
-            array($this->getProxyDumper(), 'isProxyCandidate')
-        );
-        $code = '';
-
-        foreach ($definitions as $definition) {
-            $code .= "\n".$this->getProxyDumper()->getProxyCode($definition);
-        }
-
-        return $code;
-    }
-
-    /**
-     * Generates the require_once statement for service includes.
-     *
-     * @param string     $id         The service id
-     * @param Definition $definition
-     *
-     * @return string
-     */
-    private function addServiceInclude($id, $definition)
-    {
-        $template = "        require_once %s;\n";
-        $code = '';
-
-        if (null !== $file = $definition->getFile()) {
-            $code .= sprintf($template, $this->dumpValue($file));
-        }
-
-        foreach ($this->getInlinedDefinitions($definition) as $definition) {
-            if (null !== $file = $definition->getFile()) {
-                $code .= sprintf($template, $this->dumpValue($file));
-            }
-        }
-
-        if ('' !== $code) {
-            $code .= "\n";
-        }
-
-        return $code;
-    }
-
-    /**
-     * Generates the inline definition of a service.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     *
-     * @return string
-     *
-     * @throws RuntimeException                  When the factory definition is incomplete
-     * @throws ServiceCircularReferenceException When a circular reference is detected
-     */
-    private function addServiceInlinedDefinitions($id, $definition)
-    {
-        $code = '';
-        $variableMap = $this->definitionVariables;
-        $nbOccurrences = new \SplObjectStorage();
-        $processed = new \SplObjectStorage();
-        $inlinedDefinitions = $this->getInlinedDefinitions($definition);
-
-        foreach ($inlinedDefinitions as $definition) {
-            if (false === $nbOccurrences->contains($definition)) {
-                $nbOccurrences->offsetSet($definition, 1);
-            } else {
-                $i = $nbOccurrences->offsetGet($definition);
-                $nbOccurrences->offsetSet($definition, $i + 1);
-            }
-        }
-
-        foreach ($inlinedDefinitions as $sDefinition) {
-            if ($processed->contains($sDefinition)) {
-                continue;
-            }
-            $processed->offsetSet($sDefinition);
-
-            $class = $this->dumpValue($sDefinition->getClass());
-            if ($nbOccurrences->offsetGet($sDefinition) > 1 || $sDefinition->getMethodCalls() || $sDefinition->getProperties() || null !== $sDefinition->getConfigurator() || false !== strpos($class, '$')) {
-                $name = $this->getNextVariableName();
-                $variableMap->offsetSet($sDefinition, new Variable($name));
-
-                // a construct like:
-                // $a = new ServiceA(ServiceB $b); $b = new ServiceB(ServiceA $a);
-                // this is an indication for a wrong implementation, you can circumvent this problem
-                // by setting up your service structure like this:
-                // $b = new ServiceB();
-                // $a = new ServiceA(ServiceB $b);
-                // $b->setServiceA(ServiceA $a);
-                if ($this->hasReference($id, $sDefinition->getArguments())) {
-                    throw new ServiceCircularReferenceException($id, array($id));
-                }
-
-                $code .= $this->addNewInstance($id, $sDefinition, '$'.$name, ' = ');
-
-                if (!$this->hasReference($id, $sDefinition->getMethodCalls(), true) && !$this->hasReference($id, $sDefinition->getProperties(), true)) {
-                    $code .= $this->addServiceMethodCalls(null, $sDefinition, $name);
-                    $code .= $this->addServiceProperties(null, $sDefinition, $name);
-                    $code .= $this->addServiceConfigurator(null, $sDefinition, $name);
-                }
-
-                $code .= "\n";
-            }
-        }
-
-        return $code;
-    }
-
-    /**
-     * Adds the service return statement.
-     *
-     * @param string     $id         Service id
-     * @param Definition $definition
-     *
-     * @return string
-     */
-    private function addServiceReturn($id, $definition)
-    {
-        if ($this->isSimpleInstance($id, $definition)) {
-            return "    }\n";
-        }
-
-        return "\n        return \$instance;\n    }\n";
-    }
-
-    /**
-     * Generates the service instance.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     *
-     * @return string
-     *
-     * @throws InvalidArgumentException
-     * @throws RuntimeException
-     */
-    private function addServiceInstance($id, $definition)
-    {
-        $class = $this->dumpValue($definition->getClass());
-
-        if (0 === strpos($class, "'") && !preg_match('/^\'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*\'$/', $class)) {
-            throw new InvalidArgumentException(sprintf('"%s" is not a valid class name for the "%s" service.', $class, $id));
-        }
-
-        $simple = $this->isSimpleInstance($id, $definition);
-        $isProxyCandidate = $this->getProxyDumper()->isProxyCandidate($definition);
-        $instantiation = '';
-
-        if (!$isProxyCandidate && ContainerInterface::SCOPE_CONTAINER === $definition->getScope()) {
-            $instantiation = "\$this->services['$id'] = ".($simple ? '' : '$instance');
-        } elseif (!$isProxyCandidate && ContainerInterface::SCOPE_PROTOTYPE !== $scope = $definition->getScope()) {
-            $instantiation = "\$this->services['$id'] = \$this->scopedServices['$scope']['$id'] = ".($simple ? '' : '$instance');
-        } elseif (!$simple) {
-            $instantiation = '$instance';
-        }
-
-        $return = '';
-        if ($simple) {
-            $return = 'return ';
-        } else {
-            $instantiation .= ' = ';
-        }
-
-        $code = $this->addNewInstance($id, $definition, $return, $instantiation);
-
-        if (!$simple) {
-            $code .= "\n";
-        }
-
-        return $code;
-    }
-
-    /**
-     * Checks if the definition is a simple instance.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     *
-     * @return bool
-     */
-    private function isSimpleInstance($id, $definition)
-    {
-        foreach (array_merge(array($definition), $this->getInlinedDefinitions($definition)) as $sDefinition) {
-            if ($definition !== $sDefinition && !$this->hasReference($id, $sDefinition->getMethodCalls())) {
-                continue;
-            }
-
-            if ($sDefinition->getMethodCalls() || $sDefinition->getProperties() || $sDefinition->getConfigurator()) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Adds method calls to a service definition.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     * @param string     $variableName
-     *
-     * @return string
-     */
-    private function addServiceMethodCalls($id, $definition, $variableName = 'instance')
-    {
-        $calls = '';
-        foreach ($definition->getMethodCalls() as $call) {
-            $arguments = array();
-            foreach ($call[1] as $value) {
-                $arguments[] = $this->dumpValue($value);
-            }
-
-            $calls .= $this->wrapServiceConditionals($call[1], sprintf("        \$%s->%s(%s);\n", $variableName, $call[0], implode(', ', $arguments)));
-        }
-
-        return $calls;
-    }
-
-    private function addServiceProperties($id, $definition, $variableName = 'instance')
-    {
-        $code = '';
-        foreach ($definition->getProperties() as $name => $value) {
-            $code .= sprintf("        \$%s->%s = %s;\n", $variableName, $name, $this->dumpValue($value));
-        }
-
-        return $code;
-    }
-
-    /**
-     * Generates the inline definition setup.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     *
-     * @return string
-     *
-     * @throws ServiceCircularReferenceException when the container contains a circular reference
-     */
-    private function addServiceInlinedDefinitionsSetup($id, $definition)
-    {
-        $this->referenceVariables[$id] = new Variable('instance');
-
-        $code = '';
-        $processed = new \SplObjectStorage();
-        foreach ($this->getInlinedDefinitions($definition) as $iDefinition) {
-            if ($processed->contains($iDefinition)) {
-                continue;
-            }
-            $processed->offsetSet($iDefinition);
-
-            if (!$this->hasReference($id, $iDefinition->getMethodCalls(), true) && !$this->hasReference($id, $iDefinition->getProperties(), true)) {
-                continue;
-            }
-
-            // if the instance is simple, the return statement has already been generated
-            // so, the only possible way to get there is because of a circular reference
-            if ($this->isSimpleInstance($id, $definition)) {
-                throw new ServiceCircularReferenceException($id, array($id));
-            }
-
-            $name = (string) $this->definitionVariables->offsetGet($iDefinition);
-            $code .= $this->addServiceMethodCalls(null, $iDefinition, $name);
-            $code .= $this->addServiceProperties(null, $iDefinition, $name);
-            $code .= $this->addServiceConfigurator(null, $iDefinition, $name);
-        }
-
-        if ('' !== $code) {
-            $code .= "\n";
-        }
-
-        return $code;
-    }
-
-    /**
-     * Adds configurator definition.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     * @param string     $variableName
-     *
-     * @return string
-     */
-    private function addServiceConfigurator($id, $definition, $variableName = 'instance')
-    {
-        if (!$callable = $definition->getConfigurator()) {
-            return '';
-        }
-
-        if (is_array($callable)) {
-            if ($callable[0] instanceof Reference
-                || ($callable[0] instanceof Definition && $this->definitionVariables->contains($callable[0]))) {
-                return sprintf("        %s->%s(\$%s);\n", $this->dumpValue($callable[0]), $callable[1], $variableName);
-            }
-
-            $class = $this->dumpValue($callable[0]);
-            // If the class is a string we can optimize call_user_func away
-            if (strpos($class, "'") === 0) {
-                return sprintf("        %s::%s(\$%s);\n", $this->dumpLiteralClass($class), $callable[1], $variableName);
-            }
-
-            return sprintf("        call_user_func(array(%s, '%s'), \$%s);\n", $this->dumpValue($callable[0]), $callable[1], $variableName);
-        }
-
-        return sprintf("        %s(\$%s);\n", $callable, $variableName);
-    }
-
-    /**
-     * Adds a service.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     *
-     * @return string
-     */
-    private function addService($id, $definition)
-    {
-        $this->definitionVariables = new \SplObjectStorage();
-        $this->referenceVariables = array();
-        $this->variableCount = 0;
-
-        $return = array();
-
-        if ($definition->isSynthetic()) {
-            $return[] = '@throws RuntimeException always since this service is expected to be injected dynamically';
-        } elseif ($class = $definition->getClass()) {
-            $return[] = sprintf('@return %s A %s instance.', 0 === strpos($class, '%') ? 'object' : "\\".$class, $class);
-        } elseif ($definition->getFactory()) {
-            $factory = $definition->getFactory();
-            if (is_string($factory)) {
-                $return[] = sprintf('@return object An instance returned by %s().', $factory);
-            } elseif (is_array($factory) && (is_string($factory[0]) || $factory[0] instanceof Definition || $factory[0] instanceof Reference)) {
-                if (is_string($factory[0]) || $factory[0] instanceof Reference) {
-                    $return[] = sprintf('@return object An instance returned by %s::%s().', (string) $factory[0], $factory[1]);
-                } elseif ($factory[0] instanceof Definition) {
-                    $return[] = sprintf('@return object An instance returned by %s::%s().', $factory[0]->getClass(), $factory[1]);
-                }
-            }
-        } elseif ($definition->getFactoryClass()) {
-            $return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryClass(), $definition->getFactoryMethod());
-        } elseif ($definition->getFactoryService()) {
-            $return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryService(), $definition->getFactoryMethod());
-        }
-
-        $scope = $definition->getScope();
-        if (!in_array($scope, array(ContainerInterface::SCOPE_CONTAINER, ContainerInterface::SCOPE_PROTOTYPE))) {
-            if ($return && 0 === strpos($return[count($return) - 1], '@return')) {
-                $return[] = '';
-            }
-            $return[] = sprintf("@throws InactiveScopeException when the '%s' service is requested while the '%s' scope is not active", $id, $scope);
-        }
-
-        $return = implode("\n     * ", $return);
-
-        $doc = '';
-        if (ContainerInterface::SCOPE_PROTOTYPE !== $scope) {
-            $doc .= <<<EOF
-
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-EOF;
-        }
-
-        if (!$definition->isPublic()) {
-            $doc .= <<<EOF
-
-     *
-     * This service is private.
-     * If you want to be able to request this service from the container directly,
-     * make it public, otherwise you might end up with broken code.
-EOF;
-        }
-
-        if ($definition->isLazy()) {
-            $lazyInitialization = '$lazyLoad = true';
-            $lazyInitializationDoc = "\n     * @param bool    \$lazyLoad whether to try lazy-loading the service with a proxy\n     *";
-        } else {
-            $lazyInitialization = '';
-            $lazyInitializationDoc = '';
-        }
-
-        // with proxies, for 5.3.3 compatibility, the getter must be public to be accessible to the initializer
-        $isProxyCandidate = $this->getProxyDumper()->isProxyCandidate($definition);
-        $visibility = $isProxyCandidate ? 'public' : 'protected';
-        $code = <<<EOF
-
-    /**
-     * Gets the '$id' service.$doc
-     *$lazyInitializationDoc
-     * $return
-     */
-    {$visibility} function get{$this->camelize($id)}Service($lazyInitialization)
-    {
-
-EOF;
-
-        $code .= $isProxyCandidate ? $this->getProxyDumper()->getProxyFactoryCode($definition, $id) : '';
-
-        if (!in_array($scope, array(ContainerInterface::SCOPE_CONTAINER, ContainerInterface::SCOPE_PROTOTYPE))) {
-            $code .= <<<EOF
-        if (!isset(\$this->scopedServices['$scope'])) {
-            throw new InactiveScopeException('$id', '$scope');
-        }
-
-
-EOF;
-        }
-
-        if ($definition->isSynthetic()) {
-            $code .= sprintf("        throw new RuntimeException('You have requested a synthetic service (\"%s\"). The DIC does not know how to construct this service.');\n    }\n", $id);
-        } else {
-            $code .=
-                $this->addServiceInclude($id, $definition).
-                $this->addServiceLocalTempVariables($id, $definition).
-                $this->addServiceInlinedDefinitions($id, $definition).
-                $this->addServiceInstance($id, $definition).
-                $this->addServiceInlinedDefinitionsSetup($id, $definition).
-                $this->addServiceMethodCalls($id, $definition).
-                $this->addServiceProperties($id, $definition).
-                $this->addServiceConfigurator($id, $definition).
-                $this->addServiceReturn($id, $definition)
-            ;
-        }
-
-        $this->definitionVariables = null;
-        $this->referenceVariables = null;
-
-        return $code;
-    }
-
-    /**
-     * Adds multiple services.
-     *
-     * @return string
-     */
-    private function addServices()
-    {
-        $publicServices = $privateServices = $synchronizers = '';
-        $definitions = $this->container->getDefinitions();
-        ksort($definitions);
-        foreach ($definitions as $id => $definition) {
-            if ($definition->isPublic()) {
-                $publicServices .= $this->addService($id, $definition);
-            } else {
-                $privateServices .= $this->addService($id, $definition);
-            }
-
-            $synchronizers .= $this->addServiceSynchronizer($id, $definition);
-        }
-
-        return $publicServices.$synchronizers.$privateServices;
-    }
-
-    /**
-     * Adds synchronizer methods.
-     *
-     * @param string     $id         A service identifier
-     * @param Definition $definition A Definition instance
-     *
-     * @return string|null
-     */
-    private function addServiceSynchronizer($id, Definition $definition)
-    {
-        if (!$definition->isSynchronized()) {
-            return;
-        }
-
-        $code = '';
-        foreach ($this->container->getDefinitions() as $definitionId => $definition) {
-            foreach ($definition->getMethodCalls() as $call) {
-                foreach ($call[1] as $argument) {
-                    if ($argument instanceof Reference && $id == (string) $argument) {
-                        $arguments = array();
-                        foreach ($call[1] as $value) {
-                            $arguments[] = $this->dumpValue($value);
-                        }
-
-                        $call = $this->wrapServiceConditionals($call[1], sprintf("\$this->get('%s')->%s(%s);", $definitionId, $call[0], implode(', ', $arguments)));
-
-                        $code .= <<<EOF
-        if (\$this->initialized('$definitionId')) {
-            $call
-        }
-
-EOF;
-                    }
-                }
-            }
-        }
-
-        if (!$code) {
-            return;
-        }
-
-        return <<<EOF
-
-    /**
-     * Updates the '$id' service.
-     */
-    protected function synchronize{$this->camelize($id)}Service()
-    {
-$code    }
-
-EOF;
-    }
-
-    private function addNewInstance($id, Definition $definition, $return, $instantiation)
-    {
-        $class = $this->dumpValue($definition->getClass());
-
-        $arguments = array();
-        foreach ($definition->getArguments() as $value) {
-            $arguments[] = $this->dumpValue($value);
-        }
-
-        if (null !== $definition->getFactory()) {
-            $callable = $definition->getFactory();
-            if (is_array($callable)) {
-                if ($callable[0] instanceof Reference
-                    || ($callable[0] instanceof Definition && $this->definitionVariables->contains($callable[0]))) {
-                    return sprintf("        $return{$instantiation}%s->%s(%s);\n", $this->dumpValue($callable[0]), $callable[1], $arguments ? implode(', ', $arguments) : '');
-                }
-
-                $class = $this->dumpValue($callable[0]);
-                // If the class is a string we can optimize call_user_func away
-                if (strpos($class, "'") === 0) {
-                    return sprintf("        $return{$instantiation}%s::%s(%s);\n", $this->dumpLiteralClass($class), $callable[1], $arguments ? implode(', ', $arguments) : '');
-                }
-
-                return sprintf("        $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($callable[0]), $callable[1], $arguments ? ', '.implode(', ', $arguments) : '');
-            }
-
-            return sprintf("        $return{$instantiation}\\%s(%s);\n", $callable, $arguments ? implode(', ', $arguments) : '');
-        } elseif (null !== $definition->getFactoryMethod()) {
-            if (null !== $definition->getFactoryClass()) {
-                $class = $this->dumpValue($definition->getFactoryClass());
-
-                // If the class is a string we can optimize call_user_func away
-                if (strpos($class, "'") === 0) {
-                    return sprintf("        $return{$instantiation}%s::%s(%s);\n", $this->dumpLiteralClass($class), $definition->getFactoryMethod(), $arguments ? implode(', ', $arguments) : '');
-                }
-
-                return sprintf("        $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($definition->getFactoryClass()), $definition->getFactoryMethod(), $arguments ? ', '.implode(', ', $arguments) : '');
-            }
-
-            if (null !== $definition->getFactoryService()) {
-                return sprintf("        $return{$instantiation}%s->%s(%s);\n", $this->getServiceCall($definition->getFactoryService()), $definition->getFactoryMethod(), implode(', ', $arguments));
-            }
-
-            throw new RuntimeException(sprintf('Factory method requires a factory service or factory class in service definition for %s', $id));
-        }
-
-        if (false !== strpos($class, '$')) {
-            return sprintf("        \$class = %s;\n\n        $return{$instantiation}new \$class(%s);\n", $class, implode(', ', $arguments));
-        }
-
-        return sprintf("        $return{$instantiation}new %s(%s);\n", $this->dumpLiteralClass($class), implode(', ', $arguments));
-    }
-
-    /**
-     * Adds the class headers.
-     *
-     * @param string $class     Class name
-     * @param string $baseClass The name of the base class
-     * @param string $namespace The class namespace
-     *
-     * @return string
-     */
-    private function startClass($class, $baseClass, $namespace)
-    {
-        $bagClass = $this->container->isFrozen() ? 'use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;' : 'use Symfony\Component\DependencyInjection\ParameterBag\\ParameterBag;';
-        $namespaceLine = $namespace ? "namespace $namespace;\n" : '';
-
-        return <<<EOF
-<?php
-$namespaceLine
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-$bagClass
-
-/**
- * $class.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class $class extends $baseClass
-{
-    private \$parameters;
-    private \$targetDirs = array();
-
-EOF;
-    }
-
-    /**
-     * Adds the constructor.
-     *
-     * @return string
-     */
-    private function addConstructor()
-    {
-        $targetDirs = $this->exportTargetDirs();
-        $arguments = $this->container->getParameterBag()->all() ? 'new ParameterBag($this->getDefaultParameters())' : null;
-
-        $code = <<<EOF
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {{$targetDirs}
-        parent::__construct($arguments);
-
-EOF;
-
-        if (count($scopes = $this->container->getScopes()) > 0) {
-            $code .= "\n";
-            $code .= "        \$this->scopes = ".$this->dumpValue($scopes).";\n";
-            $code .= "        \$this->scopeChildren = ".$this->dumpValue($this->container->getScopeChildren()).";\n";
-        }
-
-        $code .= $this->addMethodMap();
-        $code .= $this->addAliases();
-
-        $code .= <<<EOF
-    }
-
-EOF;
-
-        return $code;
-    }
-
-    /**
-     * Adds the constructor for a frozen container.
-     *
-     * @return string
-     */
-    private function addFrozenConstructor()
-    {
-        $targetDirs = $this->exportTargetDirs();
-
-        $code = <<<EOF
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {{$targetDirs}
-EOF;
-
-        if ($this->container->getParameterBag()->all()) {
-            $code .= "\n        \$this->parameters = \$this->getDefaultParameters();\n";
-        }
-
-        $code .= <<<EOF
-
-        \$this->services =
-        \$this->scopedServices =
-        \$this->scopeStacks = array();
-
-        \$this->set('service_container', \$this);
-
-EOF;
-
-        $code .= "\n";
-        if (count($scopes = $this->container->getScopes()) > 0) {
-            $code .= "        \$this->scopes = ".$this->dumpValue($scopes).";\n";
-            $code .= "        \$this->scopeChildren = ".$this->dumpValue($this->container->getScopeChildren()).";\n";
-        } else {
-            $code .= "        \$this->scopes = array();\n";
-            $code .= "        \$this->scopeChildren = array();\n";
-        }
-
-        $code .= $this->addMethodMap();
-        $code .= $this->addAliases();
-
-        $code .= <<<EOF
-    }
-
-EOF;
-
-        return $code;
-    }
-
-    /**
-     * Adds the constructor for a frozen container.
-     *
-     * @return string
-     */
-    private function addFrozenCompile()
-    {
-        return <<<EOF
-
-    /**
-     * {@inheritdoc}
-     */
-    public function compile()
-    {
-        throw new LogicException('You cannot compile a dumped frozen container.');
-    }
-
-EOF;
-    }
-
-    /**
-     * Adds the methodMap property definition.
-     *
-     * @return string
-     */
-    private function addMethodMap()
-    {
-        if (!$definitions = $this->container->getDefinitions()) {
-            return '';
-        }
-
-        $code = "        \$this->methodMap = array(\n";
-        ksort($definitions);
-        foreach ($definitions as $id => $definition) {
-            $code .= '            '.var_export($id, true).' => '.var_export('get'.$this->camelize($id).'Service', true).",\n";
-        }
-
-        return $code."        );\n";
-    }
-
-    /**
-     * Adds the aliases property definition.
-     *
-     * @return string
-     */
-    private function addAliases()
-    {
-        if (!$aliases = $this->container->getAliases()) {
-            if ($this->container->isFrozen()) {
-                return "\n        \$this->aliases = array();\n";
-            } else {
-                return '';
-            }
-        }
-
-        $code = "        \$this->aliases = array(\n";
-        ksort($aliases);
-        foreach ($aliases as $alias => $id) {
-            $id = (string) $id;
-            while (isset($aliases[$id])) {
-                $id = (string) $aliases[$id];
-            }
-            $code .= '            '.var_export($alias, true).' => '.var_export($id, true).",\n";
-        }
-
-        return $code."        );\n";
-    }
-
-    /**
-     * Adds default parameters method.
-     *
-     * @return string
-     */
-    private function addDefaultParametersMethod()
-    {
-        if (!$this->container->getParameterBag()->all()) {
-            return '';
-        }
-
-        $parameters = $this->exportParameters($this->container->getParameterBag()->all());
-
-        $code = '';
-        if ($this->container->isFrozen()) {
-            $code .= <<<EOF
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameter(\$name)
-    {
-        \$name = strtolower(\$name);
-
-        if (!(isset(\$this->parameters[\$name]) || array_key_exists(\$name, \$this->parameters))) {
-            throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', \$name));
-        }
-
-        return \$this->parameters[\$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasParameter(\$name)
-    {
-        \$name = strtolower(\$name);
-
-        return isset(\$this->parameters[\$name]) || array_key_exists(\$name, \$this->parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameter(\$name, \$value)
-    {
-        throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameterBag()
-    {
-        if (null === \$this->parameterBag) {
-            \$this->parameterBag = new FrozenParameterBag(\$this->parameters);
-        }
-
-        return \$this->parameterBag;
-    }
-
-EOF;
-        }
-
-        $code .= <<<EOF
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return $parameters;
-    }
-
-EOF;
-
-        return $code;
-    }
-
-    /**
-     * Exports parameters.
-     *
-     * @param array  $parameters
-     * @param string $path
-     * @param int    $indent
-     *
-     * @return string
-     *
-     * @throws InvalidArgumentException
-     */
-    private function exportParameters($parameters, $path = '', $indent = 12)
-    {
-        $php = array();
-        foreach ($parameters as $key => $value) {
-            if (is_array($value)) {
-                $value = $this->exportParameters($value, $path.'/'.$key, $indent + 4);
-            } elseif ($value instanceof Variable) {
-                throw new InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain variable references. Variable "%s" found in "%s".', $value, $path.'/'.$key));
-            } elseif ($value instanceof Definition) {
-                throw new InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain service definitions. Definition for "%s" found in "%s".', $value->getClass(), $path.'/'.$key));
-            } elseif ($value instanceof Reference) {
-                throw new InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain references to other services (reference to service "%s" found in "%s").', $value, $path.'/'.$key));
-            } elseif ($value instanceof Expression) {
-                throw new InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain expressions. Expression "%s" found in "%s".', $value, $path.'/'.$key));
-            } else {
-                $value = $this->export($value);
-            }
-
-            $php[] = sprintf('%s%s => %s,', str_repeat(' ', $indent), var_export($key, true), $value);
-        }
-
-        return sprintf("array(\n%s\n%s)", implode("\n", $php), str_repeat(' ', $indent - 4));
-    }
-
-    /**
-     * Ends the class definition.
-     *
-     * @return string
-     */
-    private function endClass()
-    {
-        return <<<EOF
-}
-
-EOF;
-    }
-
-    /**
-     * Wraps the service conditionals.
-     *
-     * @param string $value
-     * @param string $code
-     *
-     * @return string
-     */
-    private function wrapServiceConditionals($value, $code)
-    {
-        if (!$services = ContainerBuilder::getServiceConditionals($value)) {
-            return $code;
-        }
-
-        $conditions = array();
-        foreach ($services as $service) {
-            $conditions[] = sprintf("\$this->has('%s')", $service);
-        }
-
-        // re-indent the wrapped code
-        $code = implode("\n", array_map(function ($line) { return $line ? '    '.$line : $line; }, explode("\n", $code)));
-
-        return sprintf("        if (%s) {\n%s        }\n", implode(' && ', $conditions), $code);
-    }
-
-    /**
-     * Builds service calls from arguments.
-     *
-     * @param array $arguments
-     * @param array &$calls    By reference
-     * @param array &$behavior By reference
-     */
-    private function getServiceCallsFromArguments(array $arguments, array &$calls, array &$behavior)
-    {
-        foreach ($arguments as $argument) {
-            if (is_array($argument)) {
-                $this->getServiceCallsFromArguments($argument, $calls, $behavior);
-            } elseif ($argument instanceof Reference) {
-                $id = (string) $argument;
-
-                if (!isset($calls[$id])) {
-                    $calls[$id] = 0;
-                }
-                if (!isset($behavior[$id])) {
-                    $behavior[$id] = $argument->getInvalidBehavior();
-                } elseif (ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE !== $behavior[$id]) {
-                    $behavior[$id] = $argument->getInvalidBehavior();
-                }
-
-                ++$calls[$id];
-            }
-        }
-    }
-
-    /**
-     * Returns the inline definition.
-     *
-     * @param Definition $definition
-     *
-     * @return array
-     */
-    private function getInlinedDefinitions(Definition $definition)
-    {
-        if (false === $this->inlinedDefinitions->contains($definition)) {
-            $definitions = array_merge(
-                $this->getDefinitionsFromArguments($definition->getArguments()),
-                $this->getDefinitionsFromArguments($definition->getMethodCalls()),
-                $this->getDefinitionsFromArguments($definition->getProperties()),
-                $this->getDefinitionsFromArguments(array($definition->getConfigurator())),
-                $this->getDefinitionsFromArguments(array($definition->getFactory()))
-            );
-
-            $this->inlinedDefinitions->offsetSet($definition, $definitions);
-
-            return $definitions;
-        }
-
-        return $this->inlinedDefinitions->offsetGet($definition);
-    }
-
-    /**
-     * Gets the definition from arguments.
-     *
-     * @param array $arguments
-     *
-     * @return array
-     */
-    private function getDefinitionsFromArguments(array $arguments)
-    {
-        $definitions = array();
-        foreach ($arguments as $argument) {
-            if (is_array($argument)) {
-                $definitions = array_merge($definitions, $this->getDefinitionsFromArguments($argument));
-            } elseif ($argument instanceof Definition) {
-                $definitions = array_merge(
-                    $definitions,
-                    $this->getInlinedDefinitions($argument),
-                    array($argument)
-                );
-            }
-        }
-
-        return $definitions;
-    }
-
-    /**
-     * Checks if a service id has a reference.
-     *
-     * @param string $id
-     * @param array  $arguments
-     * @param bool   $deep
-     * @param array  $visited
-     *
-     * @return bool
-     */
-    private function hasReference($id, array $arguments, $deep = false, array &$visited = array())
-    {
-        foreach ($arguments as $argument) {
-            if (is_array($argument)) {
-                if ($this->hasReference($id, $argument, $deep, $visited)) {
-                    return true;
-                }
-            } elseif ($argument instanceof Reference) {
-                $argumentId = (string) $argument;
-                if ($id === $argumentId) {
-                    return true;
-                }
-
-                if ($deep && !isset($visited[$argumentId])) {
-                    $visited[$argumentId] = true;
-
-                    $service = $this->container->getDefinition($argumentId);
-                    $arguments = array_merge($service->getMethodCalls(), $service->getArguments(), $service->getProperties());
-
-                    if ($this->hasReference($id, $arguments, $deep, $visited)) {
-                        return true;
-                    }
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Dumps values.
-     *
-     * @param mixed $value
-     * @param bool  $interpolate
-     *
-     * @return string
-     *
-     * @throws RuntimeException
-     */
-    private function dumpValue($value, $interpolate = true)
-    {
-        if (is_array($value)) {
-            $code = array();
-            foreach ($value as $k => $v) {
-                $code[] = sprintf('%s => %s', $this->dumpValue($k, $interpolate), $this->dumpValue($v, $interpolate));
-            }
-
-            return sprintf('array(%s)', implode(', ', $code));
-        } elseif ($value instanceof Definition) {
-            if (null !== $this->definitionVariables && $this->definitionVariables->contains($value)) {
-                return $this->dumpValue($this->definitionVariables->offsetGet($value), $interpolate);
-            }
-            if (count($value->getMethodCalls()) > 0) {
-                throw new RuntimeException('Cannot dump definitions which have method calls.');
-            }
-            if (null !== $value->getConfigurator()) {
-                throw new RuntimeException('Cannot dump definitions which have a configurator.');
-            }
-
-            $arguments = array();
-            foreach ($value->getArguments() as $argument) {
-                $arguments[] = $this->dumpValue($argument);
-            }
-            $class = $this->dumpValue($value->getClass());
-
-            if (false !== strpos($class, '$')) {
-                throw new RuntimeException('Cannot dump definitions which have a variable class name.');
-            }
-
-            if (null !== $value->getFactory()) {
-                $factory = $value->getFactory();
-
-                if (is_string($factory)) {
-                    return sprintf('\\%s(%s)', $factory, implode(', ', $arguments));
-                }
-
-                if (is_array($factory)) {
-                    if (is_string($factory[0])) {
-                        return sprintf('\\%s::%s(%s)', $factory[0], $factory[1], implode(', ', $arguments));
-                    }
-
-                    if ($factory[0] instanceof Definition) {
-                        return sprintf("call_user_func(array(%s, '%s')%s)", $this->dumpValue($factory[0]), $factory[1], count($arguments) > 0 ? ', '.implode(', ', $arguments) : '');
-                    }
-
-                    if ($factory[0] instanceof Reference) {
-                        return sprintf('%s->%s(%s)', $this->dumpValue($factory[0]), $factory[1], implode(', ', $arguments));
-                    }
-                }
-
-                throw new RuntimeException('Cannot dump definition because of invalid factory');
-            }
-
-            if (null !== $value->getFactoryMethod()) {
-                if (null !== $value->getFactoryClass()) {
-                    return sprintf("call_user_func(array(%s, '%s')%s)", $this->dumpValue($value->getFactoryClass()), $value->getFactoryMethod(), count($arguments) > 0 ? ', '.implode(', ', $arguments) : '');
-                } elseif (null !== $value->getFactoryService()) {
-                    $service = $this->dumpValue($value->getFactoryService());
-
-                    return sprintf('%s->%s(%s)', 0 === strpos($service, '$') ? sprintf('$this->get(%s)', $service) : $this->getServiceCall($value->getFactoryService()), $value->getFactoryMethod(), implode(', ', $arguments));
-                } else {
-                    throw new RuntimeException('Cannot dump definitions which have factory method without factory service or factory class.');
-                }
-            }
-
-            return sprintf("new \\%s(%s)", substr(str_replace('\\\\', '\\', $class), 1, -1), implode(', ', $arguments));
-        } elseif ($value instanceof Variable) {
-            return '$'.$value;
-        } elseif ($value instanceof Reference) {
-            if (null !== $this->referenceVariables && isset($this->referenceVariables[$id = (string) $value])) {
-                return $this->dumpValue($this->referenceVariables[$id], $interpolate);
-            }
-
-            return $this->getServiceCall((string) $value, $value);
-        } elseif ($value instanceof Expression) {
-            return $this->getExpressionLanguage()->compile((string) $value, array('this' => 'container'));
-        } elseif ($value instanceof Parameter) {
-            return $this->dumpParameter($value);
-        } elseif (true === $interpolate && is_string($value)) {
-            if (preg_match('/^%([^%]+)%$/', $value, $match)) {
-                // we do this to deal with non string values (Boolean, integer, ...)
-                // the preg_replace_callback converts them to strings
-                return $this->dumpParameter(strtolower($match[1]));
-            } else {
-                $that = $this;
-                $replaceParameters = function ($match) use ($that) {
-                    return "'.".$that->dumpParameter(strtolower($match[2])).".'";
-                };
-
-                $code = str_replace('%%', '%', preg_replace_callback('/(?<!%)(%)([^%]+)\1/', $replaceParameters, $this->export($value)));
-
-                return $code;
-            }
-        } elseif (is_object($value) || is_resource($value)) {
-            throw new RuntimeException('Unable to dump a service container if a parameter is an object or a resource.');
-        } else {
-            return $this->export($value);
-        }
-    }
-
-    /**
-     * Dumps a string to a literal (aka PHP Code) class value.
-     *
-     * @param string $class
-     *
-     * @return string
-     */
-    private function dumpLiteralClass($class)
-    {
-        return '\\'.substr(str_replace('\\\\', '\\', $class), 1, -1);
-    }
-
-    /**
-     * Dumps a parameter.
-     *
-     * @param string $name
-     *
-     * @return string
-     */
-    public function dumpParameter($name)
-    {
-        if ($this->container->isFrozen() && $this->container->hasParameter($name)) {
-            return $this->dumpValue($this->container->getParameter($name), false);
-        }
-
-        return sprintf("\$this->getParameter('%s')", strtolower($name));
-    }
-
-    /**
-     * @deprecated Deprecated since 2.6.2, to be removed in 3.0. Use Symfony\Component\DependencyInjection\ContainerBuilder::addExpressionLanguageProvider instead.
-     *
-     * @param ExpressionFunctionProviderInterface $provider
-     */
-    public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
-    {
-        $this->expressionLanguageProviders[] = $provider;
-    }
-
-    /**
-     * Gets a service call.
-     *
-     * @param string    $id
-     * @param Reference $reference
-     *
-     * @return string
-     */
-    private function getServiceCall($id, Reference $reference = null)
-    {
-        if ('service_container' === $id) {
-            return '$this';
-        }
-
-        if (null !== $reference && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE !== $reference->getInvalidBehavior()) {
-            return sprintf('$this->get(\'%s\', ContainerInterface::NULL_ON_INVALID_REFERENCE)', $id);
-        } else {
-            if ($this->container->hasAlias($id)) {
-                $id = (string) $this->container->getAlias($id);
-            }
-
-            return sprintf('$this->get(\'%s\')', $id);
-        }
-    }
-
-    /**
-     * Convert a service id to a valid PHP method name.
-     *
-     * @param string $id
-     *
-     * @return string
-     *
-     * @throws InvalidArgumentException
-     */
-    private function camelize($id)
-    {
-        $name = Container::camelize($id);
-
-        if (!preg_match('/^[a-zA-Z0-9_\x7f-\xff]+$/', $name)) {
-            throw new InvalidArgumentException(sprintf('Service id "%s" cannot be converted to a valid PHP method name.', $id));
-        }
-
-        return $name;
-    }
-
-    /**
-     * Returns the next name to use.
-     *
-     * @return string
-     */
-    private function getNextVariableName()
-    {
-        $firstChars = self::FIRST_CHARS;
-        $firstCharsLength = strlen($firstChars);
-        $nonFirstChars = self::NON_FIRST_CHARS;
-        $nonFirstCharsLength = strlen($nonFirstChars);
-
-        while (true) {
-            $name = '';
-            $i = $this->variableCount;
-
-            if ('' === $name) {
-                $name .= $firstChars[$i % $firstCharsLength];
-                $i = (int) ($i / $firstCharsLength);
-            }
-
-            while ($i > 0) {
-                --$i;
-                $name .= $nonFirstChars[$i % $nonFirstCharsLength];
-                $i = (int) ($i / $nonFirstCharsLength);
-            }
-
-            ++$this->variableCount;
-
-            // check that the name is not reserved
-            if (in_array($name, $this->reservedVariables, true)) {
-                continue;
-            }
-
-            return $name;
-        }
-    }
-
-    private function getExpressionLanguage()
-    {
-        if (null === $this->expressionLanguage) {
-            if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) {
-                throw new RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.');
-            }
-            $providers = array_merge($this->container->getExpressionLanguageProviders(), $this->expressionLanguageProviders);
-            $this->expressionLanguage = new ExpressionLanguage(null, $providers);
-
-            if ($this->container->isTrackingResources()) {
-                foreach ($providers as $provider) {
-                    $this->container->addObjectResource($provider);
-                }
-            }
-        }
-
-        return $this->expressionLanguage;
-    }
-
-    private function exportTargetDirs()
-    {
-        return null === $this->targetDirRegex ? '' : <<<EOF
-
-        \$dir = __DIR__;
-        for (\$i = 1; \$i <= {$this->targetDirMaxMatches}; ++\$i) {
-            \$this->targetDirs[\$i] = \$dir = dirname(\$dir);
-        }
-EOF;
-    }
-
-    private function export($value)
-    {
-        if (null !== $this->targetDirRegex && is_string($value) && preg_match($this->targetDirRegex, $value, $matches, PREG_OFFSET_CAPTURE)) {
-            $prefix = $matches[0][1] ? var_export(substr($value, 0, $matches[0][1]), true).'.' : '';
-            $suffix = $matches[0][1] + strlen($matches[0][0]);
-            $suffix = isset($value[$suffix]) ? '.'.var_export(substr($value, $suffix), true) : '';
-            $dirname = '__DIR__';
-
-            if (0 < $offset = 1 + $this->targetDirMaxMatches - count($matches)) {
-                $dirname = sprintf('$this->targetDirs[%d]', $offset);
-            }
-
-            if ($prefix || $suffix) {
-                return sprintf('(%s%s%s)', $prefix, $dirname, $suffix);
-            }
-
-            return $dirname;
-        }
-
-        return var_export($value, true);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php
deleted file mode 100644
index 5fed552..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php
+++ /dev/null
@@ -1,348 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-/**
- * XmlDumper dumps a service container as an XML string.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Martin Hasoň <martin.hason@gmail.com>
- *
- * @api
- */
-class XmlDumper extends Dumper
-{
-    /**
-     * @var \DOMDocument
-     */
-    private $document;
-
-    /**
-     * Dumps the service container as an XML string.
-     *
-     * @param array $options An array of options
-     *
-     * @return string An xml string representing of the service container
-     *
-     * @api
-     */
-    public function dump(array $options = array())
-    {
-        $this->document = new \DOMDocument('1.0', 'utf-8');
-        $this->document->formatOutput = true;
-
-        $container = $this->document->createElementNS('http://symfony.com/schema/dic/services', 'container');
-        $container->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
-        $container->setAttribute('xsi:schemaLocation', 'http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd');
-
-        $this->addParameters($container);
-        $this->addServices($container);
-
-        $this->document->appendChild($container);
-        $xml = $this->document->saveXML();
-        $this->document = null;
-
-        return $xml;
-    }
-
-    /**
-     * Adds parameters.
-     *
-     * @param \DOMElement $parent
-     */
-    private function addParameters(\DOMElement $parent)
-    {
-        $data = $this->container->getParameterBag()->all();
-        if (!$data) {
-            return;
-        }
-
-        if ($this->container->isFrozen()) {
-            $data = $this->escape($data);
-        }
-
-        $parameters = $this->document->createElement('parameters');
-        $parent->appendChild($parameters);
-        $this->convertParameters($data, 'parameter', $parameters);
-    }
-
-    /**
-     * Adds method calls.
-     *
-     * @param array       $methodcalls
-     * @param \DOMElement $parent
-     */
-    private function addMethodCalls(array $methodcalls, \DOMElement $parent)
-    {
-        foreach ($methodcalls as $methodcall) {
-            $call = $this->document->createElement('call');
-            $call->setAttribute('method', $methodcall[0]);
-            if (count($methodcall[1])) {
-                $this->convertParameters($methodcall[1], 'argument', $call);
-            }
-            $parent->appendChild($call);
-        }
-    }
-
-    /**
-     * Adds a service.
-     *
-     * @param Definition  $definition
-     * @param string      $id
-     * @param \DOMElement $parent
-     */
-    private function addService($definition, $id, \DOMElement $parent)
-    {
-        $service = $this->document->createElement('service');
-        if (null !== $id) {
-            $service->setAttribute('id', $id);
-        }
-        if ($definition->getClass()) {
-            $service->setAttribute('class', $definition->getClass());
-        }
-        if ($definition->getFactoryMethod()) {
-            $service->setAttribute('factory-method', $definition->getFactoryMethod());
-        }
-        if ($definition->getFactoryClass()) {
-            $service->setAttribute('factory-class', $definition->getFactoryClass());
-        }
-        if ($definition->getFactoryService()) {
-            $service->setAttribute('factory-service', $definition->getFactoryService());
-        }
-        if (ContainerInterface::SCOPE_CONTAINER !== $scope = $definition->getScope()) {
-            $service->setAttribute('scope', $scope);
-        }
-        if (!$definition->isPublic()) {
-            $service->setAttribute('public', 'false');
-        }
-        if ($definition->isSynthetic()) {
-            $service->setAttribute('synthetic', 'true');
-        }
-        if ($definition->isSynchronized()) {
-            $service->setAttribute('synchronized', 'true');
-        }
-        if ($definition->isLazy()) {
-            $service->setAttribute('lazy', 'true');
-        }
-        if (null !== $decorated = $definition->getDecoratedService()) {
-            list($decorated, $renamedId) = $decorated;
-            $service->setAttribute('decorates', $decorated);
-            if (null !== $renamedId) {
-                $service->setAttribute('decoration-inner-name', $renamedId);
-            }
-        }
-
-        foreach ($definition->getTags() as $name => $tags) {
-            foreach ($tags as $attributes) {
-                $tag = $this->document->createElement('tag');
-                $tag->setAttribute('name', $name);
-                foreach ($attributes as $key => $value) {
-                    $tag->setAttribute($key, $value);
-                }
-                $service->appendChild($tag);
-            }
-        }
-
-        if ($definition->getFile()) {
-            $file = $this->document->createElement('file');
-            $file->appendChild($this->document->createTextNode($definition->getFile()));
-            $service->appendChild($file);
-        }
-
-        if ($parameters = $definition->getArguments()) {
-            $this->convertParameters($parameters, 'argument', $service);
-        }
-
-        if ($parameters = $definition->getProperties()) {
-            $this->convertParameters($parameters, 'property', $service, 'name');
-        }
-
-        $this->addMethodCalls($definition->getMethodCalls(), $service);
-
-        if ($callable = $definition->getFactory()) {
-            $factory = $this->document->createElement('factory');
-            if (is_array($callable)) {
-                $factory->setAttribute($callable[0] instanceof Reference ? 'service' : 'class', $callable[0]);
-                $factory->setAttribute('method', $callable[1]);
-            } else {
-                $factory->setAttribute('function', $callable);
-            }
-            $service->appendChild($factory);
-        }
-
-        if ($callable = $definition->getConfigurator()) {
-            $configurator = $this->document->createElement('configurator');
-            if (is_array($callable)) {
-                $configurator->setAttribute($callable[0] instanceof Reference ? 'service' : 'class', $callable[0]);
-                $configurator->setAttribute('method', $callable[1]);
-            } else {
-                $configurator->setAttribute('function', $callable);
-            }
-            $service->appendChild($configurator);
-        }
-
-        $parent->appendChild($service);
-    }
-
-    /**
-     * Adds a service alias.
-     *
-     * @param string      $alias
-     * @param Alias       $id
-     * @param \DOMElement $parent
-     */
-    private function addServiceAlias($alias, Alias $id, \DOMElement $parent)
-    {
-        $service = $this->document->createElement('service');
-        $service->setAttribute('id', $alias);
-        $service->setAttribute('alias', $id);
-        if (!$id->isPublic()) {
-            $service->setAttribute('public', 'false');
-        }
-        $parent->appendChild($service);
-    }
-
-    /**
-     * Adds services.
-     *
-     * @param \DOMElement $parent
-     */
-    private function addServices(\DOMElement $parent)
-    {
-        $definitions = $this->container->getDefinitions();
-        if (!$definitions) {
-            return;
-        }
-
-        $services = $this->document->createElement('services');
-        foreach ($definitions as $id => $definition) {
-            $this->addService($definition, $id, $services);
-        }
-
-        $aliases = $this->container->getAliases();
-        foreach ($aliases as $alias => $id) {
-            while (isset($aliases[(string) $id])) {
-                $id = $aliases[(string) $id];
-            }
-            $this->addServiceAlias($alias, $id, $services);
-        }
-        $parent->appendChild($services);
-    }
-
-    /**
-     * Converts parameters.
-     *
-     * @param array       $parameters
-     * @param string      $type
-     * @param \DOMElement $parent
-     * @param string      $keyAttribute
-     */
-    private function convertParameters($parameters, $type, \DOMElement $parent, $keyAttribute = 'key')
-    {
-        $withKeys = array_keys($parameters) !== range(0, count($parameters) - 1);
-        foreach ($parameters as $key => $value) {
-            $element = $this->document->createElement($type);
-            if ($withKeys) {
-                $element->setAttribute($keyAttribute, $key);
-            }
-
-            if (is_array($value)) {
-                $element->setAttribute('type', 'collection');
-                $this->convertParameters($value, $type, $element, 'key');
-            } elseif ($value instanceof Reference) {
-                $element->setAttribute('type', 'service');
-                $element->setAttribute('id', (string) $value);
-                $behaviour = $value->getInvalidBehavior();
-                if ($behaviour == ContainerInterface::NULL_ON_INVALID_REFERENCE) {
-                    $element->setAttribute('on-invalid', 'null');
-                } elseif ($behaviour == ContainerInterface::IGNORE_ON_INVALID_REFERENCE) {
-                    $element->setAttribute('on-invalid', 'ignore');
-                }
-                if (!$value->isStrict()) {
-                    $element->setAttribute('strict', 'false');
-                }
-            } elseif ($value instanceof Definition) {
-                $element->setAttribute('type', 'service');
-                $this->addService($value, null, $element);
-            } elseif ($value instanceof Expression) {
-                $element->setAttribute('type', 'expression');
-                $text = $this->document->createTextNode(self::phpToXml((string) $value));
-                $element->appendChild($text);
-            } else {
-                if (in_array($value, array('null', 'true', 'false'), true)) {
-                    $element->setAttribute('type', 'string');
-                }
-                $text = $this->document->createTextNode(self::phpToXml($value));
-                $element->appendChild($text);
-            }
-            $parent->appendChild($element);
-        }
-    }
-
-    /**
-     * Escapes arguments.
-     *
-     * @param array $arguments
-     *
-     * @return array
-     */
-    private function escape($arguments)
-    {
-        $args = array();
-        foreach ($arguments as $k => $v) {
-            if (is_array($v)) {
-                $args[$k] = $this->escape($v);
-            } elseif (is_string($v)) {
-                $args[$k] = str_replace('%', '%%', $v);
-            } else {
-                $args[$k] = $v;
-            }
-        }
-
-        return $args;
-    }
-
-    /**
-     * Converts php types to xml types.
-     *
-     * @param mixed $value Value to convert
-     *
-     * @return string
-     *
-     * @throws RuntimeException When trying to dump object or resource
-     */
-    public static function phpToXml($value)
-    {
-        switch (true) {
-            case null === $value:
-                return 'null';
-            case true === $value:
-                return 'true';
-            case false === $value:
-                return 'false';
-            case $value instanceof Parameter:
-                return '%'.$value.'%';
-            case is_object($value) || is_resource($value):
-                throw new RuntimeException('Unable to dump a service container if a parameter is an object or a resource.');
-            default:
-                return (string) $value;
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php
deleted file mode 100644
index 66ecfd8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php
+++ /dev/null
@@ -1,352 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Dumper;
-
-use Symfony\Component\Yaml\Dumper as YmlDumper;
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-/**
- * YamlDumper dumps a service container as a YAML string.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class YamlDumper extends Dumper
-{
-    private $dumper;
-
-    /**
-     * Constructor.
-     *
-     * @param ContainerBuilder $container The service container to dump
-     *
-     * @api
-     */
-    public function __construct(ContainerBuilder $container)
-    {
-        parent::__construct($container);
-
-        $this->dumper = new YmlDumper();
-    }
-
-    /**
-     * Dumps the service container as an YAML string.
-     *
-     * @param array $options An array of options
-     *
-     * @return string A YAML string representing of the service container
-     *
-     * @api
-     */
-    public function dump(array $options = array())
-    {
-        return $this->addParameters()."\n".$this->addServices();
-    }
-
-    /**
-     * Adds a service.
-     *
-     * @param string     $id
-     * @param Definition $definition
-     *
-     * @return string
-     */
-    private function addService($id, $definition)
-    {
-        $code = "    $id:\n";
-        if ($definition->getClass()) {
-            $code .= sprintf("        class: %s\n", $definition->getClass());
-        }
-
-        if (!$definition->isPublic()) {
-            $code .= "        public: false\n";
-        }
-
-        $tagsCode = '';
-        foreach ($definition->getTags() as $name => $tags) {
-            foreach ($tags as $attributes) {
-                $att = array();
-                foreach ($attributes as $key => $value) {
-                    $att[] = sprintf('%s: %s', $this->dumper->dump($key), $this->dumper->dump($value));
-                }
-                $att = $att ? ', '.implode(', ', $att) : '';
-
-                $tagsCode .= sprintf("            - { name: %s%s }\n", $this->dumper->dump($name), $att);
-            }
-        }
-        if ($tagsCode) {
-            $code .= "        tags:\n".$tagsCode;
-        }
-
-        if ($definition->getFile()) {
-            $code .= sprintf("        file: %s\n", $definition->getFile());
-        }
-
-        if ($definition->isSynthetic()) {
-            $code .= sprintf("        synthetic: true\n");
-        }
-
-        if ($definition->isSynchronized()) {
-            $code .= sprintf("        synchronized: true\n");
-        }
-
-        if ($definition->getFactoryClass()) {
-            $code .= sprintf("        factory_class: %s\n", $definition->getFactoryClass());
-        }
-
-        if ($definition->isLazy()) {
-            $code .= sprintf("        lazy: true\n");
-        }
-
-        if ($definition->getFactoryMethod()) {
-            $code .= sprintf("        factory_method: %s\n", $definition->getFactoryMethod());
-        }
-
-        if ($definition->getFactoryService()) {
-            $code .= sprintf("        factory_service: %s\n", $definition->getFactoryService());
-        }
-
-        if ($definition->getArguments()) {
-            $code .= sprintf("        arguments: %s\n", $this->dumper->dump($this->dumpValue($definition->getArguments()), 0));
-        }
-
-        if ($definition->getProperties()) {
-            $code .= sprintf("        properties: %s\n", $this->dumper->dump($this->dumpValue($definition->getProperties()), 0));
-        }
-
-        if ($definition->getMethodCalls()) {
-            $code .= sprintf("        calls:\n%s\n", $this->dumper->dump($this->dumpValue($definition->getMethodCalls()), 1, 12));
-        }
-
-        if (ContainerInterface::SCOPE_CONTAINER !== $scope = $definition->getScope()) {
-            $code .= sprintf("        scope: %s\n", $scope);
-        }
-
-        if (null !== $decorated = $definition->getDecoratedService()) {
-            list($decorated, $renamedId) = $decorated;
-            $code .= sprintf("        decorates: %s\n", $decorated);
-            if (null !== $renamedId) {
-                $code .= sprintf("        decoration_inner_name: %s\n", $renamedId);
-            }
-        }
-
-        if ($callable = $definition->getFactory()) {
-            $code .= sprintf("        factory: %s\n", $this->dumper->dump($this->dumpCallable($callable), 0));
-        }
-
-        if ($callable = $definition->getConfigurator()) {
-            $code .= sprintf("        configurator: %s\n", $this->dumper->dump($this->dumpCallable($callable), 0));
-        }
-
-        return $code;
-    }
-
-    /**
-     * Adds a service alias.
-     *
-     * @param string $alias
-     * @param Alias  $id
-     *
-     * @return string
-     */
-    private function addServiceAlias($alias, $id)
-    {
-        if ($id->isPublic()) {
-            return sprintf("    %s: @%s\n", $alias, $id);
-        } else {
-            return sprintf("    %s:\n        alias: %s\n        public: false", $alias, $id);
-        }
-    }
-
-    /**
-     * Adds services.
-     *
-     * @return string
-     */
-    private function addServices()
-    {
-        if (!$this->container->getDefinitions()) {
-            return '';
-        }
-
-        $code = "services:\n";
-        foreach ($this->container->getDefinitions() as $id => $definition) {
-            $code .= $this->addService($id, $definition);
-        }
-
-        $aliases = $this->container->getAliases();
-        foreach ($aliases as $alias => $id) {
-            while (isset($aliases[(string) $id])) {
-                $id = $aliases[(string) $id];
-            }
-            $code .= $this->addServiceAlias($alias, $id);
-        }
-
-        return $code;
-    }
-
-    /**
-     * Adds parameters.
-     *
-     * @return string
-     */
-    private function addParameters()
-    {
-        if (!$this->container->getParameterBag()->all()) {
-            return '';
-        }
-
-        $parameters = $this->prepareParameters($this->container->getParameterBag()->all(), $this->container->isFrozen());
-
-        return $this->dumper->dump(array('parameters' => $parameters), 2);
-    }
-
-    /**
-     * Dumps callable to YAML format
-     *
-     * @param callable $callable
-     *
-     * @return callable
-     */
-    private function dumpCallable($callable)
-    {
-        if (is_array($callable)) {
-            if ($callable[0] instanceof Reference) {
-                $callable = array($this->getServiceCall((string) $callable[0], $callable[0]), $callable[1]);
-            } else {
-                $callable = array($callable[0], $callable[1]);
-            }
-        }
-
-        return $callable;
-    }
-
-    /**
-     * Dumps the value to YAML format.
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     *
-     * @throws RuntimeException When trying to dump object or resource
-     */
-    private function dumpValue($value)
-    {
-        if (is_array($value)) {
-            $code = array();
-            foreach ($value as $k => $v) {
-                $code[$k] = $this->dumpValue($v);
-            }
-
-            return $code;
-        } elseif ($value instanceof Reference) {
-            return $this->getServiceCall((string) $value, $value);
-        } elseif ($value instanceof Parameter) {
-            return $this->getParameterCall((string) $value);
-        } elseif ($value instanceof Expression) {
-            return $this->getExpressionCall((string) $value);
-        } elseif (is_object($value) || is_resource($value)) {
-            throw new RuntimeException('Unable to dump a service container if a parameter is an object or a resource.');
-        }
-
-        return $value;
-    }
-
-    /**
-     * Gets the service call.
-     *
-     * @param string    $id
-     * @param Reference $reference
-     *
-     * @return string
-     */
-    private function getServiceCall($id, Reference $reference = null)
-    {
-        if (null !== $reference && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE !== $reference->getInvalidBehavior()) {
-            return sprintf('@?%s', $id);
-        }
-
-        return sprintf('@%s', $id);
-    }
-
-    /**
-     * Gets parameter call.
-     *
-     * @param string $id
-     *
-     * @return string
-     */
-    private function getParameterCall($id)
-    {
-        return sprintf('%%%s%%', $id);
-    }
-
-    private function getExpressionCall($expression)
-    {
-        return sprintf('@=%s', $expression);
-    }
-
-    /**
-     * Prepares parameters.
-     *
-     * @param array $parameters
-     * @param bool  $escape
-     *
-     * @return array
-     */
-    private function prepareParameters($parameters, $escape = true)
-    {
-        $filtered = array();
-        foreach ($parameters as $key => $value) {
-            if (is_array($value)) {
-                $value = $this->prepareParameters($value, $escape);
-            } elseif ($value instanceof Reference || is_string($value) && 0 === strpos($value, '@')) {
-                $value = '@'.$value;
-            }
-
-            $filtered[$key] = $value;
-        }
-
-        return $escape ? $this->escape($filtered) : $filtered;
-    }
-
-    /**
-     * Escapes arguments.
-     *
-     * @param array $arguments
-     *
-     * @return array
-     */
-    private function escape($arguments)
-    {
-        $args = array();
-        foreach ($arguments as $k => $v) {
-            if (is_array($v)) {
-                $args[$k] = $this->escape($v);
-            } elseif (is_string($v)) {
-                $args[$k] = str_replace('%', '%%', $v);
-            } else {
-                $args[$k] = $v;
-            }
-        }
-
-        return $args;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/BadMethodCallException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/BadMethodCallException.php
deleted file mode 100644
index 959238e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/BadMethodCallException.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * Base BadMethodCallException for Dependency Injection component.
- */
-class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ExceptionInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ExceptionInterface.php
deleted file mode 100644
index f5e9099..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * Base ExceptionInterface for Dependency Injection component.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bulat Shakirzyanov <bulat@theopenskyproject.com>
- */
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InactiveScopeException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InactiveScopeException.php
deleted file mode 100644
index 6b3dd3e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InactiveScopeException.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * This exception is thrown when you try to create a service of an inactive scope.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class InactiveScopeException extends RuntimeException
-{
-    private $serviceId;
-    private $scope;
-
-    public function __construct($serviceId, $scope, \Exception $previous = null)
-    {
-        parent::__construct(sprintf('You cannot create a service ("%s") of an inactive scope ("%s").', $serviceId, $scope), 0, $previous);
-
-        $this->serviceId = $serviceId;
-        $this->scope = $scope;
-    }
-
-    public function getServiceId()
-    {
-        return $this->serviceId;
-    }
-
-    public function getScope()
-    {
-        return $this->scope;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InvalidArgumentException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InvalidArgumentException.php
deleted file mode 100644
index 119bb7d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InvalidArgumentException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * Base InvalidArgumentException for Dependency Injection component.
- *
- * @author Bulat Shakirzyanov <bulat@theopenskyproject.com>
- */
-class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/LogicException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/LogicException.php
deleted file mode 100644
index 17a070c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/LogicException.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * Base LogicException for Dependency Injection component.
- */
-class LogicException extends \LogicException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/OutOfBoundsException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/OutOfBoundsException.php
deleted file mode 100644
index a61f143..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/OutOfBoundsException.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * Base OutOfBoundsException for Dependency Injection component.
- */
-class OutOfBoundsException extends \OutOfBoundsException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php
deleted file mode 100644
index 2915176..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * This exception is thrown when a circular reference in a parameter is detected.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ParameterCircularReferenceException extends RuntimeException
-{
-    private $parameters;
-
-    public function __construct($parameters, \Exception $previous = null)
-    {
-        parent::__construct(sprintf('Circular reference detected for parameter "%s" ("%s" > "%s").', $parameters[0], implode('" > "', $parameters), $parameters[0]), 0, $previous);
-
-        $this->parameters = $parameters;
-    }
-
-    public function getParameters()
-    {
-        return $this->parameters;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php
deleted file mode 100644
index b529f0f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * This exception is thrown when a non-existent parameter is used.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ParameterNotFoundException extends InvalidArgumentException
-{
-    private $key;
-    private $sourceId;
-    private $sourceKey;
-    private $alternatives;
-
-    /**
-     * Constructor.
-     *
-     * @param string     $key          The requested parameter key
-     * @param string     $sourceId     The service id that references the non-existent parameter
-     * @param string     $sourceKey    The parameter key that references the non-existent parameter
-     * @param \Exception $previous     The previous exception
-     * @param string[]   $alternatives Some parameter name alternatives
-     */
-    public function __construct($key, $sourceId = null, $sourceKey = null, \Exception $previous = null, array $alternatives = array())
-    {
-        $this->key = $key;
-        $this->sourceId = $sourceId;
-        $this->sourceKey = $sourceKey;
-        $this->alternatives = $alternatives;
-
-        parent::__construct('', 0, $previous);
-
-        $this->updateRepr();
-    }
-
-    public function updateRepr()
-    {
-        if (null !== $this->sourceId) {
-            $this->message = sprintf('The service "%s" has a dependency on a non-existent parameter "%s".', $this->sourceId, $this->key);
-        } elseif (null !== $this->sourceKey) {
-            $this->message = sprintf('The parameter "%s" has a dependency on a non-existent parameter "%s".', $this->sourceKey, $this->key);
-        } else {
-            $this->message = sprintf('You have requested a non-existent parameter "%s".', $this->key);
-        }
-
-        if ($this->alternatives) {
-            if (1 == count($this->alternatives)) {
-                $this->message .= ' Did you mean this: "';
-            } else {
-                $this->message .= ' Did you mean one of these: "';
-            }
-            $this->message .= implode('", "', $this->alternatives).'"?';
-        }
-    }
-
-    public function getKey()
-    {
-        return $this->key;
-    }
-
-    public function getSourceId()
-    {
-        return $this->sourceId;
-    }
-
-    public function getSourceKey()
-    {
-        return $this->sourceKey;
-    }
-
-    public function setSourceId($sourceId)
-    {
-        $this->sourceId = $sourceId;
-
-        $this->updateRepr();
-    }
-
-    public function setSourceKey($sourceKey)
-    {
-        $this->sourceKey = $sourceKey;
-
-        $this->updateRepr();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/RuntimeException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/RuntimeException.php
deleted file mode 100644
index 5c24541..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/RuntimeException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * Base RuntimeException for Dependency Injection component.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class RuntimeException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeCrossingInjectionException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeCrossingInjectionException.php
deleted file mode 100644
index 661fbab..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeCrossingInjectionException.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * This exception is thrown when the a scope crossing injection is detected.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ScopeCrossingInjectionException extends RuntimeException
-{
-    private $sourceServiceId;
-    private $sourceScope;
-    private $destServiceId;
-    private $destScope;
-
-    public function __construct($sourceServiceId, $sourceScope, $destServiceId, $destScope, \Exception $previous = null)
-    {
-        parent::__construct(sprintf(
-            'Scope Crossing Injection detected: The definition "%s" references the service "%s" which belongs to another scope hierarchy. '
-           .'This service might not be available consistently. Generally, it is safer to either move the definition "%s" to scope "%s", or '
-           .'declare "%s" as a child scope of "%s". If you can be sure that the other scope is always active, you can set the reference to strict=false to get rid of this error.',
-           $sourceServiceId,
-           $destServiceId,
-           $sourceServiceId,
-           $destScope,
-           $sourceScope,
-           $destScope
-        ), 0, $previous);
-
-        $this->sourceServiceId = $sourceServiceId;
-        $this->sourceScope = $sourceScope;
-        $this->destServiceId = $destServiceId;
-        $this->destScope = $destScope;
-    }
-
-    public function getSourceServiceId()
-    {
-        return $this->sourceServiceId;
-    }
-
-    public function getSourceScope()
-    {
-        return $this->sourceScope;
-    }
-
-    public function getDestServiceId()
-    {
-        return $this->destServiceId;
-    }
-
-    public function getDestScope()
-    {
-        return $this->destScope;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeWideningInjectionException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeWideningInjectionException.php
deleted file mode 100644
index 86a6684..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeWideningInjectionException.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * Thrown when a scope widening injection is detected.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ScopeWideningInjectionException extends RuntimeException
-{
-    private $sourceServiceId;
-    private $sourceScope;
-    private $destServiceId;
-    private $destScope;
-
-    public function __construct($sourceServiceId, $sourceScope, $destServiceId, $destScope, \Exception $previous = null)
-    {
-        parent::__construct(sprintf(
-            'Scope Widening Injection detected: The definition "%s" references the service "%s" which belongs to a narrower scope. '
-           .'Generally, it is safer to either move "%s" to scope "%s" or alternatively rely on the provider pattern by injecting the container itself, and requesting the service "%s" each time it is needed. '
-           .'In rare, special cases however that might not be necessary, then you can set the reference to strict=false to get rid of this error.',
-           $sourceServiceId,
-           $destServiceId,
-           $sourceServiceId,
-           $destScope,
-           $destServiceId
-        ), 0, $previous);
-
-        $this->sourceServiceId = $sourceServiceId;
-        $this->sourceScope = $sourceScope;
-        $this->destServiceId = $destServiceId;
-        $this->destScope = $destScope;
-    }
-
-    public function getSourceServiceId()
-    {
-        return $this->sourceServiceId;
-    }
-
-    public function getSourceScope()
-    {
-        return $this->sourceScope;
-    }
-
-    public function getDestServiceId()
-    {
-        return $this->destServiceId;
-    }
-
-    public function getDestScope()
-    {
-        return $this->destScope;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php
deleted file mode 100644
index 26e3fb3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * This exception is thrown when a circular reference is detected.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ServiceCircularReferenceException extends RuntimeException
-{
-    private $serviceId;
-    private $path;
-
-    public function __construct($serviceId, array $path, \Exception $previous = null)
-    {
-        parent::__construct(sprintf('Circular reference detected for service "%s", path: "%s".', $serviceId, implode(' -> ', $path)), 0, $previous);
-
-        $this->serviceId = $serviceId;
-        $this->path = $path;
-    }
-
-    public function getServiceId()
-    {
-        return $this->serviceId;
-    }
-
-    public function getPath()
-    {
-        return $this->path;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php
deleted file mode 100644
index e65da50..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Exception;
-
-/**
- * This exception is thrown when a non-existent service is requested.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ServiceNotFoundException extends InvalidArgumentException
-{
-    private $id;
-    private $sourceId;
-
-    public function __construct($id, $sourceId = null, \Exception $previous = null, array $alternatives = array())
-    {
-        if (null === $sourceId) {
-            $msg = sprintf('You have requested a non-existent service "%s".', $id);
-        } else {
-            $msg = sprintf('The service "%s" has a dependency on a non-existent service "%s".', $sourceId, $id);
-        }
-
-        if ($alternatives) {
-            if (1 == count($alternatives)) {
-                $msg .= ' Did you mean this: "';
-            } else {
-                $msg .= ' Did you mean one of these: "';
-            }
-            $msg .= implode('", "', $alternatives).'"?';
-        }
-
-        parent::__construct($msg, 0, $previous);
-
-        $this->id = $id;
-        $this->sourceId = $sourceId;
-    }
-
-    public function getId()
-    {
-        return $this->id;
-    }
-
-    public function getSourceId()
-    {
-        return $this->sourceId;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguage.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguage.php
deleted file mode 100644
index acc97bc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguage.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage;
-use Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface;
-
-/**
- * Adds some function to the default ExpressionLanguage.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @see ExpressionLanguageProvider
- */
-class ExpressionLanguage extends BaseExpressionLanguage
-{
-    public function __construct(ParserCacheInterface $cache = null, array $providers = array())
-    {
-        // prepend the default provider to let users override it easily
-        array_unshift($providers, new ExpressionLanguageProvider());
-
-        parent::__construct($cache, $providers);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php
deleted file mode 100644
index ce6d695..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\ExpressionLanguage\ExpressionFunction;
-use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
-
-/**
- * Define some ExpressionLanguage functions.
- *
- * To get a service, use service('request').
- * To get a parameter, use parameter('kernel.debug').
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ExpressionLanguageProvider implements ExpressionFunctionProviderInterface
-{
-    public function getFunctions()
-    {
-        return array(
-            new ExpressionFunction('service', function ($arg) {
-                return sprintf('$this->get(%s)', $arg);
-            }, function (array $variables, $value) {
-                return $variables['container']->get($value);
-            }),
-
-            new ExpressionFunction('parameter', function ($arg) {
-                return sprintf('$this->getParameter(%s)', $arg);
-            }, function (array $variables, $value) {
-                return $variables['container']->getParameter($value);
-            }),
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ConfigurationExtensionInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ConfigurationExtensionInterface.php
deleted file mode 100644
index 705ba38..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ConfigurationExtensionInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Extension;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\Definition\ConfigurationInterface;
-
-/**
- * ConfigurationExtensionInterface is the interface implemented by container extension classes.
- *
- * @author Kevin Bond <kevinbond@gmail.com>
- */
-interface ConfigurationExtensionInterface
-{
-    /**
-     * Returns extension configuration.
-     *
-     * @param array            $config    An array of configuration values
-     * @param ContainerBuilder $container A ContainerBuilder instance
-     *
-     * @return ConfigurationInterface|null The configuration or null
-     */
-    public function getConfiguration(array $config, ContainerBuilder $container);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/Extension.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/Extension.php
deleted file mode 100644
index f8e058b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/Extension.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Extension;
-
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\BadMethodCallException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\Definition\Processor;
-use Symfony\Component\Config\Definition\ConfigurationInterface;
-
-/**
- * Provides useful features shared by many extensions.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Extension implements ExtensionInterface, ConfigurationExtensionInterface
-{
-    /**
-     * Returns the base path for the XSD files.
-     *
-     * @return string The XSD base path
-     */
-    public function getXsdValidationBasePath()
-    {
-        return false;
-    }
-
-    /**
-     * Returns the namespace to be used for this extension (XML namespace).
-     *
-     * @return string The XML namespace
-     */
-    public function getNamespace()
-    {
-        return 'http://example.org/schema/dic/'.$this->getAlias();
-    }
-
-    /**
-     * Returns the recommended alias to use in XML.
-     *
-     * This alias is also the mandatory prefix to use when using YAML.
-     *
-     * This convention is to remove the "Extension" postfix from the class
-     * name and then lowercase and underscore the result. So:
-     *
-     *     AcmeHelloExtension
-     *
-     * becomes
-     *
-     *     acme_hello
-     *
-     * This can be overridden in a sub-class to specify the alias manually.
-     *
-     * @return string The alias
-     *
-     * @throws BadMethodCallException When the extension name does not follow conventions
-     */
-    public function getAlias()
-    {
-        $className = get_class($this);
-        if (substr($className, -9) != 'Extension') {
-            throw new BadMethodCallException('This extension does not follow the naming convention; you must overwrite the getAlias() method.');
-        }
-        $classBaseName = substr(strrchr($className, '\\'), 1, -9);
-
-        return Container::underscore($classBaseName);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getConfiguration(array $config, ContainerBuilder $container)
-    {
-        $reflected = new \ReflectionClass($this);
-        $namespace = $reflected->getNamespaceName();
-
-        $class = $namespace.'\\Configuration';
-        if (class_exists($class)) {
-            $r = new \ReflectionClass($class);
-            $container->addResource(new FileResource($r->getFileName()));
-
-            if (!method_exists($class, '__construct')) {
-                $configuration = new $class();
-
-                return $configuration;
-            }
-        }
-    }
-
-    final protected function processConfiguration(ConfigurationInterface $configuration, array $configs)
-    {
-        $processor = new Processor();
-
-        return $processor->processConfiguration($configuration, $configs);
-    }
-
-    /**
-     * @param ContainerBuilder $container
-     * @param array            $config
-     *
-     * @return bool Whether the configuration is enabled
-     *
-     * @throws InvalidArgumentException When the config is not enableable
-     */
-    protected function isConfigEnabled(ContainerBuilder $container, array $config)
-    {
-        if (!array_key_exists('enabled', $config)) {
-            throw new InvalidArgumentException("The config array has no 'enabled' key.");
-        }
-
-        return (bool) $container->getParameterBag()->resolveValue($config['enabled']);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ExtensionInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ExtensionInterface.php
deleted file mode 100644
index 424f020..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ExtensionInterface.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Extension;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * ExtensionInterface is the interface implemented by container extension classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface ExtensionInterface
-{
-    /**
-     * Loads a specific configuration.
-     *
-     * @param array            $config    An array of configuration values
-     * @param ContainerBuilder $container A ContainerBuilder instance
-     *
-     * @throws \InvalidArgumentException When provided tag is not defined in this extension
-     *
-     * @api
-     */
-    public function load(array $config, ContainerBuilder $container);
-
-    /**
-     * Returns the namespace to be used for this extension (XML namespace).
-     *
-     * @return string The XML namespace
-     *
-     * @api
-     */
-    public function getNamespace();
-
-    /**
-     * Returns the base path for the XSD files.
-     *
-     * @return string The XSD base path
-     *
-     * @api
-     */
-    public function getXsdValidationBasePath();
-
-    /**
-     * Returns the recommended alias to use in XML.
-     *
-     * This alias is also the mandatory prefix to use when using YAML.
-     *
-     * @return string The alias
-     *
-     * @api
-     */
-    public function getAlias();
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/PrependExtensionInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/PrependExtensionInterface.php
deleted file mode 100644
index c666bdb..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/PrependExtensionInterface.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Extension;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-interface PrependExtensionInterface
-{
-    /**
-     * Allow an extension to prepend the extension configurations.
-     *
-     * @param ContainerBuilder $container
-     */
-    public function prepend(ContainerBuilder $container);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/IntrospectableContainerInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/IntrospectableContainerInterface.php
deleted file mode 100644
index e630a1e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/IntrospectableContainerInterface.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * IntrospectableContainerInterface defines additional introspection functionality
- * for containers, allowing logic to be implemented based on a Container's state.
- *
- * @author Evan Villemez <evillemez@gmail.com>
- */
-interface IntrospectableContainerInterface extends ContainerInterface
-{
-    /**
-     * Check for whether or not a service has been initialized.
-     *
-     * @param string $id
-     *
-     * @return bool true if the service has been initialized, false otherwise
-     */
-    public function initialized($id);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LICENSE b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/InstantiatorInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/InstantiatorInterface.php
deleted file mode 100644
index a8dd525..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/InstantiatorInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\LazyProxy\Instantiator;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Definition;
-
-/**
- * Lazy proxy instantiator, capable of instantiating a proxy given a container, the
- * service definitions and a callback that produces the real service instance.
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-interface InstantiatorInterface
-{
-    /**
-     * Instantiates a proxy object.
-     *
-     * @param ContainerInterface $container        the container from which the service is being requested
-     * @param Definition         $definition       the definition of the requested service
-     * @param string             $id               identifier of the requested service
-     * @param callable           $realInstantiator zero-argument callback that is capable of producing the real
-     *                                             service instance
-     *
-     * @return object
-     */
-    public function instantiateProxy(ContainerInterface $container, Definition $definition, $id, $realInstantiator);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/RealServiceInstantiator.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/RealServiceInstantiator.php
deleted file mode 100644
index cad9320..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/RealServiceInstantiator.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\LazyProxy\Instantiator;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Definition;
-
-/**
- * {@inheritdoc}
- *
- * Noop proxy instantiator - simply produces the real service instead of a proxy instance.
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class RealServiceInstantiator implements InstantiatorInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function instantiateProxy(ContainerInterface $container, Definition $definition, $id, $realInstantiator)
-    {
-        return call_user_func($realInstantiator);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/DumperInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/DumperInterface.php
deleted file mode 100644
index 878d965..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/DumperInterface.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\LazyProxy\PhpDumper;
-
-use Symfony\Component\DependencyInjection\Definition;
-
-/**
- * Lazy proxy dumper capable of generating the instantiation logic PHP code for proxied services.
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-interface DumperInterface
-{
-    /**
-     * Inspects whether the given definitions should produce proxy instantiation logic in the dumped container.
-     *
-     * @param Definition $definition
-     *
-     * @return bool
-     */
-    public function isProxyCandidate(Definition $definition);
-
-    /**
-     * Generates the code to be used to instantiate a proxy in the dumped factory code.
-     *
-     * @param Definition $definition
-     * @param string     $id         service identifier
-     *
-     * @return string
-     */
-    public function getProxyFactoryCode(Definition $definition, $id);
-
-    /**
-     * Generates the code for the lazy proxy.
-     *
-     * @param Definition $definition
-     *
-     * @return string
-     */
-    public function getProxyCode(Definition $definition);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/NullDumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/NullDumper.php
deleted file mode 100644
index 30911d3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/NullDumper.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\LazyProxy\PhpDumper;
-
-use Symfony\Component\DependencyInjection\Definition;
-
-/**
- * Null dumper, negates any proxy code generation for any given service definition.
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class NullDumper implements DumperInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function isProxyCandidate(Definition $definition)
-    {
-        return false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getProxyFactoryCode(Definition $definition, $id)
-    {
-        return '';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getProxyCode(Definition $definition)
-    {
-        return '';
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php
deleted file mode 100644
index a5b4e5a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\Loader\Loader;
-
-/**
- * ClosureLoader loads service definitions from a PHP closure.
- *
- * The Closure has access to the container as its first argument.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ClosureLoader extends Loader
-{
-    private $container;
-
-    /**
-     * Constructor.
-     *
-     * @param ContainerBuilder $container A ContainerBuilder instance
-     */
-    public function __construct(ContainerBuilder $container)
-    {
-        $this->container = $container;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function load($resource, $type = null)
-    {
-        call_user_func($resource, $this->container);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        return $resource instanceof \Closure;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/FileLoader.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/FileLoader.php
deleted file mode 100644
index d71eecf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/FileLoader.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\Loader\FileLoader as BaseFileLoader;
-use Symfony\Component\Config\FileLocatorInterface;
-
-/**
- * FileLoader is the abstract class used by all built-in loaders that are file based.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class FileLoader extends BaseFileLoader
-{
-    protected $container;
-
-    /**
-     * Constructor.
-     *
-     * @param ContainerBuilder     $container A ContainerBuilder instance
-     * @param FileLocatorInterface $locator   A FileLocator instance
-     */
-    public function __construct(ContainerBuilder $container, FileLocatorInterface $locator)
-    {
-        $this->container = $container;
-
-        parent::__construct($locator);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php
deleted file mode 100644
index 16ddf87..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Loader;
-
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-
-/**
- * IniFileLoader loads parameters from INI files.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class IniFileLoader extends FileLoader
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function load($resource, $type = null)
-    {
-        $path = $this->locator->locate($resource);
-
-        $this->container->addResource(new FileResource($path));
-
-        $result = parse_ini_file($path, true);
-        if (false === $result || array() === $result) {
-            throw new InvalidArgumentException(sprintf('The "%s" file is not valid.', $resource));
-        }
-
-        if (isset($result['parameters']) && is_array($result['parameters'])) {
-            foreach ($result['parameters'] as $key => $value) {
-                $this->container->setParameter($key, $value);
-            }
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'ini' === pathinfo($resource, PATHINFO_EXTENSION);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php
deleted file mode 100644
index 08c1d9a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Loader;
-
-use Symfony\Component\Config\Resource\FileResource;
-
-/**
- * PhpFileLoader loads service definitions from a PHP file.
- *
- * The PHP file is required and the $container variable can be
- * used within the file to change the container.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class PhpFileLoader extends FileLoader
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function load($resource, $type = null)
-    {
-        // the container and loader variables are exposed to the included file below
-        $container = $this->container;
-        $loader = $this;
-
-        $path = $this->locator->locate($resource);
-        $this->setCurrentDir(dirname($path));
-        $this->container->addResource(new FileResource($path));
-
-        include $path;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'php' === pathinfo($resource, PATHINFO_EXTENSION);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
deleted file mode 100644
index 514f4f3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
+++ /dev/null
@@ -1,543 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Loader;
-
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Config\Util\XmlUtils;
-use Symfony\Component\DependencyInjection\DefinitionDecorator;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-/**
- * XmlFileLoader loads XML files service definitions.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class XmlFileLoader extends FileLoader
-{
-    const NS = 'http://symfony.com/schema/dic/services';
-
-    /**
-     * {@inheritdoc}
-     */
-    public function load($resource, $type = null)
-    {
-        $path = $this->locator->locate($resource);
-
-        $xml = $this->parseFileToDOM($path);
-
-        $this->container->addResource(new FileResource($path));
-
-        // anonymous services
-        $this->processAnonymousServices($xml, $path);
-
-        // imports
-        $this->parseImports($xml, $path);
-
-        // parameters
-        $this->parseParameters($xml, $path);
-
-        // extensions
-        $this->loadFromExtensions($xml);
-
-        // services
-        $this->parseDefinitions($xml, $path);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'xml' === pathinfo($resource, PATHINFO_EXTENSION);
-    }
-
-    /**
-     * Parses parameters.
-     *
-     * @param \DOMDocument $xml
-     * @param string       $file
-     */
-    private function parseParameters(\DOMDocument $xml, $file)
-    {
-        if ($parameters = $this->getChildren($xml->documentElement, 'parameters')) {
-            $this->container->getParameterBag()->add($this->getArgumentsAsPhp($parameters[0], 'parameter'));
-        }
-    }
-
-    /**
-     * Parses imports.
-     *
-     * @param \DOMDocument $xml
-     * @param string       $file
-     */
-    private function parseImports(\DOMDocument $xml, $file)
-    {
-        $xpath = new \DOMXPath($xml);
-        $xpath->registerNamespace('container', self::NS);
-
-        if (false === $imports = $xpath->query('//container:imports/container:import')) {
-            return;
-        }
-
-        foreach ($imports as $import) {
-            $this->setCurrentDir(dirname($file));
-            $this->import($import->getAttribute('resource'), null, (bool) XmlUtils::phpize($import->getAttribute('ignore-errors')), $file);
-        }
-    }
-
-    /**
-     * Parses multiple definitions.
-     *
-     * @param \DOMDocument $xml
-     * @param string       $file
-     */
-    private function parseDefinitions(\DOMDocument $xml, $file)
-    {
-        $xpath = new \DOMXPath($xml);
-        $xpath->registerNamespace('container', self::NS);
-
-        if (false === $services = $xpath->query('//container:services/container:service')) {
-            return;
-        }
-
-        foreach ($services as $service) {
-            $this->parseDefinition((string) $service->getAttribute('id'), $service, $file);
-        }
-    }
-
-    /**
-     * Parses an individual Definition.
-     *
-     * @param string      $id
-     * @param \DOMElement $service
-     * @param string      $file
-     */
-    private function parseDefinition($id, \DOMElement $service, $file)
-    {
-        if ($alias = $service->getAttribute('alias')) {
-            $public = true;
-            if ($publicAttr = $service->getAttribute('public')) {
-                $public = XmlUtils::phpize($publicAttr);
-            }
-            $this->container->setAlias($id, new Alias($alias, $public));
-
-            return;
-        }
-
-        if ($parent = $service->getAttribute('parent')) {
-            $definition = new DefinitionDecorator($parent);
-        } else {
-            $definition = new Definition();
-        }
-
-        foreach (array('class', 'scope', 'public', 'factory-class', 'factory-method', 'factory-service', 'synthetic', 'synchronized', 'lazy', 'abstract') as $key) {
-            if ($value = $service->getAttribute($key)) {
-                $method = 'set'.str_replace('-', '', $key);
-                $definition->$method(XmlUtils::phpize($value));
-            }
-        }
-
-        if ($files = $this->getChildren($service, 'file')) {
-            $definition->setFile($files[0]->nodeValue);
-        }
-
-        $definition->setArguments($this->getArgumentsAsPhp($service, 'argument'));
-        $definition->setProperties($this->getArgumentsAsPhp($service, 'property'));
-
-        if ($factories = $this->getChildren($service, 'factory')) {
-            $factory = $factories[0];
-            if ($function = $factory->getAttribute('function')) {
-                $definition->setFactory($function);
-            } else {
-                if ($childService = $factory->getAttribute('service')) {
-                    $class = new Reference($childService, ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false);
-                } else {
-                    $class = $factory->getAttribute('class');
-                }
-
-                $definition->setFactory(array($class, $factory->getAttribute('method')));
-            }
-        }
-
-        if ($configurators = $this->getChildren($service, 'configurator')) {
-            $configurator = $configurators[0];
-            if ($function = $configurator->getAttribute('function')) {
-                $definition->setConfigurator($function);
-            } else {
-                if ($childService = $configurator->getAttribute('service')) {
-                    $class = new Reference($childService, ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false);
-                } else {
-                    $class = $configurator->getAttribute('class');
-                }
-
-                $definition->setConfigurator(array($class, $configurator->getAttribute('method')));
-            }
-        }
-
-        foreach ($this->getChildren($service, 'call') as $call) {
-            $definition->addMethodCall($call->getAttribute('method'), $this->getArgumentsAsPhp($call, 'argument'));
-        }
-
-        foreach ($this->getChildren($service, 'tag') as $tag) {
-            $parameters = array();
-            foreach ($tag->attributes as $name => $node) {
-                if ('name' === $name) {
-                    continue;
-                }
-
-                if (false !== strpos($name, '-') && false === strpos($name, '_') && !array_key_exists($normalizedName = str_replace('-', '_', $name), $parameters)) {
-                    $parameters[$normalizedName] = XmlUtils::phpize($node->nodeValue);
-                }
-                // keep not normalized key for BC too
-                $parameters[$name] = XmlUtils::phpize($node->nodeValue);
-            }
-
-            $definition->addTag($tag->getAttribute('name'), $parameters);
-        }
-
-        if ($value = $service->getAttribute('decorates')) {
-            $renameId = $service->hasAttribute('decoration-inner-name') ? $service->getAttribute('decoration-inner-name') : null;
-            $definition->setDecoratedService($value, $renameId);
-        }
-
-        $this->container->setDefinition($id, $definition);
-    }
-
-    /**
-     * Parses a XML file to a \DOMDocument
-     *
-     * @param string $file Path to a file
-     *
-     * @return \DOMDocument
-     *
-     * @throws InvalidArgumentException When loading of XML file returns error
-     */
-    private function parseFileToDOM($file)
-    {
-        try {
-            $dom = XmlUtils::loadFile($file, array($this, 'validateSchema'));
-        } catch (\InvalidArgumentException $e) {
-            throw new InvalidArgumentException(sprintf('Unable to parse file "%s".', $file), $e->getCode(), $e);
-        }
-
-        $this->validateExtensions($dom, $file);
-
-        return $dom;
-    }
-
-    /**
-     * Processes anonymous services.
-     *
-     * @param \DOMDocument $xml
-     * @param string       $file
-     */
-    private function processAnonymousServices(\DOMDocument $xml, $file)
-    {
-        $definitions = array();
-        $count = 0;
-
-        $xpath = new \DOMXPath($xml);
-        $xpath->registerNamespace('container', self::NS);
-
-        // anonymous services as arguments/properties
-        if (false !== $nodes = $xpath->query('//container:argument[@type="service"][not(@id)]|//container:property[@type="service"][not(@id)]')) {
-            foreach ($nodes as $node) {
-                // give it a unique name
-                $id = sprintf('%s_%d', hash('sha256', $file), ++$count);
-                $node->setAttribute('id', $id);
-
-                if ($services = $this->getChildren($node, 'service')) {
-                    $definitions[$id] = array($services[0], $file, false);
-                    $services[0]->setAttribute('id', $id);
-                }
-            }
-        }
-
-        // anonymous services "in the wild"
-        if (false !== $nodes = $xpath->query('//container:services/container:service[not(@id)]')) {
-            foreach ($nodes as $node) {
-                // give it a unique name
-                $id = sprintf('%s_%d', hash('sha256', $file), ++$count);
-                $node->setAttribute('id', $id);
-
-                if ($services = $this->getChildren($node, 'service')) {
-                    $definitions[$id] = array($node, $file, true);
-                    $services[0]->setAttribute('id', $id);
-                }
-            }
-        }
-
-        // resolve definitions
-        krsort($definitions);
-        foreach ($definitions as $id => $def) {
-            list($domElement, $file, $wild) = $def;
-
-            // anonymous services are always private
-            // we could not use the constant false here, because of XML parsing
-            $domElement->setAttribute('public', 'false');
-
-            $this->parseDefinition($id, $domElement, $file);
-
-            if (true === $wild) {
-                $tmpDomElement = new \DOMElement('_services', null, self::NS);
-                $domElement->parentNode->replaceChild($tmpDomElement, $domElement);
-                $tmpDomElement->setAttribute('id', $id);
-            } else {
-                $domElement->parentNode->removeChild($domElement);
-            }
-        }
-    }
-
-    /**
-     * Returns arguments as valid php types.
-     *
-     * @param \DOMElement $node
-     * @param string      $name
-     * @param bool        $lowercase
-     *
-     * @return mixed
-     */
-    private function getArgumentsAsPhp(\DOMElement $node, $name, $lowercase = true)
-    {
-        $arguments = array();
-        foreach ($this->getChildren($node, $name) as $arg) {
-            if ($arg->hasAttribute('name')) {
-                $arg->setAttribute('key', $arg->getAttribute('name'));
-            }
-
-            if (!$arg->hasAttribute('key')) {
-                $key = !$arguments ? 0 : max(array_keys($arguments)) + 1;
-            } else {
-                $key = $arg->getAttribute('key');
-            }
-
-            // parameter keys are case insensitive
-            if ('parameter' == $name && $lowercase) {
-                $key = strtolower($key);
-            }
-
-            // this is used by DefinitionDecorator to overwrite a specific
-            // argument of the parent definition
-            if ($arg->hasAttribute('index')) {
-                $key = 'index_'.$arg->getAttribute('index');
-            }
-
-            switch ($arg->getAttribute('type')) {
-                case 'service':
-                    $onInvalid = $arg->getAttribute('on-invalid');
-                    $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE;
-                    if ('ignore' == $onInvalid) {
-                        $invalidBehavior = ContainerInterface::IGNORE_ON_INVALID_REFERENCE;
-                    } elseif ('null' == $onInvalid) {
-                        $invalidBehavior = ContainerInterface::NULL_ON_INVALID_REFERENCE;
-                    }
-
-                    if ($strict = $arg->getAttribute('strict')) {
-                        $strict = XmlUtils::phpize($strict);
-                    } else {
-                        $strict = true;
-                    }
-
-                    $arguments[$key] = new Reference($arg->getAttribute('id'), $invalidBehavior, $strict);
-                    break;
-                case 'expression':
-                    $arguments[$key] = new Expression($arg->nodeValue);
-                    break;
-                case 'collection':
-                    $arguments[$key] = $this->getArgumentsAsPhp($arg, $name, false);
-                    break;
-                case 'string':
-                    $arguments[$key] = $arg->nodeValue;
-                    break;
-                case 'constant':
-                    $arguments[$key] = constant($arg->nodeValue);
-                    break;
-                default:
-                    $arguments[$key] = XmlUtils::phpize($arg->nodeValue);
-            }
-        }
-
-        return $arguments;
-    }
-
-    /**
-     * Get child elements by name
-     *
-     * @param \DOMNode $node
-     * @param mixed    $name
-     *
-     * @return array
-     */
-    private function getChildren(\DOMNode $node, $name)
-    {
-        $children = array();
-        foreach ($node->childNodes as $child) {
-            if ($child instanceof \DOMElement && $child->localName === $name && $child->namespaceURI === self::NS) {
-                $children[] = $child;
-            }
-        }
-
-        return $children;
-    }
-
-    /**
-     * Validates a documents XML schema.
-     *
-     * @param \DOMDocument $dom
-     *
-     * @return bool
-     *
-     * @throws RuntimeException When extension references a non-existent XSD file
-     */
-    public function validateSchema(\DOMDocument $dom)
-    {
-        $schemaLocations = array('http://symfony.com/schema/dic/services' => str_replace('\\', '/', __DIR__.'/schema/dic/services/services-1.0.xsd'));
-
-        if ($element = $dom->documentElement->getAttributeNS('http://www.w3.org/2001/XMLSchema-instance', 'schemaLocation')) {
-            $items = preg_split('/\s+/', $element);
-            for ($i = 0, $nb = count($items); $i < $nb; $i += 2) {
-                if (!$this->container->hasExtension($items[$i])) {
-                    continue;
-                }
-
-                if (($extension = $this->container->getExtension($items[$i])) && false !== $extension->getXsdValidationBasePath()) {
-                    $path = str_replace($extension->getNamespace(), str_replace('\\', '/', $extension->getXsdValidationBasePath()).'/', $items[$i + 1]);
-
-                    if (!is_file($path)) {
-                        throw new RuntimeException(sprintf('Extension "%s" references a non-existent XSD file "%s"', get_class($extension), $path));
-                    }
-
-                    $schemaLocations[$items[$i]] = $path;
-                }
-            }
-        }
-
-        $tmpfiles = array();
-        $imports = '';
-        foreach ($schemaLocations as $namespace => $location) {
-            $parts = explode('/', $location);
-            if (0 === stripos($location, 'phar://')) {
-                $tmpfile = tempnam(sys_get_temp_dir(), 'sf2');
-                if ($tmpfile) {
-                    copy($location, $tmpfile);
-                    $tmpfiles[] = $tmpfile;
-                    $parts = explode('/', str_replace('\\', '/', $tmpfile));
-                }
-            }
-            $drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
-            $location = 'file:///'.$drive.implode('/', array_map('rawurlencode', $parts));
-
-            $imports .= sprintf('  <xsd:import namespace="%s" schemaLocation="%s" />'."\n", $namespace, $location);
-        }
-
-        $source = <<<EOF
-<?xml version="1.0" encoding="utf-8" ?>
-<xsd:schema xmlns="http://symfony.com/schema"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://symfony.com/schema"
-    elementFormDefault="qualified">
-
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
-$imports
-</xsd:schema>
-EOF
-        ;
-
-        $valid = @$dom->schemaValidateSource($source);
-
-        foreach ($tmpfiles as $tmpfile) {
-            @unlink($tmpfile);
-        }
-
-        return $valid;
-    }
-
-    /**
-     * Validates an extension.
-     *
-     * @param \DOMDocument $dom
-     * @param string       $file
-     *
-     * @throws InvalidArgumentException When no extension is found corresponding to a tag
-     */
-    private function validateExtensions(\DOMDocument $dom, $file)
-    {
-        foreach ($dom->documentElement->childNodes as $node) {
-            if (!$node instanceof \DOMElement || 'http://symfony.com/schema/dic/services' === $node->namespaceURI) {
-                continue;
-            }
-
-            // can it be handled by an extension?
-            if (!$this->container->hasExtension($node->namespaceURI)) {
-                $extensionNamespaces = array_filter(array_map(function ($ext) { return $ext->getNamespace(); }, $this->container->getExtensions()));
-                throw new InvalidArgumentException(sprintf(
-                    'There is no extension able to load the configuration for "%s" (in %s). Looked for namespace "%s", found %s',
-                    $node->tagName,
-                    $file,
-                    $node->namespaceURI,
-                    $extensionNamespaces ? sprintf('"%s"', implode('", "', $extensionNamespaces)) : 'none'
-                ));
-            }
-        }
-    }
-
-    /**
-     * Loads from an extension.
-     *
-     * @param \DOMDocument $xml
-     */
-    private function loadFromExtensions(\DOMDocument $xml)
-    {
-        foreach ($xml->documentElement->childNodes as $node) {
-            if (!$node instanceof \DOMElement || $node->namespaceURI === self::NS) {
-                continue;
-            }
-
-            $values = static::convertDomElementToArray($node);
-            if (!is_array($values)) {
-                $values = array();
-            }
-
-            $this->container->loadFromExtension($node->namespaceURI, $values);
-        }
-    }
-
-    /**
-     * Converts a \DomElement object to a PHP array.
-     *
-     * The following rules applies during the conversion:
-     *
-     *  * Each tag is converted to a key value or an array
-     *    if there is more than one "value"
-     *
-     *  * The content of a tag is set under a "value" key (<foo>bar</foo>)
-     *    if the tag also has some nested tags
-     *
-     *  * The attributes are converted to keys (<foo foo="bar"/>)
-     *
-     *  * The nested-tags are converted to keys (<foo><foo>bar</foo></foo>)
-     *
-     * @param \DomElement $element A \DomElement instance
-     *
-     * @return array A PHP array
-     */
-    public static function convertDomElementToArray(\DomElement $element)
-    {
-        return XmlUtils::convertDomElementToArray($element);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php
deleted file mode 100644
index 85f6ee6..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php
+++ /dev/null
@@ -1,405 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Loader;
-
-use Symfony\Component\DependencyInjection\DefinitionDecorator;
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Yaml\Parser as YamlParser;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-/**
- * YamlFileLoader loads YAML files service definitions.
- *
- * The YAML format does not support anonymous services (cf. the XML loader).
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class YamlFileLoader extends FileLoader
-{
-    private $yamlParser;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function load($resource, $type = null)
-    {
-        $path = $this->locator->locate($resource);
-
-        $content = $this->loadFile($path);
-
-        $this->container->addResource(new FileResource($path));
-
-        // empty file
-        if (null === $content) {
-            return;
-        }
-
-        // imports
-        $this->parseImports($content, $path);
-
-        // parameters
-        if (isset($content['parameters'])) {
-            if (!is_array($content['parameters'])) {
-                throw new InvalidArgumentException(sprintf('The "parameters" key should contain an array in %s. Check your YAML syntax.', $resource));
-            }
-
-            foreach ($content['parameters'] as $key => $value) {
-                $this->container->setParameter($key, $this->resolveServices($value));
-            }
-        }
-
-        // extensions
-        $this->loadFromExtensions($content);
-
-        // services
-        $this->parseDefinitions($content, $resource);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'yml' === pathinfo($resource, PATHINFO_EXTENSION);
-    }
-
-    /**
-     * Parses all imports.
-     *
-     * @param array  $content
-     * @param string $file
-     */
-    private function parseImports($content, $file)
-    {
-        if (!isset($content['imports'])) {
-            return;
-        }
-
-        if (!is_array($content['imports'])) {
-            throw new InvalidArgumentException(sprintf('The "imports" key should contain an array in %s. Check your YAML syntax.', $file));
-        }
-
-        foreach ($content['imports'] as $import) {
-            if (!is_array($import)) {
-                throw new InvalidArgumentException(sprintf('The values in the "imports" key should be arrays in %s. Check your YAML syntax.', $file));
-            }
-
-            $this->setCurrentDir(dirname($file));
-            $this->import($import['resource'], null, isset($import['ignore_errors']) ? (bool) $import['ignore_errors'] : false, $file);
-        }
-    }
-
-    /**
-     * Parses definitions.
-     *
-     * @param array  $content
-     * @param string $file
-     */
-    private function parseDefinitions($content, $file)
-    {
-        if (!isset($content['services'])) {
-            return;
-        }
-
-        if (!is_array($content['services'])) {
-            throw new InvalidArgumentException(sprintf('The "services" key should contain an array in %s. Check your YAML syntax.', $file));
-        }
-
-        foreach ($content['services'] as $id => $service) {
-            $this->parseDefinition($id, $service, $file);
-        }
-    }
-
-    /**
-     * Parses a definition.
-     *
-     * @param string $id
-     * @param array  $service
-     * @param string $file
-     *
-     * @throws InvalidArgumentException When tags are invalid
-     */
-    private function parseDefinition($id, $service, $file)
-    {
-        if (is_string($service) && 0 === strpos($service, '@')) {
-            $this->container->setAlias($id, substr($service, 1));
-
-            return;
-        }
-
-        if (!is_array($service)) {
-            throw new InvalidArgumentException(sprintf('A service definition must be an array or a string starting with "@" but %s found for service "%s" in %s. Check your YAML syntax.', gettype($service), $id, $file));
-        }
-
-        if (isset($service['alias'])) {
-            $public = !array_key_exists('public', $service) || (bool) $service['public'];
-            $this->container->setAlias($id, new Alias($service['alias'], $public));
-
-            return;
-        }
-
-        if (isset($service['parent'])) {
-            $definition = new DefinitionDecorator($service['parent']);
-        } else {
-            $definition = new Definition();
-        }
-
-        if (isset($service['class'])) {
-            $definition->setClass($service['class']);
-        }
-
-        if (isset($service['scope'])) {
-            $definition->setScope($service['scope']);
-        }
-
-        if (isset($service['synthetic'])) {
-            $definition->setSynthetic($service['synthetic']);
-        }
-
-        if (isset($service['synchronized'])) {
-            $definition->setSynchronized($service['synchronized']);
-        }
-
-        if (isset($service['lazy'])) {
-            $definition->setLazy($service['lazy']);
-        }
-
-        if (isset($service['public'])) {
-            $definition->setPublic($service['public']);
-        }
-
-        if (isset($service['abstract'])) {
-            $definition->setAbstract($service['abstract']);
-        }
-
-        if (isset($service['factory'])) {
-            if (is_string($service['factory'])) {
-                if (strpos($service['factory'], ':') !== false && strpos($service['factory'], '::') === false) {
-                    $parts = explode(':', $service['factory']);
-                    $definition->setFactory(array($this->resolveServices('@'.$parts[0]), $parts[1]));
-                } else {
-                    $definition->setFactory($service['factory']);
-                }
-            } else {
-                $definition->setFactory(array($this->resolveServices($service['factory'][0]), $service['factory'][1]));
-            }
-        }
-
-        if (isset($service['factory_class'])) {
-            $definition->setFactoryClass($service['factory_class']);
-        }
-
-        if (isset($service['factory_method'])) {
-            $definition->setFactoryMethod($service['factory_method']);
-        }
-
-        if (isset($service['factory_service'])) {
-            $definition->setFactoryService($service['factory_service']);
-        }
-
-        if (isset($service['file'])) {
-            $definition->setFile($service['file']);
-        }
-
-        if (isset($service['arguments'])) {
-            $definition->setArguments($this->resolveServices($service['arguments']));
-        }
-
-        if (isset($service['properties'])) {
-            $definition->setProperties($this->resolveServices($service['properties']));
-        }
-
-        if (isset($service['configurator'])) {
-            if (is_string($service['configurator'])) {
-                $definition->setConfigurator($service['configurator']);
-            } else {
-                $definition->setConfigurator(array($this->resolveServices($service['configurator'][0]), $service['configurator'][1]));
-            }
-        }
-
-        if (isset($service['calls'])) {
-            if (!is_array($service['calls'])) {
-                throw new InvalidArgumentException(sprintf('Parameter "calls" must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file));
-            }
-
-            foreach ($service['calls'] as $call) {
-                $args = isset($call[1]) ? $this->resolveServices($call[1]) : array();
-                $definition->addMethodCall($call[0], $args);
-            }
-        }
-
-        if (isset($service['tags'])) {
-            if (!is_array($service['tags'])) {
-                throw new InvalidArgumentException(sprintf('Parameter "tags" must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file));
-            }
-
-            foreach ($service['tags'] as $tag) {
-                if (!is_array($tag)) {
-                    throw new InvalidArgumentException(sprintf('A "tags" entry must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file));
-                }
-
-                if (!isset($tag['name'])) {
-                    throw new InvalidArgumentException(sprintf('A "tags" entry is missing a "name" key for service "%s" in %s.', $id, $file));
-                }
-
-                $name = $tag['name'];
-                unset($tag['name']);
-
-                foreach ($tag as $attribute => $value) {
-                    if (!is_scalar($value) && null !== $value) {
-                        throw new InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s" in %s. Check your YAML syntax.', $id, $name, $attribute, $file));
-                    }
-                }
-
-                $definition->addTag($name, $tag);
-            }
-        }
-
-        if (isset($service['decorates'])) {
-            $renameId = isset($service['decoration_inner_name']) ? $service['decoration_inner_name'] : null;
-            $definition->setDecoratedService($service['decorates'], $renameId);
-        }
-
-        $this->container->setDefinition($id, $definition);
-    }
-
-    /**
-     * Loads a YAML file.
-     *
-     * @param string $file
-     *
-     * @return array The file content
-     *
-     * @throws InvalidArgumentException when the given file is not a local file or when it does not exist
-     */
-    protected function loadFile($file)
-    {
-        if (!stream_is_local($file)) {
-            throw new InvalidArgumentException(sprintf('This is not a local file "%s".', $file));
-        }
-
-        if (!file_exists($file)) {
-            throw new InvalidArgumentException(sprintf('The service file "%s" is not valid.', $file));
-        }
-
-        if (null === $this->yamlParser) {
-            $this->yamlParser = new YamlParser();
-        }
-
-        return $this->validate($this->yamlParser->parse(file_get_contents($file)), $file);
-    }
-
-    /**
-     * Validates a YAML file.
-     *
-     * @param mixed  $content
-     * @param string $file
-     *
-     * @return array
-     *
-     * @throws InvalidArgumentException When service file is not valid
-     */
-    private function validate($content, $file)
-    {
-        if (null === $content) {
-            return $content;
-        }
-
-        if (!is_array($content)) {
-            throw new InvalidArgumentException(sprintf('The service file "%s" is not valid. It should contain an array. Check your YAML syntax.', $file));
-        }
-
-        foreach (array_keys($content) as $namespace) {
-            if (in_array($namespace, array('imports', 'parameters', 'services'))) {
-                continue;
-            }
-
-            if (!$this->container->hasExtension($namespace)) {
-                $extensionNamespaces = array_filter(array_map(function ($ext) { return $ext->getAlias(); }, $this->container->getExtensions()));
-                throw new InvalidArgumentException(sprintf(
-                    'There is no extension able to load the configuration for "%s" (in %s). Looked for namespace "%s", found %s',
-                    $namespace,
-                    $file,
-                    $namespace,
-                    $extensionNamespaces ? sprintf('"%s"', implode('", "', $extensionNamespaces)) : 'none'
-                ));
-            }
-        }
-
-        return $content;
-    }
-
-    /**
-     * Resolves services.
-     *
-     * @param string|array $value
-     *
-     * @return array|string|Reference
-     */
-    private function resolveServices($value)
-    {
-        if (is_array($value)) {
-            $value = array_map(array($this, 'resolveServices'), $value);
-        } elseif (is_string($value) &&  0 === strpos($value, '@=')) {
-            return new Expression(substr($value, 2));
-        } elseif (is_string($value) &&  0 === strpos($value, '@')) {
-            if (0 === strpos($value, '@@')) {
-                $value = substr($value, 1);
-                $invalidBehavior = null;
-            } elseif (0 === strpos($value, '@?')) {
-                $value = substr($value, 2);
-                $invalidBehavior = ContainerInterface::IGNORE_ON_INVALID_REFERENCE;
-            } else {
-                $value = substr($value, 1);
-                $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE;
-            }
-
-            if ('=' === substr($value, -1)) {
-                $value = substr($value, 0, -1);
-                $strict = false;
-            } else {
-                $strict = true;
-            }
-
-            if (null !== $invalidBehavior) {
-                $value = new Reference($value, $invalidBehavior, $strict);
-            }
-        }
-
-        return $value;
-    }
-
-    /**
-     * Loads from Extensions.
-     *
-     * @param array $content
-     */
-    private function loadFromExtensions($content)
-    {
-        foreach ($content as $namespace => $values) {
-            if (in_array($namespace, array('imports', 'parameters', 'services'))) {
-                continue;
-            }
-
-            if (!is_array($values)) {
-                $values = array();
-            }
-
-            $this->container->loadFromExtension($namespace, $values);
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd
deleted file mode 100644
index 966f4de..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://symfony.com/schema/dic/services"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://symfony.com/schema/dic/services"
-     elementFormDefault="qualified">
-
-  <xsd:annotation>
-    <xsd:documentation><![CDATA[
-      Symfony XML Services Schema, version 1.0
-      Authors: Fabien Potencier
-
-      This defines a way to describe PHP objects (services) and their
-      dependencies.
-    ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:element name="container" type="container" />
-
-  <xsd:complexType name="container">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        The root element of a service file.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="imports" type="imports" minOccurs="0" maxOccurs="1" />
-      <xsd:element name="parameters" type="parameters" minOccurs="0" maxOccurs="1" />
-      <xsd:element name="services" type="services" minOccurs="0" maxOccurs="1" />
-      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="services">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Enclosing element for the definition of all services
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice minOccurs="1" maxOccurs="unbounded">
-      <xsd:element name="service" type="service" />
-    </xsd:choice>
-  </xsd:complexType>
-
-  <xsd:complexType name="imports">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Enclosing element for the import elements
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice minOccurs="1" maxOccurs="unbounded">
-      <xsd:element name="import" type="import" />
-    </xsd:choice>
-  </xsd:complexType>
-
-  <xsd:complexType name="import">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Import an external resource defining other services or parameters
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="resource" type="xsd:string" use="required" />
-    <xsd:attribute name="ignore-errors" type="boolean" />
-  </xsd:complexType>
-
-  <xsd:complexType name="callable">
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="service" type="xsd:string" />
-    <xsd:attribute name="class" type="xsd:string" />
-    <xsd:attribute name="method" type="xsd:string" />
-    <xsd:attribute name="function" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="service">
-    <xsd:choice maxOccurs="unbounded">
-      <xsd:element name="file" type="xsd:string" minOccurs="0" maxOccurs="1" />
-      <xsd:element name="argument" type="argument" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="configurator" type="callable" minOccurs="0" maxOccurs="1" />
-      <xsd:element name="factory" type="callable" minOccurs="0" maxOccurs="1" />
-      <xsd:element name="call" type="call" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="tag" type="tag" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="property" type="property" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:choice>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="class" type="xsd:string" />
-    <xsd:attribute name="scope" type="xsd:string" />
-    <xsd:attribute name="public" type="boolean" />
-    <xsd:attribute name="synthetic" type="boolean" />
-    <xsd:attribute name="synchronized" type="boolean" />
-    <xsd:attribute name="lazy" type="boolean" />
-    <xsd:attribute name="abstract" type="boolean" />
-    <xsd:attribute name="factory-class" type="xsd:string" />
-    <xsd:attribute name="factory-method" type="xsd:string" />
-    <xsd:attribute name="factory-service" type="xsd:string" />
-    <xsd:attribute name="alias" type="xsd:string" />
-    <xsd:attribute name="parent" type="xsd:string" />
-    <xsd:attribute name="decorates" type="xsd:string" />
-    <xsd:attribute name="decoration-inner-name" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="tag">
-    <xsd:attribute name="name" type="xsd:string" />
-    <xsd:anyAttribute namespace="##any" processContents="lax" />
-  </xsd:complexType>
-
-  <xsd:complexType name="parameters">
-    <xsd:choice minOccurs="1" maxOccurs="unbounded">
-      <xsd:element name="parameter" type="parameter" />
-    </xsd:choice>
-    <xsd:attribute name="type" type="parameter_type" />
-    <xsd:attribute name="key" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="parameter" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="parameter" type="parameter" />
-    </xsd:choice>
-    <xsd:attribute name="type" type="parameter_type" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="key" type="xsd:string" />
-    <xsd:attribute name="on-invalid" type="invalid_sequence" />
-  </xsd:complexType>
-
-  <xsd:complexType name="property" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="1">
-      <xsd:element name="property" type="property" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="service" type="service" />
-    </xsd:choice>
-    <xsd:attribute name="type" type="argument_type" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="key" type="xsd:string" />
-    <xsd:attribute name="name" type="xsd:string" />
-    <xsd:attribute name="on-invalid" type="xsd:string" />
-    <xsd:attribute name="strict" type="boolean" />
-  </xsd:complexType>
-
-  <xsd:complexType name="argument" mixed="true">
-    <xsd:choice maxOccurs="unbounded">
-      <xsd:element name="argument" type="argument" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="service" type="service" />
-    </xsd:choice>
-    <xsd:attribute name="type" type="argument_type" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="key" type="xsd:string" />
-    <xsd:attribute name="index" type="xsd:integer" />
-    <xsd:attribute name="on-invalid" type="xsd:string" />
-    <xsd:attribute name="strict" type="boolean" />
-  </xsd:complexType>
-
-  <xsd:complexType name="call" mixed="true">
-    <xsd:choice maxOccurs="unbounded">
-      <xsd:element name="argument" type="argument" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="service" type="service" />
-    </xsd:choice>
-    <xsd:attribute name="method" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:simpleType name="parameter_type">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="collection" />
-      <xsd:enumeration value="string" />
-      <xsd:enumeration value="constant" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="argument_type">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="collection" />
-      <xsd:enumeration value="service" />
-      <xsd:enumeration value="expression" />
-      <xsd:enumeration value="string" />
-      <xsd:enumeration value="constant" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="invalid_sequence">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="null" />
-      <xsd:enumeration value="ignore" />
-      <xsd:enumeration value="exception" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="boolean">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="(%.+%|true|false)" />
-    </xsd:restriction>
-  </xsd:simpleType>
-</xsd:schema>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Parameter.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Parameter.php
deleted file mode 100644
index 7ba8c3a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Parameter.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * Parameter represents a parameter reference.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class Parameter
-{
-    private $id;
-
-    /**
-     * Constructor.
-     *
-     * @param string $id The parameter key
-     */
-    public function __construct($id)
-    {
-        $this->id = $id;
-    }
-
-    /**
-     * __toString.
-     *
-     * @return string The parameter key
-     */
-    public function __toString()
-    {
-        return (string) $this->id;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/FrozenParameterBag.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/FrozenParameterBag.php
deleted file mode 100644
index dc936a0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/FrozenParameterBag.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\ParameterBag;
-
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-
-/**
- * Holds read-only parameters.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class FrozenParameterBag extends ParameterBag
-{
-    /**
-     * Constructor.
-     *
-     * For performance reasons, the constructor assumes that
-     * all keys are already lowercased.
-     *
-     * This is always the case when used internally.
-     *
-     * @param array $parameters An array of parameters
-     *
-     * @api
-     */
-    public function __construct(array $parameters = array())
-    {
-        $this->parameters = $parameters;
-        $this->resolved = true;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function clear()
-    {
-        throw new LogicException('Impossible to call clear() on a frozen ParameterBag.');
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function add(array $parameters)
-    {
-        throw new LogicException('Impossible to call add() on a frozen ParameterBag.');
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function set($name, $value)
-    {
-        throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php
deleted file mode 100644
index 5934793..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php
+++ /dev/null
@@ -1,304 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\ParameterBag;
-
-use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
-use Symfony\Component\DependencyInjection\Exception\ParameterCircularReferenceException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-
-/**
- * Holds parameters.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class ParameterBag implements ParameterBagInterface
-{
-    protected $parameters = array();
-    protected $resolved = false;
-
-    /**
-     * Constructor.
-     *
-     * @param array $parameters An array of parameters
-     *
-     * @api
-     */
-    public function __construct(array $parameters = array())
-    {
-        $this->add($parameters);
-    }
-
-    /**
-     * Clears all parameters.
-     *
-     * @api
-     */
-    public function clear()
-    {
-        $this->parameters = array();
-    }
-
-    /**
-     * Adds parameters to the service container parameters.
-     *
-     * @param array $parameters An array of parameters
-     *
-     * @api
-     */
-    public function add(array $parameters)
-    {
-        foreach ($parameters as $key => $value) {
-            $this->parameters[strtolower($key)] = $value;
-        }
-    }
-
-    /**
-     * Gets the service container parameters.
-     *
-     * @return array An array of parameters
-     *
-     * @api
-     */
-    public function all()
-    {
-        return $this->parameters;
-    }
-
-    /**
-     * Gets a service container parameter.
-     *
-     * @param string $name The parameter name
-     *
-     * @return mixed The parameter value
-     *
-     * @throws ParameterNotFoundException if the parameter is not defined
-     *
-     * @api
-     */
-    public function get($name)
-    {
-        $name = strtolower($name);
-
-        if (!array_key_exists($name, $this->parameters)) {
-            if (!$name) {
-                throw new ParameterNotFoundException($name);
-            }
-
-            $alternatives = array();
-            foreach (array_keys($this->parameters) as $key) {
-                $lev = levenshtein($name, $key);
-                if ($lev <= strlen($name) / 3 || false !== strpos($key, $name)) {
-                    $alternatives[] = $key;
-                }
-            }
-
-            throw new ParameterNotFoundException($name, null, null, null, $alternatives);
-        }
-
-        return $this->parameters[$name];
-    }
-
-    /**
-     * Sets a service container parameter.
-     *
-     * @param string $name  The parameter name
-     * @param mixed  $value The parameter value
-     *
-     * @api
-     */
-    public function set($name, $value)
-    {
-        $this->parameters[strtolower($name)] = $value;
-    }
-
-    /**
-     * Returns true if a parameter name is defined.
-     *
-     * @param string $name The parameter name
-     *
-     * @return bool true if the parameter name is defined, false otherwise
-     *
-     * @api
-     */
-    public function has($name)
-    {
-        return array_key_exists(strtolower($name), $this->parameters);
-    }
-
-    /**
-     * Removes a parameter.
-     *
-     * @param string $name The parameter name
-     *
-     * @api
-     */
-    public function remove($name)
-    {
-        unset($this->parameters[strtolower($name)]);
-    }
-
-    /**
-     * Replaces parameter placeholders (%name%) by their values for all parameters.
-     */
-    public function resolve()
-    {
-        if ($this->resolved) {
-            return;
-        }
-
-        $parameters = array();
-        foreach ($this->parameters as $key => $value) {
-            try {
-                $value = $this->resolveValue($value);
-                $parameters[$key] = $this->unescapeValue($value);
-            } catch (ParameterNotFoundException $e) {
-                $e->setSourceKey($key);
-
-                throw $e;
-            }
-        }
-
-        $this->parameters = $parameters;
-        $this->resolved = true;
-    }
-
-    /**
-     * Replaces parameter placeholders (%name%) by their values.
-     *
-     * @param mixed $value     A value
-     * @param array $resolving An array of keys that are being resolved (used internally to detect circular references)
-     *
-     * @return mixed The resolved value
-     *
-     * @throws ParameterNotFoundException          if a placeholder references a parameter that does not exist
-     * @throws ParameterCircularReferenceException if a circular reference if detected
-     * @throws RuntimeException                    when a given parameter has a type problem.
-     */
-    public function resolveValue($value, array $resolving = array())
-    {
-        if (is_array($value)) {
-            $args = array();
-            foreach ($value as $k => $v) {
-                $args[$this->resolveValue($k, $resolving)] = $this->resolveValue($v, $resolving);
-            }
-
-            return $args;
-        }
-
-        if (!is_string($value)) {
-            return $value;
-        }
-
-        return $this->resolveString($value, $resolving);
-    }
-
-    /**
-     * Resolves parameters inside a string.
-     *
-     * @param string $value     The string to resolve
-     * @param array  $resolving An array of keys that are being resolved (used internally to detect circular references)
-     *
-     * @return string The resolved string
-     *
-     * @throws ParameterNotFoundException          if a placeholder references a parameter that does not exist
-     * @throws ParameterCircularReferenceException if a circular reference if detected
-     * @throws RuntimeException                    when a given parameter has a type problem.
-     */
-    public function resolveString($value, array $resolving = array())
-    {
-        // we do this to deal with non string values (Boolean, integer, ...)
-        // as the preg_replace_callback throw an exception when trying
-        // a non-string in a parameter value
-        if (preg_match('/^%([^%\s]+)%$/', $value, $match)) {
-            $key = strtolower($match[1]);
-
-            if (isset($resolving[$key])) {
-                throw new ParameterCircularReferenceException(array_keys($resolving));
-            }
-
-            $resolving[$key] = true;
-
-            return $this->resolved ? $this->get($key) : $this->resolveValue($this->get($key), $resolving);
-        }
-
-        $self = $this;
-
-        return preg_replace_callback('/%%|%([^%\s]+)%/', function ($match) use ($self, $resolving, $value) {
-            // skip %%
-            if (!isset($match[1])) {
-                return '%%';
-            }
-
-            $key = strtolower($match[1]);
-            if (isset($resolving[$key])) {
-                throw new ParameterCircularReferenceException(array_keys($resolving));
-            }
-
-            $resolved = $self->get($key);
-
-            if (!is_string($resolved) && !is_numeric($resolved)) {
-                throw new RuntimeException(sprintf('A string value must be composed of strings and/or numbers, but found parameter "%s" of type %s inside string value "%s".', $key, gettype($resolved), $value));
-            }
-
-            $resolved = (string) $resolved;
-            $resolving[$key] = true;
-
-            return $self->isResolved() ? $resolved : $self->resolveString($resolved, $resolving);
-        }, $value);
-    }
-
-    public function isResolved()
-    {
-        return $this->resolved;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function escapeValue($value)
-    {
-        if (is_string($value)) {
-            return str_replace('%', '%%', $value);
-        }
-
-        if (is_array($value)) {
-            $result = array();
-            foreach ($value as $k => $v) {
-                $result[$k] = $this->escapeValue($v);
-            }
-
-            return $result;
-        }
-
-        return $value;
-    }
-
-    public function unescapeValue($value)
-    {
-        if (is_string($value)) {
-            return str_replace('%%', '%', $value);
-        }
-
-        if (is_array($value)) {
-            $result = array();
-            foreach ($value as $k => $v) {
-                $result[$k] = $this->unescapeValue($v);
-            }
-
-            return $result;
-        }
-
-        return $value;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBagInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBagInterface.php
deleted file mode 100644
index 9600354..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBagInterface.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\ParameterBag;
-
-use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
-
-/**
- * ParameterBagInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface ParameterBagInterface
-{
-    /**
-     * Clears all parameters.
-     *
-     * @api
-     */
-    public function clear();
-
-    /**
-     * Adds parameters to the service container parameters.
-     *
-     * @param array $parameters An array of parameters
-     *
-     * @api
-     */
-    public function add(array $parameters);
-
-    /**
-     * Gets the service container parameters.
-     *
-     * @return array An array of parameters
-     *
-     * @api
-     */
-    public function all();
-
-    /**
-     * Gets a service container parameter.
-     *
-     * @param string $name The parameter name
-     *
-     * @return mixed The parameter value
-     *
-     * @throws ParameterNotFoundException if the parameter is not defined
-     *
-     * @api
-     */
-    public function get($name);
-
-    /**
-     * Sets a service container parameter.
-     *
-     * @param string $name  The parameter name
-     * @param mixed  $value The parameter value
-     *
-     * @api
-     */
-    public function set($name, $value);
-
-    /**
-     * Returns true if a parameter name is defined.
-     *
-     * @param string $name The parameter name
-     *
-     * @return bool true if the parameter name is defined, false otherwise
-     *
-     * @api
-     */
-    public function has($name);
-
-    /**
-     * Replaces parameter placeholders (%name%) by their values for all parameters.
-     */
-    public function resolve();
-
-    /**
-     * Replaces parameter placeholders (%name%) by their values.
-     *
-     * @param mixed $value A value
-     *
-     * @throws ParameterNotFoundException if a placeholder references a parameter that does not exist
-     */
-    public function resolveValue($value);
-
-    /**
-     * Escape parameter placeholders %.
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public function escapeValue($value);
-
-    /**
-     * Unescape parameter placeholders %.
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public function unescapeValue($value);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/README.md b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/README.md
deleted file mode 100644
index 19a1142..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/README.md
+++ /dev/null
@@ -1,80 +0,0 @@
-DependencyInjection Component
-=============================
-
-DependencyInjection manages your services via a robust and flexible Dependency
-Injection Container.
-
-Here is a simple example that shows how to register services and parameters:
-
-```php
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-
-$sc = new ContainerBuilder();
-$sc
-    ->register('foo', '%foo.class%')
-    ->addArgument(new Reference('bar'))
-;
-$sc->setParameter('foo.class', 'Foo');
-
-$sc->get('foo');
-```
-
-Method Calls (Setter Injection):
-
-```php
-$sc = new ContainerBuilder();
-
-$sc
-    ->register('bar', '%bar.class%')
-    ->addMethodCall('setFoo', array(new Reference('foo')))
-;
-$sc->setParameter('bar.class', 'Bar');
-
-$sc->get('bar');
-```
-
-Factory Class:
-
-If your service is retrieved by calling a static method:
-
-```php
-$sc = new ContainerBuilder();
-
-$sc
-    ->register('bar', '%bar.class%')
-    ->setFactory(array('%bar.class%', 'getInstance'))
-    ->addArgument('Aarrg!!!')
-;
-$sc->setParameter('bar.class', 'Bar');
-
-$sc->get('bar');
-```
-
-File Include:
-
-For some services, especially those that are difficult or impossible to
-autoload, you may need the container to include a file before
-instantiating your class.
-
-```php
-$sc = new ContainerBuilder();
-
-$sc
-    ->register('bar', '%bar.class%')
-    ->setFile('/path/to/file')
-    ->addArgument('Aarrg!!!')
-;
-$sc->setParameter('bar.class', 'Bar');
-
-$sc->get('bar');
-```
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/DependencyInjection/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Reference.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Reference.php
deleted file mode 100644
index 8808488..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Reference.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * Reference represents a service reference.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class Reference
-{
-    private $id;
-    private $invalidBehavior;
-    private $strict;
-
-    /**
-     * Constructor.
-     *
-     * @param string $id              The service identifier
-     * @param int    $invalidBehavior The behavior when the service does not exist
-     * @param bool   $strict          Sets how this reference is validated
-     *
-     * @see Container
-     */
-    public function __construct($id, $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $strict = true)
-    {
-        $this->id = strtolower($id);
-        $this->invalidBehavior = $invalidBehavior;
-        $this->strict = $strict;
-    }
-
-    /**
-     * __toString.
-     *
-     * @return string The service identifier
-     */
-    public function __toString()
-    {
-        return $this->id;
-    }
-
-    /**
-     * Returns the behavior to be used when the service does not exist.
-     *
-     * @return int
-     */
-    public function getInvalidBehavior()
-    {
-        return $this->invalidBehavior;
-    }
-
-    /**
-     * Returns true when this Reference is strict.
-     *
-     * @return bool
-     */
-    public function isStrict()
-    {
-        return $this->strict;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Scope.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Scope.php
deleted file mode 100644
index 161229e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Scope.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * Scope class.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-class Scope implements ScopeInterface
-{
-    private $name;
-    private $parentName;
-
-    /**
-     * @api
-     */
-    public function __construct($name, $parentName = ContainerInterface::SCOPE_CONTAINER)
-    {
-        $this->name = $name;
-        $this->parentName = $parentName;
-    }
-
-    /**
-     * @api
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * @api
-     */
-    public function getParentName()
-    {
-        return $this->parentName;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ScopeInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ScopeInterface.php
deleted file mode 100644
index 81ac67c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ScopeInterface.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * Scope Interface.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-interface ScopeInterface
-{
-    /**
-     * @api
-     */
-    public function getName();
-
-    /**
-     * @api
-     */
-    public function getParentName();
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/SimpleXMLElement.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/SimpleXMLElement.php
deleted file mode 100644
index 2e20b6c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/SimpleXMLElement.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-use Symfony\Component\Config\Util\XmlUtils;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-/**
- * SimpleXMLElement class.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in 3.0.
- */
-class SimpleXMLElement extends \SimpleXMLElement
-{
-    /**
-     * Converts an attribute as a PHP type.
-     *
-     * @param string $name
-     *
-     * @return mixed
-     */
-    public function getAttributeAsPhp($name)
-    {
-        return self::phpize($this[$name]);
-    }
-
-    /**
-     * Returns arguments as valid PHP types.
-     *
-     * @param string $name
-     * @param bool   $lowercase
-     *
-     * @return mixed
-     */
-    public function getArgumentsAsPhp($name, $lowercase = true)
-    {
-        $arguments = array();
-        foreach ($this->$name as $arg) {
-            if (isset($arg['name'])) {
-                $arg['key'] = (string) $arg['name'];
-            }
-            $key = isset($arg['key']) ? (string) $arg['key'] : (!$arguments ? 0 : max(array_keys($arguments)) + 1);
-
-            // parameter keys are case insensitive
-            if ('parameter' == $name && $lowercase) {
-                $key = strtolower($key);
-            }
-
-            // this is used by DefinitionDecorator to overwrite a specific
-            // argument of the parent definition
-            if (isset($arg['index'])) {
-                $key = 'index_'.$arg['index'];
-            }
-
-            switch ($arg['type']) {
-                case 'service':
-                    $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE;
-                    if (isset($arg['on-invalid']) && 'ignore' == $arg['on-invalid']) {
-                        $invalidBehavior = ContainerInterface::IGNORE_ON_INVALID_REFERENCE;
-                    } elseif (isset($arg['on-invalid']) && 'null' == $arg['on-invalid']) {
-                        $invalidBehavior = ContainerInterface::NULL_ON_INVALID_REFERENCE;
-                    }
-
-                    if (isset($arg['strict'])) {
-                        $strict = self::phpize($arg['strict']);
-                    } else {
-                        $strict = true;
-                    }
-
-                    $arguments[$key] = new Reference((string) $arg['id'], $invalidBehavior, $strict);
-                    break;
-                case 'expression':
-                    $arguments[$key] = new Expression((string) $arg);
-                    break;
-                case 'collection':
-                    $arguments[$key] = $arg->getArgumentsAsPhp($name, false);
-                    break;
-                case 'string':
-                    $arguments[$key] = (string) $arg;
-                    break;
-                case 'constant':
-                    $arguments[$key] = constant((string) $arg);
-                    break;
-                default:
-                    $arguments[$key] = self::phpize($arg);
-            }
-        }
-
-        return $arguments;
-    }
-
-    /**
-     * Converts an xml value to a PHP type.
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public static function phpize($value)
-    {
-        return XmlUtils::phpize($value);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/TaggedContainerInterface.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/TaggedContainerInterface.php
deleted file mode 100644
index 3b48817..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/TaggedContainerInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * TaggedContainerInterface is the interface implemented when a container knows how to deals with tags.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface TaggedContainerInterface extends ContainerInterface
-{
-    /**
-     * Returns service ids for a given tag.
-     *
-     * @param string $name The tag name
-     *
-     * @return array An array of tags
-     *
-     * @api
-     */
-    public function findTaggedServiceIds($name);
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
deleted file mode 100644
index 04fe7c2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\RepeatedPass;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class AnalyzeServiceReferencesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-
-        $a = $container
-            ->register('a')
-            ->addArgument($ref1 = new Reference('b'))
-        ;
-
-        $b = $container
-            ->register('b')
-            ->addMethodCall('setA', array($ref2 = new Reference('a')))
-        ;
-
-        $c = $container
-            ->register('c')
-            ->addArgument($ref3 = new Reference('a'))
-            ->addArgument($ref4 = new Reference('b'))
-        ;
-
-        $d = $container
-            ->register('d')
-            ->setProperty('foo', $ref5 = new Reference('b'))
-        ;
-
-        $e = $container
-            ->register('e')
-            ->setConfigurator(array($ref6 = new Reference('b'), 'methodName'))
-        ;
-
-        $graph = $this->process($container);
-
-        $this->assertCount(4, $edges = $graph->getNode('b')->getInEdges());
-
-        $this->assertSame($ref1, $edges[0]->getValue());
-        $this->assertSame($ref4, $edges[1]->getValue());
-        $this->assertSame($ref5, $edges[2]->getValue());
-        $this->assertSame($ref6, $edges[3]->getValue());
-    }
-
-    public function testProcessDetectsReferencesFromInlinedDefinitions()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a')
-        ;
-
-        $container
-            ->register('b')
-            ->addArgument(new Definition(null, array($ref = new Reference('a'))))
-        ;
-
-        $graph = $this->process($container);
-
-        $this->assertCount(1, $refs = $graph->getNode('a')->getInEdges());
-        $this->assertSame($ref, $refs[0]->getValue());
-    }
-
-    public function testProcessDetectsReferencesFromInlinedFactoryDefinitions()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a')
-        ;
-
-        $factory = new Definition();
-        $factory->setFactory(array(new Reference('a'), 'a'));
-
-        $container
-            ->register('b')
-            ->addArgument($factory)
-        ;
-
-        $graph = $this->process($container);
-
-        $this->assertTrue($graph->hasNode('a'));
-        $this->assertCount(1, $refs = $graph->getNode('a')->getInEdges());
-    }
-
-    public function testProcessDoesNotSaveDuplicateReferences()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a')
-        ;
-        $container
-            ->register('b')
-            ->addArgument(new Definition(null, array($ref1 = new Reference('a'))))
-            ->addArgument(new Definition(null, array($ref2 = new Reference('a'))))
-        ;
-
-        $graph = $this->process($container);
-
-        $this->assertCount(2, $graph->getNode('a')->getInEdges());
-    }
-
-    public function testProcessDetectsFactoryReferences()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('foo', 'stdClass')
-            ->setFactory(array('stdClass', 'getInstance'));
-
-        $container
-            ->register('bar', 'stdClass')
-            ->setFactory(array(new Reference('foo'), 'getInstance'));
-
-        $graph = $this->process($container);
-
-        $this->assertTrue($graph->hasNode('foo'));
-        $this->assertCount(1, $graph->getNode('foo')->getInEdges());
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new RepeatedPass(array(new AnalyzeServiceReferencesPass()));
-        $pass->process($container);
-
-        return $container->getCompiler()->getServiceReferenceGraph();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php
deleted file mode 100644
index 55351e5..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Compiler\CheckCircularReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\Compiler;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckCircularReferencesPassTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->addArgument(new Reference('a'));
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testProcessWithAliases()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->setAlias('b', 'c');
-        $container->setAlias('c', 'a');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testProcessWithFactory()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a', 'stdClass')
-            ->setFactory(array(new Reference('b'), 'getInstance'));
-
-        $container
-            ->register('b', 'stdClass')
-            ->setFactory(array(new Reference('a'), 'getInstance'));
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testProcessDetectsIndirectCircularReference()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->addArgument(new Reference('c'));
-        $container->register('c')->addArgument(new Reference('a'));
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testProcessDetectsIndirectCircularReferenceWithFactory()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('a')->addArgument(new Reference('b'));
-
-        $container
-            ->register('b', 'stdClass')
-            ->setFactory(array(new Reference('c'), 'getInstance'));
-
-        $container->register('c')->addArgument(new Reference('a'));
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testDeepCircularReference()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->addArgument(new Reference('c'));
-        $container->register('c')->addArgument(new Reference('b'));
-
-        $this->process($container);
-    }
-
-    public function testProcessIgnoresMethodCalls()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->addMethodCall('setA', array(new Reference('a')));
-
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $compiler = new Compiler();
-        $passConfig = $compiler->getPassConfig();
-        $passConfig->setOptimizationPasses(array(
-            new AnalyzeServiceReferencesPass(true),
-            new CheckCircularReferencesPass(),
-        ));
-        $passConfig->setRemovingPasses(array());
-
-        $compiler->compile($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php
deleted file mode 100644
index ed04a8b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\CheckDefinitionValidityPass;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckDefinitionValidityPassTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
-     */
-    public function testProcessDetectsSyntheticNonPublicDefinitions()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->setSynthetic(true)->setPublic(false);
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
-     */
-    public function testProcessDetectsSyntheticPrototypeDefinitions()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->setSynthetic(true)->setScope(ContainerInterface::SCOPE_PROTOTYPE);
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
-     */
-    public function testProcessDetectsNonSyntheticNonAbstractDefinitionWithoutClass()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->setSynthetic(false)->setAbstract(false);
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
-     */
-    public function testProcessDetectsBothFactorySyntaxesUsed()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->setFactory(array('a', 'b'))->setFactoryClass('a');
-
-        $this->process($container);
-    }
-
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a', 'class');
-        $container->register('b', 'class')->setSynthetic(true)->setPublic(true);
-        $container->register('c', 'class')->setAbstract(true);
-        $container->register('d', 'class')->setSynthetic(true);
-
-        $this->process($container);
-    }
-
-    public function testValidTags()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a', 'class')->addTag('foo', array('bar' => 'baz'));
-        $container->register('b', 'class')->addTag('foo', array('bar' => null));
-        $container->register('c', 'class')->addTag('foo', array('bar' => 1));
-        $container->register('d', 'class')->addTag('foo', array('bar' => 1.1));
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
-     */
-    public function testInvalidTags()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a', 'class')->addTag('foo', array('bar' => array('baz' => 'baz')));
-
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new CheckDefinitionValidityPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php
deleted file mode 100644
index 18b605b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckExceptionOnInvalidReferenceBehaviorPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-        ;
-        $container->register('b', '\stdClass');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
-     */
-    public function testProcessThrowsExceptionOnInvalidReference()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-        ;
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
-     */
-    public function testProcessThrowsExceptionOnInvalidReferenceFromInlinedDefinition()
-    {
-        $container = new ContainerBuilder();
-
-        $def = new Definition();
-        $def->addArgument(new Reference('b'));
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument($def)
-        ;
-
-        $this->process($container);
-    }
-
-    private function process(ContainerBuilder $container)
-    {
-        $pass = new CheckExceptionOnInvalidReferenceBehaviorPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php
deleted file mode 100644
index cd4448a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Scope;
-use Symfony\Component\DependencyInjection\Compiler\CheckReferenceValidityPass;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckReferenceValidityPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcessIgnoresScopeWideningIfNonStrictReference()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false));
-        $container->register('b')->setScope('prototype');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsScopeWidening()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->setScope('prototype');
-
-        $this->process($container);
-    }
-
-    public function testProcessIgnoresCrossScopeHierarchyReferenceIfNotStrict()
-    {
-        $container = new ContainerBuilder();
-        $container->addScope(new Scope('a'));
-        $container->addScope(new Scope('b'));
-
-        $container->register('a')->setScope('a')->addArgument(new Reference('b', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false));
-        $container->register('b')->setScope('b');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsCrossScopeHierarchyReference()
-    {
-        $container = new ContainerBuilder();
-        $container->addScope(new Scope('a'));
-        $container->addScope(new Scope('b'));
-
-        $container->register('a')->setScope('a')->addArgument(new Reference('b'));
-        $container->register('b')->setScope('b');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsReferenceToAbstractDefinition()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('a')->setAbstract(true);
-        $container->register('b')->addArgument(new Reference('a'));
-
-        $this->process($container);
-    }
-
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b');
-
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new CheckReferenceValidityPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php
deleted file mode 100644
index e17961a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Compiler\DecoratorServicePass;
-
-class DecoratorServicePassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcessWithoutAlias()
-    {
-        $container = new ContainerBuilder();
-        $fooDefinition = $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $fooExtendedDefinition = $container
-            ->register('foo.extended')
-            ->setPublic(true)
-            ->setDecoratedService('foo')
-        ;
-        $barDefinition = $container
-            ->register('bar')
-            ->setPublic(true)
-        ;
-        $barExtendedDefinition = $container
-            ->register('bar.extended')
-            ->setPublic(true)
-            ->setDecoratedService('bar', 'bar.yoo')
-        ;
-
-        $this->process($container);
-
-        $this->assertEquals('foo.extended', $container->getAlias('foo'));
-        $this->assertFalse($container->getAlias('foo')->isPublic());
-
-        $this->assertEquals('bar.extended', $container->getAlias('bar'));
-        $this->assertTrue($container->getAlias('bar')->isPublic());
-
-        $this->assertSame($fooDefinition, $container->getDefinition('foo.extended.inner'));
-        $this->assertFalse($container->getDefinition('foo.extended.inner')->isPublic());
-
-        $this->assertSame($barDefinition, $container->getDefinition('bar.yoo'));
-        $this->assertFalse($container->getDefinition('bar.yoo')->isPublic());
-
-        $this->assertNull($fooExtendedDefinition->getDecoratedService());
-        $this->assertNull($barExtendedDefinition->getDecoratedService());
-    }
-
-    public function testProcessWithAlias()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(true)
-        ;
-        $container->setAlias('foo.alias', new Alias('foo', false));
-        $fooExtendedDefinition = $container
-            ->register('foo.extended')
-            ->setPublic(true)
-            ->setDecoratedService('foo.alias')
-        ;
-
-        $this->process($container);
-
-        $this->assertEquals('foo.extended', $container->getAlias('foo.alias'));
-        $this->assertFalse($container->getAlias('foo.alias')->isPublic());
-
-        $this->assertEquals('foo', $container->getAlias('foo.extended.inner'));
-        $this->assertFalse($container->getAlias('foo.extended.inner')->isPublic());
-
-        $this->assertNull($fooExtendedDefinition->getDecoratedService());
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $repeatedPass = new DecoratorServicePass();
-        $repeatedPass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
deleted file mode 100644
index baefa1d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
+++ /dev/null
@@ -1,279 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Scope;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\RepeatedPass;
-use Symfony\Component\DependencyInjection\Compiler\InlineServiceDefinitionsPass;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class InlineServiceDefinitionsPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('inlinable.service')
-            ->setPublic(false)
-        ;
-
-        $container
-            ->register('service')
-            ->setArguments(array(new Reference('inlinable.service')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $container->getDefinition('service')->getArguments();
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $arguments[0]);
-        $this->assertSame($container->getDefinition('inlinable.service'), $arguments[0]);
-    }
-
-    public function testProcessDoesNotInlineWhenAliasedServiceIsNotOfPrototypeScope()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container->setAlias('moo', 'foo');
-
-        $container
-            ->register('service')
-            ->setArguments(array($ref = new Reference('foo')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $container->getDefinition('service')->getArguments();
-        $this->assertSame($ref, $arguments[0]);
-    }
-
-    public function testProcessDoesInlineServiceOfPrototypeScope()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setScope('prototype')
-        ;
-        $container
-            ->register('bar')
-            ->setPublic(false)
-            ->setScope('prototype')
-        ;
-        $container->setAlias('moo', 'bar');
-
-        $container
-            ->register('service')
-            ->setArguments(array(new Reference('foo'), $ref = new Reference('moo'), new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $container->getDefinition('service')->getArguments();
-        $this->assertEquals($container->getDefinition('foo'), $arguments[0]);
-        $this->assertNotSame($container->getDefinition('foo'), $arguments[0]);
-        $this->assertSame($ref, $arguments[1]);
-        $this->assertEquals($container->getDefinition('bar'), $arguments[2]);
-        $this->assertNotSame($container->getDefinition('bar'), $arguments[2]);
-    }
-
-    public function testProcessInlinesIfMultipleReferencesButAllFromTheSameDefinition()
-    {
-        $container = new ContainerBuilder();
-
-        $a = $container->register('a')->setPublic(false);
-        $b = $container
-            ->register('b')
-            ->addArgument(new Reference('a'))
-            ->addArgument(new Definition(null, array(new Reference('a'))))
-        ;
-
-        $this->process($container);
-
-        $arguments = $b->getArguments();
-        $this->assertSame($a, $arguments[0]);
-
-        $inlinedArguments = $arguments[1]->getArguments();
-        $this->assertSame($a, $inlinedArguments[0]);
-    }
-
-    public function testProcessInlinesPrivateFactoryReference()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('a')->setPublic(false);
-        $b = $container
-            ->register('b')
-            ->setPublic(false)
-            ->setFactory(array(new Reference('a'), 'a'))
-        ;
-
-        $container
-            ->register('foo')
-            ->setArguments(array(
-                $ref = new Reference('b'),
-            ));
-
-        $this->process($container);
-
-        $inlinedArguments = $container->getDefinition('foo')->getArguments();
-        $this->assertSame($b, $inlinedArguments[0]);
-    }
-
-    public function testProcessDoesNotInlinePrivateFactoryIfReferencedMultipleTimesWithinTheSameDefinition()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('a')
-        ;
-        $container
-            ->register('b')
-            ->setPublic(false)
-            ->setFactory(array(new Reference('a'), 'a'))
-        ;
-
-        $container
-            ->register('foo')
-            ->setArguments(array(
-                    $ref1 = new Reference('b'),
-                    $ref2 = new Reference('b'),
-                ))
-        ;
-        $this->process($container);
-
-        $args = $container->getDefinition('foo')->getArguments();
-        $this->assertSame($ref1, $args[0]);
-        $this->assertSame($ref2, $args[1]);
-    }
-
-    public function testProcessDoesNotInlineReferenceWhenUsedByInlineFactory()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('a')
-        ;
-        $container
-            ->register('b')
-            ->setPublic(false)
-            ->setFactory(array(new Reference('a'), 'a'))
-        ;
-
-        $inlineFactory = new Definition();
-        $inlineFactory->setPublic(false);
-        $inlineFactory->setFactory(array(new Reference('b'), 'b'));
-
-        $container
-            ->register('foo')
-            ->setArguments(array(
-                    $ref = new Reference('b'),
-                    $inlineFactory,
-                ))
-        ;
-        $this->process($container);
-
-        $args = $container->getDefinition('foo')->getArguments();
-        $this->assertSame($ref, $args[0]);
-    }
-
-    public function testProcessInlinesOnlyIfSameScope()
-    {
-        $container = new ContainerBuilder();
-
-        $container->addScope(new Scope('foo'));
-        $a = $container->register('a')->setPublic(false)->setScope('foo');
-        $b = $container->register('b')->addArgument(new Reference('a'));
-
-        $this->process($container);
-        $arguments = $b->getArguments();
-        $this->assertEquals(new Reference('a'), $arguments[0]);
-        $this->assertTrue($container->hasDefinition('a'));
-    }
-
-    public function testProcessDoesNotInlineWhenServiceIsPrivateButLazy()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-            ->setLazy(true)
-        ;
-
-        $container
-            ->register('service')
-            ->setArguments(array($ref = new Reference('foo')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $container->getDefinition('service')->getArguments();
-        $this->assertSame($ref, $arguments[0]);
-    }
-
-    public function testProcessDoesNotInlineWhenServiceReferencesItself()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-            ->addMethodCall('foo', array($ref = new Reference('foo')))
-        ;
-
-        $this->process($container);
-
-        $calls = $container->getDefinition('foo')->getMethodCalls();
-        $this->assertSame($ref, $calls[0][1][0]);
-    }
-
-    public function testProcessDoesNotInlineFactories()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo.factory')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('foo')
-            ->setFactory(array(new Reference('foo.factory'), 'getFoo'))
-        ;
-        $this->process($container);
-
-        $factory = $container->getDefinition('foo')->getFactory();
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $factory[0]);
-    }
-
-    public function testProcessDoesNotInlineConfigurators()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo.configurator')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('foo')
-            ->setConfigurator(array(new Reference('foo.configurator'), 'getFoo'))
-        ;
-        $this->process($container);
-
-        $configurator = $container->getDefinition('foo')->getConfigurator();
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $configurator[0]);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $repeatedPass = new RepeatedPass(array(new AnalyzeServiceReferencesPass(), new InlineServiceDefinitionsPass()));
-        $repeatedPass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php
deleted file mode 100644
index c447940..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * This class tests the integration of the different compiler passes.
- */
-class IntegrationTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * This tests that dependencies are correctly processed.
-     *
-     * We're checking that:
-     *
-     *   * A is public, B/C are private
-     *   * A -> C
-     *   * B -> C
-     */
-    public function testProcessRemovesAndInlinesRecursively()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $a = $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('c'))
-        ;
-
-        $b = $container
-            ->register('b', '\stdClass')
-            ->addArgument(new Reference('c'))
-            ->setPublic(false)
-        ;
-
-        $c = $container
-            ->register('c', '\stdClass')
-            ->setPublic(false)
-        ;
-
-        $container->compile();
-
-        $this->assertTrue($container->hasDefinition('a'));
-        $arguments = $a->getArguments();
-        $this->assertSame($c, $arguments[0]);
-        $this->assertFalse($container->hasDefinition('b'));
-        $this->assertFalse($container->hasDefinition('c'));
-    }
-
-    public function testProcessInlinesReferencesToAliases()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $a = $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-        ;
-
-        $container->setAlias('b', new Alias('c', false));
-
-        $c = $container
-            ->register('c', '\stdClass')
-            ->setPublic(false)
-        ;
-
-        $container->compile();
-
-        $this->assertTrue($container->hasDefinition('a'));
-        $arguments = $a->getArguments();
-        $this->assertSame($c, $arguments[0]);
-        $this->assertFalse($container->hasAlias('b'));
-        $this->assertFalse($container->hasDefinition('c'));
-    }
-
-    public function testProcessInlinesWhenThereAreMultipleReferencesButFromTheSameDefinition()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-            ->addMethodCall('setC', array(new Reference('c')))
-        ;
-
-        $container
-            ->register('b', '\stdClass')
-            ->addArgument(new Reference('c'))
-            ->setPublic(false)
-        ;
-
-        $container
-            ->register('c', '\stdClass')
-            ->setPublic(false)
-        ;
-
-        $container->compile();
-
-        $this->assertTrue($container->hasDefinition('a'));
-        $this->assertFalse($container->hasDefinition('b'));
-        $this->assertFalse($container->hasDefinition('c'), 'Service C was not inlined.');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php
deleted file mode 100644
index 148a30b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\ResolveParameterPlaceHoldersPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * @group legacy
- */
-class LegacyResolveParameterPlaceHoldersPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testFactoryClassParametersShouldBeResolved()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $compilerPass = new ResolveParameterPlaceHoldersPass();
-
-        $container = new ContainerBuilder();
-        $container->setParameter('foo.factory.class', 'FooFactory');
-        $fooDefinition = $container->register('foo', '%foo.factory.class%');
-        $fooDefinition->setFactoryClass('%foo.factory.class%');
-        $compilerPass->process($container);
-        $fooDefinition = $container->getDefinition('foo');
-
-        $this->assertSame('FooFactory', $fooDefinition->getFactoryClass());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
deleted file mode 100644
index 1f91b37..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-class MergeExtensionConfigurationPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testExpressionLanguageProviderForwarding()
-    {
-        if (true !== class_exists('Symfony\\Component\\ExpressionLanguage\\ExpressionLanguage')) {
-            $this->markTestSkipped('The ExpressionLanguage component isn\'t available!');
-        }
-
-        $tmpProviders = array();
-
-        $extension = $this->getMock('Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface');
-        $extension->expects($this->any())
-            ->method('getXsdValidationBasePath')
-            ->will($this->returnValue(false));
-        $extension->expects($this->any())
-            ->method('getNamespace')
-            ->will($this->returnValue('http://example.org/schema/dic/foo'));
-        $extension->expects($this->any())
-            ->method('getAlias')
-            ->will($this->returnValue('foo'));
-        $extension->expects($this->once())
-            ->method('load')
-            ->will($this->returnCallback(function (array $config, ContainerBuilder $container) use (&$tmpProviders) {
-                $tmpProviders = $container->getExpressionLanguageProviders();
-            }));
-
-        $provider = $this->getMock('Symfony\\Component\\ExpressionLanguage\\ExpressionFunctionProviderInterface');
-        $container = new ContainerBuilder(new ParameterBag());
-        $container->registerExtension($extension);
-        $container->prependExtensionConfig('foo', array('bar' => true ));
-        $container->addExpressionLanguageProvider($provider);
-
-        $pass = new MergeExtensionConfigurationPass();
-        $pass->process($container);
-
-        $this->assertEquals(array($provider), $tmpProviders);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
deleted file mode 100644
index 82149eb..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\RepeatedPass;
-use Symfony\Component\DependencyInjection\Compiler\RemoveUnusedDefinitionsPass;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class RemoveUnusedDefinitionsPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('bar')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('moo')
-            ->setArguments(array(new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $this->assertFalse($container->hasDefinition('foo'));
-        $this->assertTrue($container->hasDefinition('bar'));
-        $this->assertTrue($container->hasDefinition('moo'));
-    }
-
-    public function testProcessRemovesUnusedDefinitionsRecursively()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('bar')
-            ->setArguments(array(new Reference('foo')))
-            ->setPublic(false)
-        ;
-
-        $this->process($container);
-
-        $this->assertFalse($container->hasDefinition('foo'));
-        $this->assertFalse($container->hasDefinition('bar'));
-    }
-
-    public function testProcessWorksWithInlinedDefinitions()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('bar')
-            ->setArguments(array(new Definition(null, array(new Reference('foo')))))
-        ;
-
-        $this->process($container);
-
-        $this->assertTrue($container->hasDefinition('foo'));
-        $this->assertTrue($container->hasDefinition('bar'));
-    }
-
-    public function testProcessWontRemovePrivateFactory()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('foo', 'stdClass')
-            ->setFactory(array('stdClass', 'getInstance'))
-            ->setPublic(false);
-
-        $container
-            ->register('bar', 'stdClass')
-            ->setFactory(array(new Reference('foo'), 'getInstance'))
-            ->setPublic(false);
-
-        $container
-            ->register('foobar')
-            ->addArgument(new Reference('bar'));
-
-        $this->process($container);
-
-        $this->assertTrue($container->hasDefinition('foo'));
-        $this->assertTrue($container->hasDefinition('bar'));
-        $this->assertTrue($container->hasDefinition('foobar'));
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $repeatedPass = new RepeatedPass(array(new AnalyzeServiceReferencesPass(), new RemoveUnusedDefinitionsPass()));
-        $repeatedPass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
deleted file mode 100644
index e4d2240..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\ReplaceAliasByActualDefinitionPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-class ReplaceAliasByActualDefinitionPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('a', '\stdClass');
-
-        $bDefinition = new Definition('\stdClass');
-        $bDefinition->setPublic(false);
-        $container->setDefinition('b', $bDefinition);
-
-        $container->setAlias('a_alias', 'a');
-        $container->setAlias('b_alias', 'b');
-
-        $this->process($container);
-
-        $this->assertTrue($container->has('a'), '->process() does nothing to public definitions.');
-        $this->assertTrue($container->hasAlias('a_alias'));
-        $this->assertFalse($container->has('b'), '->process() removes non-public definitions.');
-        $this->assertTrue(
-            $container->has('b_alias') && !$container->hasAlias('b_alias'),
-            '->process() replaces alias to actual.'
-        );
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testProcessWithInvalidAlias()
-    {
-        $container = new ContainerBuilder();
-        $container->setAlias('a_alias', 'a');
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ReplaceAliasByActualDefinitionPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
deleted file mode 100644
index fb2bb5f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
+++ /dev/null
@@ -1,181 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\DefinitionDecorator;
-use Symfony\Component\DependencyInjection\Compiler\ResolveDefinitionTemplatesPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class ResolveDefinitionTemplatesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('parent', 'foo')->setArguments(array('moo', 'b'))->setProperty('foo', 'moo');
-        $container->setDefinition('child', new DefinitionDecorator('parent'))
-            ->replaceArgument(0, 'a')
-            ->setProperty('foo', 'bar')
-            ->setClass('bar')
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertNotInstanceOf('Symfony\Component\DependencyInjection\DefinitionDecorator', $def);
-        $this->assertEquals('bar', $def->getClass());
-        $this->assertEquals(array('a', 'b'), $def->getArguments());
-        $this->assertEquals(array('foo' => 'bar'), $def->getProperties());
-    }
-
-    public function testProcessAppendsMethodCallsAlways()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->addMethodCall('foo', array('bar'))
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-            ->addMethodCall('bar', array('foo'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertEquals(array(
-            array('foo', array('bar')),
-            array('bar', array('foo')),
-        ), $def->getMethodCalls());
-    }
-
-    public function testProcessDoesNotCopyAbstract()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->setAbstract(true)
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertFalse($def->isAbstract());
-    }
-
-    public function testProcessDoesNotCopyScope()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->setScope('foo')
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertEquals(ContainerInterface::SCOPE_CONTAINER, $def->getScope());
-    }
-
-    public function testProcessDoesNotCopyTags()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->addTag('foo')
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertEquals(array(), $def->getTags());
-    }
-
-    public function testProcessHandlesMultipleInheritance()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent', 'foo')
-            ->setArguments(array('foo', 'bar', 'c'))
-        ;
-
-        $container
-            ->setDefinition('child2', new DefinitionDecorator('child1'))
-            ->replaceArgument(1, 'b')
-        ;
-
-        $container
-            ->setDefinition('child1', new DefinitionDecorator('parent'))
-            ->replaceArgument(0, 'a')
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child2');
-        $this->assertEquals(array('a', 'b', 'c'), $def->getArguments());
-        $this->assertEquals('foo', $def->getClass());
-    }
-
-    public function testSetLazyOnServiceHasParent()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('parent', 'stdClass');
-
-        $container->setDefinition('child1', new DefinitionDecorator('parent'))
-            ->setLazy(true)
-        ;
-
-        $this->process($container);
-
-        $this->assertTrue($container->getDefinition('child1')->isLazy());
-    }
-
-    public function testSetLazyOnServiceIsParent()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('parent', 'stdClass')
-            ->setLazy(true)
-        ;
-
-        $container->setDefinition('child1', new DefinitionDecorator('parent'));
-
-        $this->process($container);
-
-        $this->assertTrue($container->getDefinition('child1')->isLazy());
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ResolveDefinitionTemplatesPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php
deleted file mode 100644
index 7205886..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Compiler\ResolveInvalidReferencesPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class ResolveInvalidReferencesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $def = $container
-            ->register('foo')
-            ->setArguments(array(new Reference('bar', ContainerInterface::NULL_ON_INVALID_REFERENCE)))
-            ->addMethodCall('foo', array(new Reference('moo', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertNull($arguments[0]);
-        $this->assertCount(0, $def->getMethodCalls());
-    }
-
-    public function testProcessIgnoreNonExistentServices()
-    {
-        $container = new ContainerBuilder();
-        $def = $container
-            ->register('foo')
-            ->setArguments(array(new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertEquals('bar', (string) $arguments[0]);
-    }
-
-    public function testProcessRemovesPropertiesOnInvalid()
-    {
-        $container = new ContainerBuilder();
-        $def = $container
-            ->register('foo')
-            ->setProperty('foo', new Reference('bar', ContainerInterface::IGNORE_ON_INVALID_REFERENCE))
-        ;
-
-        $this->process($container);
-
-        $this->assertEquals(array(), $def->getProperties());
-    }
-
-    public function testStrictFlagIsPreserved()
-    {
-        $container = new ContainerBuilder();
-        $container->register('bar');
-        $def = $container
-            ->register('foo')
-            ->addArgument(new Reference('bar', ContainerInterface::NULL_ON_INVALID_REFERENCE, false))
-        ;
-
-        $this->process($container);
-
-        $this->assertFalse($def->getArgument(0)->isStrict());
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ResolveInvalidReferencesPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php
deleted file mode 100644
index 1f604c2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\ResolveParameterPlaceHoldersPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class ResolveParameterPlaceHoldersPassTest extends \PHPUnit_Framework_TestCase
-{
-    private $compilerPass;
-    private $container;
-    private $fooDefinition;
-
-    protected function setUp()
-    {
-        $this->compilerPass = new ResolveParameterPlaceHoldersPass();
-        $this->container = $this->createContainerBuilder();
-        $this->compilerPass->process($this->container);
-        $this->fooDefinition = $this->container->getDefinition('foo');
-    }
-
-    public function testClassParametersShouldBeResolved()
-    {
-        $this->assertSame('Foo', $this->fooDefinition->getClass());
-    }
-
-    public function testFactoryParametersShouldBeResolved()
-    {
-        $this->assertSame(array('FooFactory', 'getFoo'), $this->fooDefinition->getFactory());
-    }
-
-    public function testArgumentParametersShouldBeResolved()
-    {
-        $this->assertSame(array('bar', 'baz'), $this->fooDefinition->getArguments());
-    }
-
-    public function testMethodCallParametersShouldBeResolved()
-    {
-        $this->assertSame(array(array('foobar', array('bar', 'baz'))), $this->fooDefinition->getMethodCalls());
-    }
-
-    public function testPropertyParametersShouldBeResolved()
-    {
-        $this->assertSame(array('bar' => 'baz'), $this->fooDefinition->getProperties());
-    }
-
-    public function testFileParametersShouldBeResolved()
-    {
-        $this->assertSame('foo.php', $this->fooDefinition->getFile());
-    }
-
-    public function testAliasParametersShouldBeResolved()
-    {
-        $this->assertSame('foo', $this->container->getAlias('bar')->__toString());
-    }
-
-    private function createContainerBuilder()
-    {
-        $containerBuilder = new ContainerBuilder();
-
-        $containerBuilder->setParameter('foo.class', 'Foo');
-        $containerBuilder->setParameter('foo.factory.class', 'FooFactory');
-        $containerBuilder->setParameter('foo.arg1', 'bar');
-        $containerBuilder->setParameter('foo.arg2', 'baz');
-        $containerBuilder->setParameter('foo.method', 'foobar');
-        $containerBuilder->setParameter('foo.property.name', 'bar');
-        $containerBuilder->setParameter('foo.property.value', 'baz');
-        $containerBuilder->setParameter('foo.file', 'foo.php');
-        $containerBuilder->setParameter('alias.id', 'bar');
-
-        $fooDefinition = $containerBuilder->register('foo', '%foo.class%');
-        $fooDefinition->setFactory(array('%foo.factory.class%', 'getFoo'));
-        $fooDefinition->setArguments(array('%foo.arg1%', '%foo.arg2%'));
-        $fooDefinition->addMethodCall('%foo.method%', array('%foo.arg1%', '%foo.arg2%'));
-        $fooDefinition->setProperty('%foo.property.name%', '%foo.property.value%');
-        $fooDefinition->setFile('%foo.file%');
-
-        $containerBuilder->setAlias('%alias.id%', 'foo');
-
-        return $containerBuilder;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php
deleted file mode 100644
index 6fdc233..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Compiler\ResolveReferencesToAliasesPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class ResolveReferencesToAliasesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->setAlias('bar', 'foo');
-        $def = $container
-            ->register('moo')
-            ->setArguments(array(new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertEquals('foo', (string) $arguments[0]);
-    }
-
-    public function testProcessRecursively()
-    {
-        $container = new ContainerBuilder();
-        $container->setAlias('bar', 'foo');
-        $container->setAlias('moo', 'bar');
-        $def = $container
-            ->register('foobar')
-            ->setArguments(array(new Reference('moo')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertEquals('foo', (string) $arguments[0]);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testAliasCircularReference()
-    {
-        $container = new ContainerBuilder();
-        $container->setAlias('bar', 'foo');
-        $container->setAlias('foo', 'bar');
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ResolveReferencesToAliasesPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
deleted file mode 100644
index 51c59d2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
+++ /dev/null
@@ -1,837 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-require_once __DIR__.'/Fixtures/includes/classes.php';
-require_once __DIR__.'/Fixtures/includes/ProjectExtension.php';
-
-use Symfony\Component\Config\Resource\ResourceInterface;
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Loader\ClosureLoader;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Scope;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-class ContainerBuilderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setDefinitions
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getDefinitions
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setDefinition
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getDefinition
-     */
-    public function testDefinitions()
-    {
-        $builder = new ContainerBuilder();
-        $definitions = array(
-            'foo' => new Definition('Bar\FooClass'),
-            'bar' => new Definition('BarClass'),
-        );
-        $builder->setDefinitions($definitions);
-        $this->assertEquals($definitions, $builder->getDefinitions(), '->setDefinitions() sets the service definitions');
-        $this->assertTrue($builder->hasDefinition('foo'), '->hasDefinition() returns true if a service definition exists');
-        $this->assertFalse($builder->hasDefinition('foobar'), '->hasDefinition() returns false if a service definition does not exist');
-
-        $builder->setDefinition('foobar', $foo = new Definition('FooBarClass'));
-        $this->assertEquals($foo, $builder->getDefinition('foobar'), '->getDefinition() returns a service definition if defined');
-        $this->assertTrue($builder->setDefinition('foobar', $foo = new Definition('FooBarClass')) === $foo, '->setDefinition() implements a fluid interface by returning the service reference');
-
-        $builder->addDefinitions($defs = array('foobar' => new Definition('FooBarClass')));
-        $this->assertEquals(array_merge($definitions, $defs), $builder->getDefinitions(), '->addDefinitions() adds the service definitions');
-
-        try {
-            $builder->getDefinition('baz');
-            $this->fail('->getDefinition() throws an InvalidArgumentException if the service definition does not exist');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The service definition "baz" does not exist.', $e->getMessage(), '->getDefinition() throws an InvalidArgumentException if the service definition does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::register
-     */
-    public function testRegister()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'Bar\FooClass');
-        $this->assertTrue($builder->hasDefinition('foo'), '->register() registers a new service definition');
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $builder->getDefinition('foo'), '->register() returns the newly created Definition instance');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::has
-     */
-    public function testHas()
-    {
-        $builder = new ContainerBuilder();
-        $this->assertFalse($builder->has('foo'), '->has() returns false if the service does not exist');
-        $builder->register('foo', 'Bar\FooClass');
-        $this->assertTrue($builder->has('foo'), '->has() returns true if a service definition exists');
-        $builder->set('bar', new \stdClass());
-        $this->assertTrue($builder->has('bar'), '->has() returns true if a service exists');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::get
-     */
-    public function testGet()
-    {
-        $builder = new ContainerBuilder();
-        try {
-            $builder->get('foo');
-            $this->fail('->get() throws an InvalidArgumentException if the service does not exist');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The service definition "foo" does not exist.', $e->getMessage(), '->get() throws an InvalidArgumentException if the service does not exist');
-        }
-
-        $this->assertNull($builder->get('foo', ContainerInterface::NULL_ON_INVALID_REFERENCE), '->get() returns null if the service does not exist and NULL_ON_INVALID_REFERENCE is passed as a second argument');
-
-        $builder->register('foo', 'stdClass');
-        $this->assertInternalType('object', $builder->get('foo'), '->get() returns the service definition associated with the id');
-        $builder->set('bar', $bar = new \stdClass());
-        $this->assertEquals($bar, $builder->get('bar'), '->get() returns the service associated with the id');
-        $builder->register('bar', 'stdClass');
-        $this->assertEquals($bar, $builder->get('bar'), '->get() returns the service associated with the id even if a definition has been defined');
-
-        $builder->register('baz', 'stdClass')->setArguments(array(new Reference('baz')));
-        try {
-            @$builder->get('baz');
-            $this->fail('->get() throws a ServiceCircularReferenceException if the service has a circular reference to itself');
-        } catch (\Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException $e) {
-            $this->assertEquals('Circular reference detected for service "baz", path: "baz".', $e->getMessage(), '->get() throws a LogicException if the service has a circular reference to itself');
-        }
-
-        $builder->register('foobar', 'stdClass')->setScope('container');
-        $this->assertTrue($builder->get('bar') === $builder->get('bar'), '->get() always returns the same instance if the service is shared');
-    }
-
-    /**
-     * @covers                   \Symfony\Component\DependencyInjection\ContainerBuilder::get
-     * @expectedException        \Symfony\Component\DependencyInjection\Exception\RuntimeException
-     * @expectedExceptionMessage You have requested a synthetic service ("foo"). The DIC does not know how to construct this service.
-     */
-    public function testGetUnsetLoadingServiceWhenCreateServiceThrowsAnException()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'stdClass')->setSynthetic(true);
-
-        // we expect a RuntimeException here as foo is synthetic
-        try {
-            $builder->get('foo');
-        } catch (RuntimeException $e) {
-        }
-
-        // we must also have the same RuntimeException here
-        $builder->get('foo');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::get
-     */
-    public function testGetReturnsNullOnInactiveScope()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'stdClass')->setScope('request');
-
-        $this->assertNull($builder->get('foo', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::get
-     */
-    public function testGetReturnsNullOnInactiveScopeWhenServiceIsCreatedByAMethod()
-    {
-        $builder = new ProjectContainer();
-
-        $this->assertNull($builder->get('foobaz', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getServiceIds
-     */
-    public function testGetServiceIds()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'stdClass');
-        $builder->bar = $bar = new \stdClass();
-        $builder->register('bar', 'stdClass');
-        $this->assertEquals(array('foo', 'bar', 'service_container'), $builder->getServiceIds(), '->getServiceIds() returns all defined service ids');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setAlias
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::hasAlias
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getAlias
-     */
-    public function testAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'stdClass');
-        $builder->setAlias('bar', 'foo');
-        $this->assertTrue($builder->hasAlias('bar'), '->hasAlias() returns true if the alias exists');
-        $this->assertFalse($builder->hasAlias('foobar'), '->hasAlias() returns false if the alias does not exist');
-        $this->assertEquals('foo', (string) $builder->getAlias('bar'), '->getAlias() returns the aliased service');
-        $this->assertTrue($builder->has('bar'), '->setAlias() defines a new service');
-        $this->assertTrue($builder->get('bar') === $builder->get('foo'), '->setAlias() creates a service that is an alias to another one');
-
-        try {
-            $builder->getAlias('foobar');
-            $this->fail('->getAlias() throws an InvalidArgumentException if the alias does not exist');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The service alias "foobar" does not exist.', $e->getMessage(), '->getAlias() throws an InvalidArgumentException if the alias does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getAliases
-     */
-    public function testGetAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setAlias('bar', 'foo');
-        $builder->setAlias('foobar', 'foo');
-        $builder->setAlias('moo', new Alias('foo', false));
-
-        $aliases = $builder->getAliases();
-        $this->assertEquals('foo', (string) $aliases['bar']);
-        $this->assertTrue($aliases['bar']->isPublic());
-        $this->assertEquals('foo', (string) $aliases['foobar']);
-        $this->assertEquals('foo', (string) $aliases['moo']);
-        $this->assertFalse($aliases['moo']->isPublic());
-
-        $builder->register('bar', 'stdClass');
-        $this->assertFalse($builder->hasAlias('bar'));
-
-        $builder->set('foobar', 'stdClass');
-        $builder->set('moo', 'stdClass');
-        $this->assertCount(0, $builder->getAliases(), '->getAliases() does not return aliased services that have been overridden');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setAliases
-     */
-    public function testSetAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setAliases(array('bar' => 'foo', 'foobar' => 'foo'));
-
-        $aliases = $builder->getAliases();
-        $this->assertTrue(isset($aliases['bar']));
-        $this->assertTrue(isset($aliases['foobar']));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addAliases
-     */
-    public function testAddAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setAliases(array('bar' => 'foo'));
-        $builder->addAliases(array('foobar' => 'foo'));
-
-        $aliases = $builder->getAliases();
-        $this->assertTrue(isset($aliases['bar']));
-        $this->assertTrue(isset($aliases['foobar']));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addCompilerPass
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getCompilerPassConfig
-     */
-    public function testAddGetCompilerPass()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setResourceTracking(false);
-        $builderCompilerPasses = $builder->getCompiler()->getPassConfig()->getPasses();
-        $builder->addCompilerPass($this->getMock('Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface'));
-
-        $this->assertCount(count($builder->getCompiler()->getPassConfig()->getPasses()) - 1, $builderCompilerPasses);
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateService()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo1', 'Bar\FooClass')->setFile(__DIR__.'/Fixtures/includes/foo.php');
-        $this->assertInstanceOf('\Bar\FooClass', $builder->get('foo1'), '->createService() requires the file defined by the service definition');
-        $builder->register('foo2', 'Bar\FooClass')->setFile(__DIR__.'/Fixtures/includes/%file%.php');
-        $builder->setParameter('file', 'foo');
-        $this->assertInstanceOf('\Bar\FooClass', $builder->get('foo2'), '->createService() replaces parameters in the file provided by the service definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateProxyWithRealServiceInstantiator()
-    {
-        $builder = new ContainerBuilder();
-
-        $builder->register('foo1', 'Bar\FooClass')->setFile(__DIR__.'/Fixtures/includes/foo.php');
-        $builder->getDefinition('foo1')->setLazy(true);
-
-        $foo1 = $builder->get('foo1');
-
-        $this->assertSame($foo1, $builder->get('foo1'), 'The same proxy is retrieved on multiple subsequent calls');
-        $this->assertSame('Bar\FooClass', get_class($foo1));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceClass()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo1', '%class%');
-        $builder->setParameter('class', 'stdClass');
-        $this->assertInstanceOf('\stdClass', $builder->get('foo1'), '->createService() replaces parameters in the class provided by the service definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceArguments()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('bar', 'stdClass');
-        $builder->register('foo1', 'Bar\FooClass')->addArgument(array('foo' => '%value%', '%value%' => 'foo', new Reference('bar'), '%%unescape_it%%'));
-        $builder->setParameter('value', 'bar');
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'foo', $builder->get('bar'), '%unescape_it%'), $builder->get('foo1')->arguments, '->createService() replaces parameters and service references in the arguments provided by the service definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceFactory()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'Bar\FooClass')->setFactory('Bar\FooClass::getInstance');
-        $builder->register('qux', 'Bar\FooClass')->setFactory(array('Bar\FooClass', 'getInstance'));
-        $builder->register('bar', 'Bar\FooClass')->setFactory(array(new Definition('Bar\FooClass'), 'getInstance'));
-        $builder->register('baz', 'Bar\FooClass')->setFactory(array(new Reference('bar'), 'getInstance'));
-
-        $this->assertTrue($builder->get('foo')->called, '->createService() calls the factory method to create the service instance');
-        $this->assertTrue($builder->get('qux')->called, '->createService() calls the factory method to create the service instance');
-        $this->assertTrue($builder->get('bar')->called, '->createService() uses anonymous service as factory');
-        $this->assertTrue($builder->get('baz')->called, '->createService() uses another service as factory');
-
-        $builder
-            ->register('foo1', 'Bar\FooClass')
-            ->setFactoryClass('%foo_class%')
-            ->setFactoryMethod('getInstance')
-            ->addArgument(array('foo' => '%value%', '%value%' => 'foo', new Reference('bar')))
-        ;
-        $builder->setParameter('value', 'bar');
-        $builder->setParameter('foo_class', 'Bar\FooClass');
-        $this->assertTrue($builder->get('foo1')->called, '->createService() calls the factory method to create the service instance');
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'foo', $builder->get('bar')), $builder->get('foo1')->arguments, '->createService() passes the arguments to the factory method');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceFactoryService()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo_service', 'Bar\FooClass');
-        $builder
-            ->register('foo', 'Bar\FooClass')
-            ->setFactoryService('%foo_service%')
-            ->setFactoryMethod('getInstance')
-        ;
-        $builder->setParameter('foo_service', 'foo_service');
-        $this->assertTrue($builder->get('foo')->called, '->createService() calls the factory method to create the service instance');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceMethodCalls()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('bar', 'stdClass');
-        $builder->register('foo1', 'Bar\FooClass')->addMethodCall('setBar', array(array('%value%', new Reference('bar'))));
-        $builder->setParameter('value', 'bar');
-        $this->assertEquals(array('bar', $builder->get('bar')), $builder->get('foo1')->bar, '->createService() replaces the values in the method calls arguments');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceConfigurator()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo1', 'Bar\FooClass')->setConfigurator('sc_configure');
-        $this->assertTrue($builder->get('foo1')->configured, '->createService() calls the configurator');
-
-        $builder->register('foo2', 'Bar\FooClass')->setConfigurator(array('%class%', 'configureStatic'));
-        $builder->setParameter('class', 'BazClass');
-        $this->assertTrue($builder->get('foo2')->configured, '->createService() calls the configurator');
-
-        $builder->register('baz', 'BazClass');
-        $builder->register('foo3', 'Bar\FooClass')->setConfigurator(array(new Reference('baz'), 'configure'));
-        $this->assertTrue($builder->get('foo3')->configured, '->createService() calls the configurator');
-
-        $builder->register('foo4', 'Bar\FooClass')->setConfigurator('foo');
-        try {
-            $builder->get('foo4');
-            $this->fail('->createService() throws an InvalidArgumentException if the configure callable is not a valid callable');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The configure callable for class "Bar\FooClass" is not a callable.', $e->getMessage(), '->createService() throws an InvalidArgumentException if the configure callable is not a valid callable');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     * @expectedException \RuntimeException
-     */
-    public function testCreateSyntheticService()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'Bar\FooClass')->setSynthetic(true);
-        $builder->get('foo');
-    }
-
-    public function testCreateServiceWithExpression()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setParameter('bar', 'bar');
-        $builder->register('bar', 'BarClass');
-        $builder->register('foo', 'Bar\FooClass')->addArgument(array('foo' => new Expression('service("bar").foo ~ parameter("bar")')));
-        $this->assertEquals('foobar', $builder->get('foo')->arguments['foo']);
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::resolveServices
-     */
-    public function testResolveServices()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'Bar\FooClass');
-        $this->assertEquals($builder->get('foo'), $builder->resolveServices(new Reference('foo')), '->resolveServices() resolves service references to service instances');
-        $this->assertEquals(array('foo' => array('foo', $builder->get('foo'))), $builder->resolveServices(array('foo' => array('foo', new Reference('foo')))), '->resolveServices() resolves service references to service instances in nested arrays');
-        $this->assertEquals($builder->get('foo'), $builder->resolveServices(new Expression('service("foo")')), '->resolveServices() resolves expressions');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::merge
-     */
-    public function testMerge()
-    {
-        $container = new ContainerBuilder(new ParameterBag(array('bar' => 'foo')));
-        $container->setResourceTracking(false);
-        $config = new ContainerBuilder(new ParameterBag(array('foo' => 'bar')));
-        $container->merge($config);
-        $this->assertEquals(array('bar' => 'foo', 'foo' => 'bar'), $container->getParameterBag()->all(), '->merge() merges current parameters with the loaded ones');
-
-        $container = new ContainerBuilder(new ParameterBag(array('bar' => 'foo')));
-        $container->setResourceTracking(false);
-        $config = new ContainerBuilder(new ParameterBag(array('foo' => '%bar%')));
-        $container->merge($config);
-        $container->compile();
-        $this->assertEquals(array('bar' => 'foo', 'foo' => 'foo'), $container->getParameterBag()->all(), '->merge() evaluates the values of the parameters towards already defined ones');
-
-        $container = new ContainerBuilder(new ParameterBag(array('bar' => 'foo')));
-        $container->setResourceTracking(false);
-        $config = new ContainerBuilder(new ParameterBag(array('foo' => '%bar%', 'baz' => '%foo%')));
-        $container->merge($config);
-        $container->compile();
-        $this->assertEquals(array('bar' => 'foo', 'foo' => 'foo', 'baz' => 'foo'), $container->getParameterBag()->all(), '->merge() evaluates the values of the parameters towards already defined ones');
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->register('foo', 'Bar\FooClass');
-        $container->register('bar', 'BarClass');
-        $config = new ContainerBuilder();
-        $config->setDefinition('baz', new Definition('BazClass'));
-        $config->setAlias('alias_for_foo', 'foo');
-        $container->merge($config);
-        $this->assertEquals(array('foo', 'bar', 'baz'), array_keys($container->getDefinitions()), '->merge() merges definitions already defined ones');
-
-        $aliases = $container->getAliases();
-        $this->assertTrue(isset($aliases['alias_for_foo']));
-        $this->assertEquals('foo', (string) $aliases['alias_for_foo']);
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->register('foo', 'Bar\FooClass');
-        $config->setDefinition('foo', new Definition('BazClass'));
-        $container->merge($config);
-        $this->assertEquals('BazClass', $container->getDefinition('foo')->getClass(), '->merge() overrides already defined services');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::merge
-     * @expectedException \LogicException
-     */
-    public function testMergeLogicException()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->compile();
-        $container->merge(new ContainerBuilder());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::findTaggedServiceIds
-     */
-    public function testfindTaggedServiceIds()
-    {
-        $builder = new ContainerBuilder();
-        $builder
-            ->register('foo', 'Bar\FooClass')
-            ->addTag('foo', array('foo' => 'foo'))
-            ->addTag('bar', array('bar' => 'bar'))
-            ->addTag('foo', array('foofoo' => 'foofoo'))
-        ;
-        $this->assertEquals($builder->findTaggedServiceIds('foo'), array(
-            'foo' => array(
-                array('foo' => 'foo'),
-                array('foofoo' => 'foofoo'),
-            ),
-        ), '->findTaggedServiceIds() returns an array of service ids and its tag attributes');
-        $this->assertEquals(array(), $builder->findTaggedServiceIds('foobar'), '->findTaggedServiceIds() returns an empty array if there is annotated services');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::findDefinition
-     */
-    public function testFindDefinition()
-    {
-        $container = new ContainerBuilder();
-        $container->setDefinition('foo', $definition = new Definition('Bar\FooClass'));
-        $container->setAlias('bar', 'foo');
-        $container->setAlias('foobar', 'bar');
-        $this->assertEquals($definition, $container->findDefinition('foobar'), '->findDefinition() returns a Definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addObjectResource
-     */
-    public function testAddObjectResource()
-    {
-        $container = new ContainerBuilder();
-
-        $container->setResourceTracking(false);
-        $container->addObjectResource(new \BarClass());
-
-        $this->assertEmpty($container->getResources(), 'No resources get registered without resource tracking');
-
-        $container->setResourceTracking(true);
-        $container->addObjectResource(new \BarClass());
-
-        $resources = $container->getResources();
-
-        $this->assertCount(1, $resources, '1 resource was registered');
-
-        /* @var $resource \Symfony\Component\Config\Resource\FileResource */
-        $resource = end($resources);
-
-        $this->assertInstanceOf('Symfony\Component\Config\Resource\FileResource', $resource);
-        $this->assertSame(realpath(__DIR__.'/Fixtures/includes/classes.php'), realpath($resource->getResource()));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addClassResource
-     */
-    public function testAddClassResource()
-    {
-        $container = new ContainerBuilder();
-
-        $container->setResourceTracking(false);
-        $container->addClassResource(new \ReflectionClass('BarClass'));
-
-        $this->assertEmpty($container->getResources(), 'No resources get registered without resource tracking');
-
-        $container->setResourceTracking(true);
-        $container->addClassResource(new \ReflectionClass('BarClass'));
-
-        $resources = $container->getResources();
-
-        $this->assertCount(1, $resources, '1 resource was registered');
-
-        /* @var $resource \Symfony\Component\Config\Resource\FileResource */
-        $resource = end($resources);
-
-        $this->assertInstanceOf('Symfony\Component\Config\Resource\FileResource', $resource);
-        $this->assertSame(realpath(__DIR__.'/Fixtures/includes/classes.php'), realpath($resource->getResource()));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::compile
-     */
-    public function testCompilesClassDefinitionsOfLazyServices()
-    {
-        $container = new ContainerBuilder();
-
-        $this->assertEmpty($container->getResources(), 'No resources get registered without resource tracking');
-
-        $container->register('foo', 'BarClass');
-        $container->getDefinition('foo')->setLazy(true);
-
-        $container->compile();
-
-        $classesPath = realpath(__DIR__.'/Fixtures/includes/classes.php');
-        $matchingResources = array_filter(
-            $container->getResources(),
-            function (ResourceInterface $resource) use ($classesPath) {
-                return $resource instanceof FileResource && $classesPath === realpath($resource->getResource());
-            }
-        );
-
-        $this->assertNotEmpty($matchingResources);
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getResources
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addResource
-     */
-    public function testResources()
-    {
-        $container = new ContainerBuilder();
-        $container->addResource($a = new FileResource(__DIR__.'/Fixtures/xml/services1.xml'));
-        $container->addResource($b = new FileResource(__DIR__.'/Fixtures/xml/services2.xml'));
-        $resources = array();
-        foreach ($container->getResources() as $resource) {
-            if (false === strpos($resource, '.php')) {
-                $resources[] = $resource;
-            }
-        }
-        $this->assertEquals(array($a, $b), $resources, '->getResources() returns an array of resources read for the current configuration');
-        $this->assertSame($container, $container->setResources(array()));
-        $this->assertEquals(array(), $container->getResources());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::registerExtension
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getExtension
-     */
-    public function testExtension()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $container->registerExtension($extension = new \ProjectExtension());
-        $this->assertTrue($container->getExtension('project') === $extension, '->registerExtension() registers an extension');
-
-        $this->setExpectedException('LogicException');
-        $container->getExtension('no_registered');
-    }
-
-    public function testRegisteredButNotLoadedExtension()
-    {
-        $extension = $this->getMock('Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface');
-        $extension->expects($this->once())->method('getAlias')->will($this->returnValue('project'));
-        $extension->expects($this->never())->method('load');
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->registerExtension($extension);
-        $container->compile();
-    }
-
-    public function testRegisteredAndLoadedExtension()
-    {
-        $extension = $this->getMock('Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface');
-        $extension->expects($this->exactly(2))->method('getAlias')->will($this->returnValue('project'));
-        $extension->expects($this->once())->method('load')->with(array(array('foo' => 'bar')));
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->registerExtension($extension);
-        $container->loadFromExtension('project', array('foo' => 'bar'));
-        $container->compile();
-    }
-
-    public function testPrivateServiceUser()
-    {
-        $fooDefinition = new Definition('BarClass');
-        $fooUserDefinition = new Definition('BarUserClass', array(new Reference('bar')));
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $fooDefinition->setPublic(false);
-
-        $container->addDefinitions(array(
-            'bar' => $fooDefinition,
-            'bar_user' => $fooUserDefinition,
-        ));
-
-        $container->compile();
-        $this->assertInstanceOf('BarClass', $container->get('bar_user')->bar);
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testThrowsExceptionWhenSetServiceOnAFrozenContainer()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->setDefinition('a', new Definition('stdClass'));
-        $container->compile();
-        $container->set('a', new \stdClass());
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testThrowsExceptionWhenAddServiceOnAFrozenContainer()
-    {
-        $container = new ContainerBuilder();
-        $container->compile();
-        $container->set('a', new \stdClass());
-    }
-
-    public function testNoExceptionWhenSetSyntheticServiceOnAFrozenContainer()
-    {
-        $container = new ContainerBuilder();
-        $def = new Definition('stdClass');
-        $def->setSynthetic(true);
-        $container->setDefinition('a', $def);
-        $container->compile();
-        $container->set('a', $a = new \stdClass());
-        $this->assertEquals($a, $container->get('a'));
-    }
-
-    public function testSetOnSynchronizedService()
-    {
-        $container = new ContainerBuilder();
-        $container->register('baz', 'BazClass')
-            ->setSynchronized(true)
-        ;
-        $container->register('bar', 'BarClass')
-            ->addMethodCall('setBaz', array(new Reference('baz')))
-        ;
-
-        $container->set('baz', $baz = new \BazClass());
-        $this->assertSame($baz, $container->get('bar')->getBaz());
-
-        $container->set('baz', $baz = new \BazClass());
-        $this->assertSame($baz, $container->get('bar')->getBaz());
-    }
-
-    public function testSynchronizedServiceWithScopes()
-    {
-        $container = new ContainerBuilder();
-        $container->addScope(new Scope('foo'));
-        $container->register('baz', 'BazClass')
-            ->setSynthetic(true)
-            ->setSynchronized(true)
-            ->setScope('foo')
-        ;
-        $container->register('bar', 'BarClass')
-            ->addMethodCall('setBaz', array(new Reference('baz', ContainerInterface::NULL_ON_INVALID_REFERENCE, false)))
-        ;
-        $container->compile();
-
-        $container->enterScope('foo');
-        $container->set('baz', $outerBaz = new \BazClass(), 'foo');
-        $this->assertSame($outerBaz, $container->get('bar')->getBaz());
-
-        $container->enterScope('foo');
-        $container->set('baz', $innerBaz = new \BazClass(), 'foo');
-        $this->assertSame($innerBaz, $container->get('bar')->getBaz());
-        $container->leaveScope('foo');
-
-        $this->assertNotSame($innerBaz, $container->get('bar')->getBaz());
-        $this->assertSame($outerBaz, $container->get('bar')->getBaz());
-
-        $container->leaveScope('foo');
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testThrowsExceptionWhenSetDefinitionOnAFrozenContainer()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->compile();
-        $container->setDefinition('a', new Definition());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getExtensionConfig
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::prependExtensionConfig
-     */
-    public function testExtensionConfig()
-    {
-        $container = new ContainerBuilder();
-
-        $configs = $container->getExtensionConfig('foo');
-        $this->assertEmpty($configs);
-
-        $first = array('foo' => 'bar');
-        $container->prependExtensionConfig('foo', $first);
-        $configs = $container->getExtensionConfig('foo');
-        $this->assertEquals(array($first), $configs);
-
-        $second = array('ding' => 'dong');
-        $container->prependExtensionConfig('foo', $second);
-        $configs = $container->getExtensionConfig('foo');
-        $this->assertEquals(array($second, $first), $configs);
-    }
-
-    public function testLazyLoadedService()
-    {
-        $loader = new ClosureLoader($container = new ContainerBuilder());
-        $loader->load(function (ContainerBuilder $container) {
-                $container->set('a', new \BazClass());
-                $definition = new Definition('BazClass');
-                $definition->setLazy(true);
-                $container->setDefinition('a', $definition);
-            }
-        );
-
-        $container->setResourceTracking(true);
-
-        $container->compile();
-
-        $class = new \BazClass();
-        $reflectionClass = new \ReflectionClass($class);
-
-        $r = new \ReflectionProperty($container, 'resources');
-        $r->setAccessible(true);
-        $resources = $r->getValue($container);
-
-        $classInList = false;
-        foreach ($resources as $resource) {
-            if ($resource->getResource() === $reflectionClass->getFileName()) {
-                $classInList = true;
-                break;
-            }
-        }
-
-        $this->assertTrue($classInList);
-    }
-}
-
-class FooClass
-{
-}
-
-class ProjectContainer extends ContainerBuilder
-{
-    public function getFoobazService()
-    {
-        throw new InactiveScopeException('foo', 'request');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php
deleted file mode 100644
index 2ce50ee..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php
+++ /dev/null
@@ -1,713 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Scope;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-
-class ContainerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::__construct
-     */
-    public function testConstructor()
-    {
-        $sc = new Container();
-        $this->assertSame($sc, $sc->get('service_container'), '__construct() automatically registers itself as a service');
-
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $this->assertEquals(array('foo' => 'bar'), $sc->getParameterBag()->all(), '__construct() takes an array of parameters as its first argument');
-    }
-
-    /**
-     * @dataProvider dataForTestCamelize
-     */
-    public function testCamelize($id, $expected)
-    {
-        $this->assertEquals($expected, Container::camelize($id), sprintf('Container::camelize("%s")', $id));
-    }
-
-    public function dataForTestCamelize()
-    {
-        return array(
-            array('foo_bar', 'FooBar'),
-            array('foo.bar', 'Foo_Bar'),
-            array('foo.bar_baz', 'Foo_BarBaz'),
-            array('foo._bar', 'Foo_Bar'),
-            array('foo_.bar', 'Foo_Bar'),
-            array('_foo', 'Foo'),
-            array('.foo', '_Foo'),
-            array('foo_', 'Foo'),
-            array('foo.', 'Foo_'),
-            array('foo\bar', 'Foo_Bar'),
-        );
-    }
-
-    /**
-     * @dataProvider dataForTestUnderscore
-     */
-    public function testUnderscore($id, $expected)
-    {
-        $this->assertEquals($expected, Container::underscore($id), sprintf('Container::underscore("%s")', $id));
-    }
-
-    public function dataForTestUnderscore()
-    {
-        return array(
-            array('FooBar', 'foo_bar'),
-            array('Foo_Bar', 'foo.bar'),
-            array('Foo_BarBaz', 'foo.bar_baz'),
-            array('FooBar_BazQux', 'foo_bar.baz_qux'),
-            array('_Foo', '.foo'),
-            array('Foo_', 'foo.'),
-        );
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::compile
-     */
-    public function testCompile()
-    {
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $this->assertFalse($sc->getParameterBag()->isResolved(), '->compile() resolves the parameter bag');
-        $sc->compile();
-        $this->assertTrue($sc->getParameterBag()->isResolved(), '->compile() resolves the parameter bag');
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag', $sc->getParameterBag(), '->compile() changes the parameter bag to a FrozenParameterBag instance');
-        $this->assertEquals(array('foo' => 'bar'), $sc->getParameterBag()->all(), '->compile() copies the current parameters to the new parameter bag');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::isFrozen
-     */
-    public function testIsFrozen()
-    {
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $this->assertFalse($sc->isFrozen(), '->isFrozen() returns false if the parameters are not frozen');
-        $sc->compile();
-        $this->assertTrue($sc->isFrozen(), '->isFrozen() returns true if the parameters are frozen');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::getParameterBag
-     */
-    public function testGetParameterBag()
-    {
-        $sc = new Container();
-        $this->assertEquals(array(), $sc->getParameterBag()->all(), '->getParameterBag() returns an empty array if no parameter has been defined');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::setParameter
-     * @covers Symfony\Component\DependencyInjection\Container::getParameter
-     */
-    public function testGetSetParameter()
-    {
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $sc->setParameter('bar', 'foo');
-        $this->assertEquals('foo', $sc->getParameter('bar'), '->setParameter() sets the value of a new parameter');
-
-        $sc->setParameter('foo', 'baz');
-        $this->assertEquals('baz', $sc->getParameter('foo'), '->setParameter() overrides previously set parameter');
-
-        $sc->setParameter('Foo', 'baz1');
-        $this->assertEquals('baz1', $sc->getParameter('foo'), '->setParameter() converts the key to lowercase');
-        $this->assertEquals('baz1', $sc->getParameter('FOO'), '->getParameter() converts the key to lowercase');
-
-        try {
-            $sc->getParameter('baba');
-            $this->fail('->getParameter() thrown an \InvalidArgumentException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->getParameter() thrown an \InvalidArgumentException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent parameter "baba".', $e->getMessage(), '->getParameter() thrown an \InvalidArgumentException if the key does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::getServiceIds
-     */
-    public function testGetServiceIds()
-    {
-        $sc = new Container();
-        $sc->set('foo', $obj = new \stdClass());
-        $sc->set('bar', $obj = new \stdClass());
-        $this->assertEquals(array('service_container', 'foo', 'bar'), $sc->getServiceIds(), '->getServiceIds() returns all defined service ids');
-
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', $obj = new \stdClass());
-        $this->assertEquals(array('scoped', 'scoped_foo', 'scoped_synchronized_foo', 'inactive', 'bar', 'foo_bar', 'foo.baz', 'circular', 'throw_exception', 'throws_exception_on_service_configuration', 'service_container', 'foo'), $sc->getServiceIds(), '->getServiceIds() returns defined service ids by getXXXService() methods, followed by service ids defined by set()');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::set
-     */
-    public function testSet()
-    {
-        $sc = new Container();
-        $sc->set('foo', $foo = new \stdClass());
-        $this->assertEquals($foo, $sc->get('foo'), '->set() sets a service');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::set
-     */
-    public function testSetWithNullResetTheService()
-    {
-        $sc = new Container();
-        $sc->set('foo', null);
-        $this->assertFalse($sc->has('foo'), '->set() with null service resets the service');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetDoesNotAllowPrototypeScope()
-    {
-        $c = new Container();
-        $c->set('foo', new \stdClass(), Container::SCOPE_PROTOTYPE);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testSetDoesNotAllowInactiveScope()
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo'));
-        $c->set('foo', new \stdClass(), 'foo');
-    }
-
-    public function testSetAlsoSetsScopedService()
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo'));
-        $c->enterScope('foo');
-        $c->set('foo', $foo = new \stdClass(), 'foo');
-
-        $scoped = $this->getField($c, 'scopedServices');
-        $this->assertTrue(isset($scoped['foo']['foo']), '->set() sets a scoped service');
-        $this->assertSame($foo, $scoped['foo']['foo'], '->set() sets a scoped service');
-    }
-
-    public function testSetAlsoCallsSynchronizeService()
-    {
-        $c = new ProjectServiceContainer();
-        $c->addScope(new Scope('foo'));
-        $c->enterScope('foo');
-        $c->set('scoped_synchronized_foo', $bar = new \stdClass(), 'foo');
-        $this->assertTrue($c->synchronized, '->set() calls synchronize*Service() if it is defined for the service');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::get
-     */
-    public function testGet()
-    {
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', $foo = new \stdClass());
-        $this->assertEquals($foo, $sc->get('foo'), '->get() returns the service for the given id');
-        $this->assertEquals($foo, $sc->get('Foo'), '->get() returns the service for the given id, and converts id to lowercase');
-        $this->assertEquals($sc->__bar, $sc->get('bar'), '->get() returns the service for the given id');
-        $this->assertEquals($sc->__foo_bar, $sc->get('foo_bar'), '->get() returns the service if a get*Method() is defined');
-        $this->assertEquals($sc->__foo_baz, $sc->get('foo.baz'), '->get() returns the service if a get*Method() is defined');
-        $this->assertEquals($sc->__foo_baz, $sc->get('foo\\baz'), '->get() returns the service if a get*Method() is defined');
-
-        $sc->set('bar', $bar = new \stdClass());
-        $this->assertEquals($bar, $sc->get('bar'), '->get() prefers to return a service defined with set() than one defined with a getXXXMethod()');
-
-        try {
-            $sc->get('');
-            $this->fail('->get() throws a \InvalidArgumentException exception if the service is empty');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException', $e, '->get() throws a ServiceNotFoundException exception if the service is empty');
-        }
-        $this->assertNull($sc->get('', ContainerInterface::NULL_ON_INVALID_REFERENCE), '->get() returns null if the service is empty');
-    }
-
-    public function testGetThrowServiceNotFoundException()
-    {
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', $foo = new \stdClass());
-        $sc->set('bar', $foo = new \stdClass());
-        $sc->set('baz', $foo = new \stdClass());
-
-        try {
-            $sc->get('foo1');
-            $this->fail('->get() throws an Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException', $e, '->get() throws an Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent service "foo1". Did you mean this: "foo"?', $e->getMessage(), '->get() throws an Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException with some advices');
-        }
-
-        try {
-            $sc->get('bag');
-            $this->fail('->get() throws an Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException', $e, '->get() throws an Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent service "bag". Did you mean one of these: "bar", "baz"?', $e->getMessage(), '->get() throws an Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException with some advices');
-        }
-    }
-
-    public function testGetCircularReference()
-    {
-        $sc = new ProjectServiceContainer();
-        try {
-            $sc->get('circular');
-            $this->fail('->get() throws a ServiceCircularReferenceException if it contains circular reference');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException', $e, '->get() throws a ServiceCircularReferenceException if it contains circular reference');
-            $this->assertStringStartsWith('Circular reference detected for service "circular"', $e->getMessage(), '->get() throws a \LogicException if it contains circular reference');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::get
-     */
-    public function testGetReturnsNullOnInactiveScope()
-    {
-        $sc = new ProjectServiceContainer();
-        $this->assertNull($sc->get('inactive', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::has
-     */
-    public function testHas()
-    {
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', new \stdClass());
-        $this->assertFalse($sc->has('foo1'), '->has() returns false if the service does not exist');
-        $this->assertTrue($sc->has('foo'), '->has() returns true if the service exists');
-        $this->assertTrue($sc->has('bar'), '->has() returns true if a get*Method() is defined');
-        $this->assertTrue($sc->has('foo_bar'), '->has() returns true if a get*Method() is defined');
-        $this->assertTrue($sc->has('foo.baz'), '->has() returns true if a get*Method() is defined');
-        $this->assertTrue($sc->has('foo\\baz'), '->has() returns true if a get*Method() is defined');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::initialized
-     */
-    public function testInitialized()
-    {
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', new \stdClass());
-        $this->assertTrue($sc->initialized('foo'), '->initialized() returns true if service is loaded');
-        $this->assertFalse($sc->initialized('foo1'), '->initialized() returns false if service is not loaded');
-        $this->assertFalse($sc->initialized('bar'), '->initialized() returns false if a service is defined, but not currently loaded');
-        $this->assertFalse($sc->initialized('alias'), '->initialized() returns false if an aliased service is not initialized');
-
-        $sc->set('bar', new \stdClass());
-        $this->assertTrue($sc->initialized('alias'), '->initialized() returns true for alias if aliased service is initialized');
-    }
-
-    public function testEnterLeaveCurrentScope()
-    {
-        $container = new ProjectServiceContainer();
-        $container->addScope(new Scope('foo'));
-
-        $container->enterScope('foo');
-        $scoped1 = $container->get('scoped');
-        $scopedFoo1 = $container->get('scoped_foo');
-
-        $container->enterScope('foo');
-        $scoped2 = $container->get('scoped');
-        $scoped3 = $container->get('scoped');
-        $scopedFoo2 = $container->get('scoped_foo');
-
-        $container->leaveScope('foo');
-        $scoped4 = $container->get('scoped');
-        $scopedFoo3 = $container->get('scoped_foo');
-
-        $this->assertNotSame($scoped1, $scoped2);
-        $this->assertSame($scoped2, $scoped3);
-        $this->assertSame($scoped1, $scoped4);
-        $this->assertNotSame($scopedFoo1, $scopedFoo2);
-        $this->assertSame($scopedFoo1, $scopedFoo3);
-    }
-
-    public function testEnterLeaveScopeWithChildScopes()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-        $container->addScope(new Scope('bar', 'foo'));
-
-        $this->assertFalse($container->isScopeActive('foo'));
-
-        $container->enterScope('foo');
-        $container->enterScope('bar');
-
-        $this->assertTrue($container->isScopeActive('foo'));
-        $this->assertFalse($container->has('a'));
-
-        $a = new \stdClass();
-        $container->set('a', $a, 'bar');
-
-        $scoped = $this->getField($container, 'scopedServices');
-        $this->assertTrue(isset($scoped['bar']['a']));
-        $this->assertSame($a, $scoped['bar']['a']);
-        $this->assertTrue($container->has('a'));
-
-        $container->leaveScope('foo');
-
-        $scoped = $this->getField($container, 'scopedServices');
-        $this->assertFalse(isset($scoped['bar']));
-        $this->assertFalse($container->isScopeActive('foo'));
-        $this->assertFalse($container->has('a'));
-    }
-
-    public function testEnterScopeRecursivelyWithInactiveChildScopes()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-        $container->addScope(new Scope('bar', 'foo'));
-
-        $this->assertFalse($container->isScopeActive('foo'));
-
-        $container->enterScope('foo');
-
-        $this->assertTrue($container->isScopeActive('foo'));
-        $this->assertFalse($container->isScopeActive('bar'));
-        $this->assertFalse($container->has('a'));
-
-        $a = new \stdClass();
-        $container->set('a', $a, 'foo');
-
-        $scoped = $this->getField($container, 'scopedServices');
-        $this->assertTrue(isset($scoped['foo']['a']));
-        $this->assertSame($a, $scoped['foo']['a']);
-        $this->assertTrue($container->has('a'));
-
-        $container->enterScope('foo');
-
-        $scoped = $this->getField($container, 'scopedServices');
-        $this->assertFalse(isset($scoped['a']));
-        $this->assertTrue($container->isScopeActive('foo'));
-        $this->assertFalse($container->isScopeActive('bar'));
-        $this->assertFalse($container->has('a'));
-
-        $container->enterScope('bar');
-
-        $this->assertTrue($container->isScopeActive('bar'));
-
-        $container->leaveScope('foo');
-
-        $this->assertTrue($container->isScopeActive('foo'));
-        $this->assertFalse($container->isScopeActive('bar'));
-        $this->assertTrue($container->has('a'));
-    }
-
-    public function testEnterChildScopeRecursively()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-        $container->addScope(new Scope('bar', 'foo'));
-
-        $container->enterScope('foo');
-        $container->enterScope('bar');
-
-        $this->assertTrue($container->isScopeActive('bar'));
-        $this->assertFalse($container->has('a'));
-
-        $a = new \stdClass();
-        $container->set('a', $a, 'bar');
-
-        $scoped = $this->getField($container, 'scopedServices');
-        $this->assertTrue(isset($scoped['bar']['a']));
-        $this->assertSame($a, $scoped['bar']['a']);
-        $this->assertTrue($container->has('a'));
-
-        $container->enterScope('bar');
-
-        $scoped = $this->getField($container, 'scopedServices');
-        $this->assertFalse(isset($scoped['a']));
-        $this->assertTrue($container->isScopeActive('foo'));
-        $this->assertTrue($container->isScopeActive('bar'));
-        $this->assertFalse($container->has('a'));
-
-        $container->leaveScope('bar');
-
-        $this->assertTrue($container->isScopeActive('foo'));
-        $this->assertTrue($container->isScopeActive('bar'));
-        $this->assertTrue($container->has('a'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testEnterScopeNotAdded()
-    {
-        $container = new Container();
-        $container->enterScope('foo');
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testEnterScopeDoesNotAllowInactiveParentScope()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-        $container->addScope(new Scope('bar', 'foo'));
-        $container->enterScope('bar');
-    }
-
-    public function testLeaveScopeNotActive()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-
-        try {
-            $container->leaveScope('foo');
-            $this->fail('->leaveScope() throws a \LogicException if the scope is not active yet');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\LogicException', $e, '->leaveScope() throws a \LogicException if the scope is not active yet');
-            $this->assertEquals('The scope "foo" is not active.', $e->getMessage(), '->leaveScope() throws a \LogicException if the scope is not active yet');
-        }
-
-        try {
-            $container->leaveScope('bar');
-            $this->fail('->leaveScope() throws a \LogicException if the scope does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\LogicException', $e, '->leaveScope() throws a \LogicException if the scope does not exist');
-            $this->assertEquals('The scope "bar" is not active.', $e->getMessage(), '->leaveScope() throws a \LogicException if the scope does not exist');
-        }
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getBuiltInScopes
-     */
-    public function testAddScopeDoesNotAllowBuiltInScopes($scope)
-    {
-        $container = new Container();
-        $container->addScope(new Scope($scope));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testAddScopeDoesNotAllowExistingScope()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-        $container->addScope(new Scope('foo'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getInvalidParentScopes
-     */
-    public function testAddScopeDoesNotAllowInvalidParentScope($scope)
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo', $scope));
-    }
-
-    public function testAddScope()
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo'));
-        $c->addScope(new Scope('bar', 'foo'));
-
-        $this->assertSame(array('foo' => 'container', 'bar' => 'foo'), $this->getField($c, 'scopes'));
-        $this->assertSame(array('foo' => array('bar'), 'bar' => array()), $this->getField($c, 'scopeChildren'));
-
-        $c->addScope(new Scope('baz', 'bar'));
-
-        $this->assertSame(array('foo' => 'container', 'bar' => 'foo', 'baz' => 'bar'), $this->getField($c, 'scopes'));
-        $this->assertSame(array('foo' => array('bar', 'baz'), 'bar' => array('baz'), 'baz' => array()), $this->getField($c, 'scopeChildren'));
-    }
-
-    public function testHasScope()
-    {
-        $c = new Container();
-
-        $this->assertFalse($c->hasScope('foo'));
-        $c->addScope(new Scope('foo'));
-        $this->assertTrue($c->hasScope('foo'));
-    }
-
-    /**
-     * @expectedException Exception
-     * @expectedExceptionMessage Something went terribly wrong!
-     */
-    public function testGetThrowsException()
-    {
-        $c = new ProjectServiceContainer();
-
-        try {
-            $c->get('throw_exception');
-        } catch (\Exception $e) {
-            // Do nothing.
-        }
-
-        // Retry, to make sure that get*Service() will be called.
-        $c->get('throw_exception');
-    }
-
-    public function testGetThrowsExceptionOnServiceConfiguration()
-    {
-        $c = new ProjectServiceContainer();
-
-        try {
-            $c->get('throws_exception_on_service_configuration');
-        } catch (\Exception $e) {
-            // Do nothing.
-        }
-
-        $this->assertFalse($c->initialized('throws_exception_on_service_configuration'));
-
-        // Retry, to make sure that get*Service() will be called.
-        try {
-            $c->get('throws_exception_on_service_configuration');
-        } catch (\Exception $e) {
-            // Do nothing.
-        }
-        $this->assertFalse($c->initialized('throws_exception_on_service_configuration'));
-    }
-
-    public function testIsScopeActive()
-    {
-        $c = new Container();
-
-        $this->assertFalse($c->isScopeActive('foo'));
-        $c->addScope(new Scope('foo'));
-
-        $this->assertFalse($c->isScopeActive('foo'));
-        $c->enterScope('foo');
-
-        $this->assertTrue($c->isScopeActive('foo'));
-        $c->leaveScope('foo');
-
-        $this->assertFalse($c->isScopeActive('foo'));
-    }
-
-    public function getInvalidParentScopes()
-    {
-        return array(
-            array(ContainerInterface::SCOPE_PROTOTYPE),
-            array('bar'),
-        );
-    }
-
-    public function getBuiltInScopes()
-    {
-        return array(
-            array(ContainerInterface::SCOPE_CONTAINER),
-            array(ContainerInterface::SCOPE_PROTOTYPE),
-        );
-    }
-
-    protected function getField($obj, $field)
-    {
-        $reflection = new \ReflectionProperty($obj, $field);
-        $reflection->setAccessible(true);
-
-        return $reflection->getValue($obj);
-    }
-
-    public function testAlias()
-    {
-        $c = new ProjectServiceContainer();
-
-        $this->assertTrue($c->has('alias'));
-        $this->assertSame($c->get('alias'), $c->get('bar'));
-    }
-}
-
-class ProjectServiceContainer extends Container
-{
-    public $__bar, $__foo_bar, $__foo_baz;
-    public $synchronized;
-
-    public function __construct()
-    {
-        parent::__construct();
-
-        $this->__bar = new \stdClass();
-        $this->__foo_bar = new \stdClass();
-        $this->__foo_baz = new \stdClass();
-        $this->synchronized = false;
-        $this->aliases = array('alias' => 'bar');
-    }
-
-    protected function getScopedService()
-    {
-        if (!$this->isScopeActive('foo')) {
-            throw new \RuntimeException('Invalid call');
-        }
-
-        return $this->services['scoped'] = $this->scopedServices['foo']['scoped'] = new \stdClass();
-    }
-
-    protected function getScopedFooService()
-    {
-        if (!$this->isScopeActive('foo')) {
-            throw new \RuntimeException('invalid call');
-        }
-
-        return $this->services['scoped_foo'] = $this->scopedServices['foo']['scoped_foo'] = new \stdClass();
-    }
-
-    protected function getScopedSynchronizedFooService()
-    {
-        if (!$this->isScopeActive('foo')) {
-            throw new \RuntimeException('invalid call');
-        }
-
-        return $this->services['scoped_bar'] = $this->scopedServices['foo']['scoped_bar'] = new \stdClass();
-    }
-
-    protected function synchronizeScopedSynchronizedFooService()
-    {
-        $this->synchronized = true;
-    }
-
-    protected function getInactiveService()
-    {
-        throw new InactiveScopeException('request', 'request');
-    }
-
-    protected function getBarService()
-    {
-        return $this->__bar;
-    }
-
-    protected function getFooBarService()
-    {
-        return $this->__foo_bar;
-    }
-
-    protected function getFoo_BazService()
-    {
-        return $this->__foo_baz;
-    }
-
-    protected function getCircularService()
-    {
-        return $this->get('circular');
-    }
-
-    protected function getThrowExceptionService()
-    {
-        throw new \Exception('Something went terribly wrong!');
-    }
-
-    protected function getThrowsExceptionOnServiceConfigurationService()
-    {
-        $this->services['throws_exception_on_service_configuration'] = $instance = new \stdClass();
-
-        throw new \Exception('Something was terribly wrong while trying to configure the service!');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php
deleted file mode 100644
index 692d73d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\FileLocator;
-
-class CrossCheckTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = __DIR__.'/Fixtures/';
-
-        require_once self::$fixturesPath.'/includes/classes.php';
-        require_once self::$fixturesPath.'/includes/foo.php';
-    }
-
-    /**
-     * @dataProvider crossCheckLoadersDumpers
-     */
-    public function testCrossCheck($fixture, $type)
-    {
-        $loaderClass = 'Symfony\\Component\\DependencyInjection\\Loader\\'.ucfirst($type).'FileLoader';
-        $dumperClass = 'Symfony\\Component\\DependencyInjection\\Dumper\\'.ucfirst($type).'Dumper';
-
-        $tmp = tempnam('sf_service_container', 'sf');
-
-        file_put_contents($tmp, file_get_contents(self::$fixturesPath.'/'.$type.'/'.$fixture));
-
-        $container1 = new ContainerBuilder();
-        $loader1 = new $loaderClass($container1, new FileLocator());
-        $loader1->load($tmp);
-
-        $dumper = new $dumperClass($container1);
-        file_put_contents($tmp, $dumper->dump());
-
-        $container2 = new ContainerBuilder();
-        $loader2 = new $loaderClass($container2, new FileLocator());
-        $loader2->load($tmp);
-
-        unlink($tmp);
-
-        $this->assertEquals($container2->getAliases(), $container1->getAliases(), 'loading a dump from a previously loaded container returns the same container');
-        $this->assertEquals($container2->getDefinitions(), $container1->getDefinitions(), 'loading a dump from a previously loaded container returns the same container');
-        $this->assertEquals($container2->getParameterBag()->all(), $container1->getParameterBag()->all(), '->getParameterBag() returns the same value for both containers');
-
-        $this->assertEquals(serialize($container2), serialize($container1), 'loading a dump from a previously loaded container returns the same container');
-
-        $services1 = array();
-        foreach ($container1 as $id => $service) {
-            $services1[$id] = serialize($service);
-        }
-        $services2 = array();
-        foreach ($container2 as $id => $service) {
-            $services2[$id] = serialize($service);
-        }
-
-        unset($services1['service_container'], $services2['service_container']);
-
-        $this->assertEquals($services2, $services1, 'Iterator on the containers returns the same services');
-    }
-
-    public function crossCheckLoadersDumpers()
-    {
-        $tests = array(
-            array('services1.xml', 'xml'),
-            array('services2.xml', 'xml'),
-            array('services6.xml', 'xml'),
-            array('services8.xml', 'xml'),
-            array('services9.xml', 'xml'),
-        );
-
-        if (class_exists('Symfony\Component\Yaml\Yaml')) {
-            $tests = array_merge($tests, array(
-                array('services1.yml', 'yaml'),
-                array('services2.yml', 'yaml'),
-                array('services6.yml', 'yaml'),
-                array('services8.yml', 'yaml'),
-                array('services9.yml', 'yaml'),
-            ));
-        }
-
-        return $tests;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php
deleted file mode 100644
index cea6740..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\DefinitionDecorator;
-
-class DefinitionDecoratorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructor()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $this->assertEquals('foo', $def->getParent());
-        $this->assertEquals(array(), $def->getChanges());
-    }
-
-    /**
-     * @dataProvider getPropertyTests
-     */
-    public function testSetProperty($property, $changeKey)
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $getter = 'get'.ucfirst($property);
-        $setter = 'set'.ucfirst($property);
-
-        $this->assertNull($def->$getter());
-        $this->assertSame($def, $def->$setter('foo'));
-        $this->assertEquals('foo', $def->$getter());
-        $this->assertEquals(array($changeKey => true), $def->getChanges());
-    }
-
-    public function getPropertyTests()
-    {
-        return array(
-            array('class', 'class'),
-            array('factory', 'factory'),
-            array('factoryClass', 'factory_class'),
-            array('factoryMethod', 'factory_method'),
-            array('factoryService', 'factory_service'),
-            array('configurator', 'configurator'),
-            array('file', 'file'),
-        );
-    }
-
-    public function testSetPublic()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $this->assertTrue($def->isPublic());
-        $this->assertSame($def, $def->setPublic(false));
-        $this->assertFalse($def->isPublic());
-        $this->assertEquals(array('public' => true), $def->getChanges());
-    }
-
-    public function testSetLazy()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $this->assertFalse($def->isLazy());
-        $this->assertSame($def, $def->setLazy(false));
-        $this->assertFalse($def->isLazy());
-        $this->assertEquals(array('lazy' => true), $def->getChanges());
-    }
-
-    public function testSetArgument()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $this->assertEquals(array(), $def->getArguments());
-        $this->assertSame($def, $def->replaceArgument(0, 'foo'));
-        $this->assertEquals(array('index_0' => 'foo'), $def->getArguments());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testReplaceArgumentShouldRequireIntegerIndex()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $def->replaceArgument('0', 'foo');
-    }
-
-    public function testReplaceArgument()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $def->setArguments(array(0 => 'foo', 1 => 'bar'));
-        $this->assertEquals('foo', $def->getArgument(0));
-        $this->assertEquals('bar', $def->getArgument(1));
-
-        $this->assertSame($def, $def->replaceArgument(1, 'baz'));
-        $this->assertEquals('foo', $def->getArgument(0));
-        $this->assertEquals('baz', $def->getArgument(1));
-
-        $this->assertEquals(array(0 => 'foo', 1 => 'bar', 'index_1' => 'baz'), $def->getArguments());
-    }
-
-    /**
-     * @expectedException \OutOfBoundsException
-     */
-    public function testGetArgumentShouldCheckBounds()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $def->setArguments(array(0 => 'foo'));
-        $def->replaceArgument(0, 'foo');
-
-        $def->getArgument(1);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php
deleted file mode 100644
index 583d49f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php
+++ /dev/null
@@ -1,327 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Definition;
-
-class DefinitionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::__construct
-     */
-    public function testConstructor()
-    {
-        $def = new Definition('stdClass');
-        $this->assertEquals('stdClass', $def->getClass(), '__construct() takes the class name as its first argument');
-
-        $def = new Definition('stdClass', array('foo'));
-        $this->assertEquals(array('foo'), $def->getArguments(), '__construct() takes an optional array of arguments as its second argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setFactory
-     * @covers Symfony\Component\DependencyInjection\Definition::getFactory
-     */
-    public function testSetGetFactory()
-    {
-        $def = new Definition('stdClass');
-
-        $this->assertSame($def, $def->setFactory('foo'), '->setFactory() implements a fluent interface');
-        $this->assertEquals('foo', $def->getFactory(), '->getFactory() returns the factory');
-
-        $def->setFactory('Foo::bar');
-        $this->assertEquals(array('Foo', 'bar'), $def->getFactory(), '->setFactory() converts string static method call to the array');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setClass
-     * @covers Symfony\Component\DependencyInjection\Definition::getClass
-     */
-    public function testSetGetClass()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setClass('foo'), '->setClass() implements a fluent interface');
-        $this->assertEquals('foo', $def->getClass(), '->getClass() returns the class name');
-    }
-
-    public function testSetGetDecoratedService()
-    {
-        $def = new Definition('stdClass');
-        $this->assertNull($def->getDecoratedService());
-        $def->setDecoratedService('foo', 'foo.renamed');
-        $this->assertEquals(array('foo', 'foo.renamed'), $def->getDecoratedService());
-        $def->setDecoratedService(null);
-        $this->assertNull($def->getDecoratedService());
-
-        $def = new Definition('stdClass');
-        $def->setDecoratedService('foo');
-        $this->assertEquals(array('foo', null), $def->getDecoratedService());
-        $def->setDecoratedService(null);
-        $this->assertNull($def->getDecoratedService());
-
-        $def = new Definition('stdClass');
-        $this->setExpectedException('InvalidArgumentException', 'The decorated service inner name for "foo" must be different than the service name itself.');
-        $def->setDecoratedService('foo', 'foo');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setArguments
-     * @covers Symfony\Component\DependencyInjection\Definition::getArguments
-     * @covers Symfony\Component\DependencyInjection\Definition::addArgument
-     */
-    public function testArguments()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setArguments(array('foo')), '->setArguments() implements a fluent interface');
-        $this->assertEquals(array('foo'), $def->getArguments(), '->getArguments() returns the arguments');
-        $this->assertSame($def, $def->addArgument('bar'), '->addArgument() implements a fluent interface');
-        $this->assertEquals(array('foo', 'bar'), $def->getArguments(), '->addArgument() adds an argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setMethodCalls
-     * @covers Symfony\Component\DependencyInjection\Definition::addMethodCall
-     * @covers Symfony\Component\DependencyInjection\Definition::hasMethodCall
-     * @covers Symfony\Component\DependencyInjection\Definition::removeMethodCall
-     */
-    public function testMethodCalls()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setMethodCalls(array(array('foo', array('foo')))), '->setMethodCalls() implements a fluent interface');
-        $this->assertEquals(array(array('foo', array('foo'))), $def->getMethodCalls(), '->getMethodCalls() returns the methods to call');
-        $this->assertSame($def, $def->addMethodCall('bar', array('bar')), '->addMethodCall() implements a fluent interface');
-        $this->assertEquals(array(array('foo', array('foo')), array('bar', array('bar'))), $def->getMethodCalls(), '->addMethodCall() adds a method to call');
-        $this->assertTrue($def->hasMethodCall('bar'), '->hasMethodCall() returns true if first argument is a method to call registered');
-        $this->assertFalse($def->hasMethodCall('no_registered'), '->hasMethodCall() returns false if first argument is not a method to call registered');
-        $this->assertSame($def, $def->removeMethodCall('bar'), '->removeMethodCall() implements a fluent interface');
-        $this->assertEquals(array(array('foo', array('foo'))), $def->getMethodCalls(), '->removeMethodCall() removes a method to call');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
-     * @expectedExceptionMessage Method name cannot be empty.
-     */
-    public function testExceptionOnEmptyMethodCall()
-    {
-        $def = new Definition('stdClass');
-        $def->addMethodCall('');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setFile
-     * @covers Symfony\Component\DependencyInjection\Definition::getFile
-     */
-    public function testSetGetFile()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setFile('foo'), '->setFile() implements a fluent interface');
-        $this->assertEquals('foo', $def->getFile(), '->getFile() returns the file to include');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setScope
-     * @covers Symfony\Component\DependencyInjection\Definition::getScope
-     */
-    public function testSetGetScope()
-    {
-        $def = new Definition('stdClass');
-        $this->assertEquals('container', $def->getScope());
-        $this->assertSame($def, $def->setScope('foo'));
-        $this->assertEquals('foo', $def->getScope());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setPublic
-     * @covers Symfony\Component\DependencyInjection\Definition::isPublic
-     */
-    public function testSetIsPublic()
-    {
-        $def = new Definition('stdClass');
-        $this->assertTrue($def->isPublic(), '->isPublic() returns true by default');
-        $this->assertSame($def, $def->setPublic(false), '->setPublic() implements a fluent interface');
-        $this->assertFalse($def->isPublic(), '->isPublic() returns false if the instance must not be public.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setSynthetic
-     * @covers Symfony\Component\DependencyInjection\Definition::isSynthetic
-     */
-    public function testSetIsSynthetic()
-    {
-        $def = new Definition('stdClass');
-        $this->assertFalse($def->isSynthetic(), '->isSynthetic() returns false by default');
-        $this->assertSame($def, $def->setSynthetic(true), '->setSynthetic() implements a fluent interface');
-        $this->assertTrue($def->isSynthetic(), '->isSynthetic() returns true if the service is synthetic.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setSynchronized
-     * @covers Symfony\Component\DependencyInjection\Definition::isSynchronized
-     */
-    public function testSetIsSynchronized()
-    {
-        $def = new Definition('stdClass');
-        $this->assertFalse($def->isSynchronized(), '->isSynchronized() returns false by default');
-        $this->assertSame($def, $def->setSynchronized(true), '->setSynchronized() implements a fluent interface');
-        $this->assertTrue($def->isSynchronized(), '->isSynchronized() returns true if the service is synchronized.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setLazy
-     * @covers Symfony\Component\DependencyInjection\Definition::isLazy
-     */
-    public function testSetIsLazy()
-    {
-        $def = new Definition('stdClass');
-        $this->assertFalse($def->isLazy(), '->isLazy() returns false by default');
-        $this->assertSame($def, $def->setLazy(true), '->setLazy() implements a fluent interface');
-        $this->assertTrue($def->isLazy(), '->isLazy() returns true if the service is lazy.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setAbstract
-     * @covers Symfony\Component\DependencyInjection\Definition::isAbstract
-     */
-    public function testSetIsAbstract()
-    {
-        $def = new Definition('stdClass');
-        $this->assertFalse($def->isAbstract(), '->isAbstract() returns false by default');
-        $this->assertSame($def, $def->setAbstract(true), '->setAbstract() implements a fluent interface');
-        $this->assertTrue($def->isAbstract(), '->isAbstract() returns true if the instance must not be public.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setConfigurator
-     * @covers Symfony\Component\DependencyInjection\Definition::getConfigurator
-     */
-    public function testSetGetConfigurator()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setConfigurator('foo'), '->setConfigurator() implements a fluent interface');
-        $this->assertEquals('foo', $def->getConfigurator(), '->getConfigurator() returns the configurator');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::clearTags
-     */
-    public function testClearTags()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->clearTags(), '->clearTags() implements a fluent interface');
-        $def->addTag('foo', array('foo' => 'bar'));
-        $def->clearTags();
-        $this->assertEquals(array(), $def->getTags(), '->clearTags() removes all current tags');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::clearTags
-     */
-    public function testClearTag()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->clearTags(), '->clearTags() implements a fluent interface');
-        $def->addTag('1foo1', array('foo1' => 'bar1'));
-        $def->addTag('2foo2', array('foo2' => 'bar2'));
-        $def->addTag('3foo3', array('foo3' => 'bar3'));
-        $def->clearTag('2foo2');
-        $this->assertTrue($def->hasTag('1foo1'));
-        $this->assertFalse($def->hasTag('2foo2'));
-        $this->assertTrue($def->hasTag('3foo3'));
-        $def->clearTag('1foo1');
-        $this->assertFalse($def->hasTag('1foo1'));
-        $this->assertTrue($def->hasTag('3foo3'));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::addTag
-     * @covers Symfony\Component\DependencyInjection\Definition::getTag
-     * @covers Symfony\Component\DependencyInjection\Definition::getTags
-     * @covers Symfony\Component\DependencyInjection\Definition::hasTag
-     */
-    public function testTags()
-    {
-        $def = new Definition('stdClass');
-        $this->assertEquals(array(), $def->getTag('foo'), '->getTag() returns an empty array if the tag is not defined');
-        $this->assertFalse($def->hasTag('foo'));
-        $this->assertSame($def, $def->addTag('foo'), '->addTag() implements a fluent interface');
-        $this->assertTrue($def->hasTag('foo'));
-        $this->assertEquals(array(array()), $def->getTag('foo'), '->getTag() returns attributes for a tag name');
-        $def->addTag('foo', array('foo' => 'bar'));
-        $this->assertEquals(array(array(), array('foo' => 'bar')), $def->getTag('foo'), '->addTag() can adds the same tag several times');
-        $def->addTag('bar', array('bar' => 'bar'));
-        $this->assertEquals($def->getTags(), array(
-            'foo' => array(array(), array('foo' => 'bar')),
-            'bar' => array(array('bar' => 'bar')),
-        ), '->getTags() returns all tags');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::replaceArgument
-     */
-    public function testSetArgument()
-    {
-        $def = new Definition('stdClass');
-
-        $def->addArgument('foo');
-        $this->assertSame(array('foo'), $def->getArguments());
-
-        $this->assertSame($def, $def->replaceArgument(0, 'moo'));
-        $this->assertSame(array('moo'), $def->getArguments());
-
-        $def->addArgument('moo');
-        $def
-            ->replaceArgument(0, 'foo')
-            ->replaceArgument(1, 'bar')
-        ;
-        $this->assertSame(array('foo', 'bar'), $def->getArguments());
-    }
-
-    /**
-     * @expectedException \OutOfBoundsException
-     */
-    public function testGetArgumentShouldCheckBounds()
-    {
-        $def = new Definition('stdClass');
-
-        $def->addArgument('foo');
-        $def->getArgument(1);
-    }
-
-    /**
-     * @expectedException \OutOfBoundsException
-     */
-    public function testReplaceArgumentShouldCheckBounds()
-    {
-        $def = new Definition('stdClass');
-
-        $def->addArgument('foo');
-        $def->replaceArgument(1, 'bar');
-    }
-
-    public function testSetGetProperties()
-    {
-        $def = new Definition('stdClass');
-
-        $this->assertEquals(array(), $def->getProperties());
-        $this->assertSame($def, $def->setProperties(array('foo' => 'bar')));
-        $this->assertEquals(array('foo' => 'bar'), $def->getProperties());
-    }
-
-    public function testSetProperty()
-    {
-        $def = new Definition('stdClass');
-
-        $this->assertEquals(array(), $def->getProperties());
-        $this->assertSame($def, $def->setProperty('foo', 'bar'));
-        $this->assertEquals(array('foo' => 'bar'), $def->getProperties());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php
deleted file mode 100644
index 79689d7..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\GraphvizDumper;
-
-class GraphvizDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = __DIR__.'/../Fixtures/';
-    }
-
-    public function testDump()
-    {
-        $dumper = new GraphvizDumper($container = new ContainerBuilder());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/graphviz/services1.dot', $dumper->dump(), '->dump() dumps an empty container as an empty dot file');
-
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services9.dot')), $dumper->dump(), '->dump() dumps services');
-
-        $container = include self::$fixturesPath.'/containers/container10.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services10.dot')), $dumper->dump(), '->dump() dumps services');
-
-        $container = include self::$fixturesPath.'/containers/container10.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals($dumper->dump(array(
-            'graph' => array('ratio' => 'normal'),
-            'node' => array('fontsize' => 13, 'fontname' => 'Verdana', 'shape' => 'square'),
-            'edge' => array('fontsize' => 12, 'fontname' => 'Verdana', 'color' => 'white', 'arrowhead' => 'closed', 'arrowsize' => 1),
-            'node.instance' => array('fillcolor' => 'green', 'style' => 'empty'),
-            'node.definition' => array('fillcolor' => 'grey'),
-            'node.missing' => array('fillcolor' => 'red', 'style' => 'empty'),
-        )), str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services10-1.dot')), '->dump() dumps services');
-    }
-
-    public function testDumpWithFrozenContainer()
-    {
-        $container = include self::$fixturesPath.'/containers/container13.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services13.dot')), $dumper->dump(), '->dump() dumps services');
-    }
-
-    public function testDumpWithFrozenCustomClassContainer()
-    {
-        $container = include self::$fixturesPath.'/containers/container14.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services14.dot')), $dumper->dump(), '->dump() dumps services');
-    }
-
-    public function testDumpWithUnresolvedParameter()
-    {
-        $container = include self::$fixturesPath.'/containers/container17.php';
-        $dumper = new GraphvizDumper($container);
-
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services17.dot')), $dumper->dump(), '->dump() dumps services');
-    }
-
-    public function testDumpWithScopes()
-    {
-        $container = include self::$fixturesPath.'/containers/container18.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services18.dot')), $dumper->dump(), '->dump() dumps services');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
deleted file mode 100644
index f6b5dad..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
+++ /dev/null
@@ -1,211 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Definition;
-
-class PhpDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    public function testDump()
-    {
-        $dumper = new PhpDumper($container = new ContainerBuilder());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services1.php', $dumper->dump(), '->dump() dumps an empty container as an empty PHP class');
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services1-1.php', $dumper->dump(array('class' => 'Container', 'base_class' => 'AbstractContainer', 'namespace' => 'Symfony\Component\DependencyInjection\Dump')), '->dump() takes a class and a base_class options');
-
-        $container = new ContainerBuilder();
-        new PhpDumper($container);
-    }
-
-    public function testDumpOptimizationString()
-    {
-        $definition = new Definition();
-        $definition->setClass('stdClass');
-        $definition->addArgument(array(
-            'only dot' => '.',
-            'concatenation as value' => '.\'\'.',
-            'concatenation from the start value' => '\'\'.',
-            '.' => 'dot as a key',
-            '.\'\'.' => 'concatenation as a key',
-            '\'\'.' => 'concatenation from the start key',
-            'optimize concatenation' => 'string1%some_string%string2',
-            'optimize concatenation with empty string' => 'string1%empty_value%string2',
-            'optimize concatenation from the start' => '%empty_value%start',
-            'optimize concatenation at the end' => 'end%empty_value%',
-        ));
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->setDefinition('test', $definition);
-        $container->setParameter('empty_value', '');
-        $container->setParameter('some_string', '-');
-        $container->compile();
-
-        $dumper = new PhpDumper($container);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services10.php', $dumper->dump(), '->dump() dumps an empty container as an empty PHP class');
-    }
-
-    public function testDumpRelativeDir()
-    {
-        $definition = new Definition();
-        $definition->setClass('stdClass');
-        $definition->addArgument('%foo%');
-        $definition->addArgument(array('%foo%' => '%buz%/'));
-
-        $container = new ContainerBuilder();
-        $container->setDefinition('test', $definition);
-        $container->setParameter('foo', 'wiz'.dirname(__DIR__));
-        $container->setParameter('bar', __DIR__);
-        $container->setParameter('baz', '%bar%/PhpDumperTest.php');
-        $container->setParameter('buz', dirname(dirname(__DIR__)));
-        $container->compile();
-
-        $dumper = new PhpDumper($container);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services12.php', $dumper->dump(array('file' => __FILE__)), '->dump() dumps __DIR__ relative strings');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testExportParameters()
-    {
-        $dumper = new PhpDumper(new ContainerBuilder(new ParameterBag(array('foo' => new Reference('foo')))));
-        $dumper->dump();
-    }
-
-    public function testAddParameters()
-    {
-        $container = include self::$fixturesPath.'/containers/container8.php';
-        $dumper = new PhpDumper($container);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services8.php', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddService()
-    {
-        // without compilation
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new PhpDumper($container);
-        $this->assertEquals(str_replace('%path%', str_replace('\\', '\\\\', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR), file_get_contents(self::$fixturesPath.'/php/services9.php')), $dumper->dump(), '->dump() dumps services');
-
-        // with compilation
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $container->compile();
-        $dumper = new PhpDumper($container);
-        $this->assertEquals(str_replace('%path%', str_replace('\\', '\\\\', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR), file_get_contents(self::$fixturesPath.'/php/services9_compiled.php')), $dumper->dump(), '->dump() dumps services');
-
-        $dumper = new PhpDumper($container = new ContainerBuilder());
-        $container->register('foo', 'FooClass')->addArgument(new \stdClass());
-        try {
-            $dumper->dump();
-            $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\Symfony\Component\DependencyInjection\Exception\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-            $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        }
-    }
-
-    public function testServicesWithAnonymousFactories()
-    {
-        $container = include self::$fixturesPath.'/containers/container19.php';
-        $dumper = new PhpDumper($container);
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services19.php', $dumper->dump(), '->dump() dumps services with anonymous factories');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Service id "bar$" cannot be converted to a valid PHP method name.
-     */
-    public function testAddServiceInvalidServiceId()
-    {
-        $container = new ContainerBuilder();
-        $container->register('bar$', 'FooClass');
-        $dumper = new PhpDumper($container);
-        $dumper->dump();
-    }
-
-    public function testAliases()
-    {
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $container->compile();
-        $dumper = new PhpDumper($container);
-        eval('?>'.$dumper->dump(array('class' => 'Symfony_DI_PhpDumper_Test_Aliases')));
-
-        $container = new \Symfony_DI_PhpDumper_Test_Aliases();
-        $container->set('foo', $foo = new \stdClass());
-        $this->assertSame($foo, $container->get('foo'));
-        $this->assertSame($foo, $container->get('alias_for_foo'));
-        $this->assertSame($foo, $container->get('alias_for_alias'));
-    }
-
-    public function testFrozenContainerWithoutAliases()
-    {
-        $container = new ContainerBuilder();
-        $container->compile();
-
-        $dumper = new PhpDumper($container);
-        eval('?>'.$dumper->dump(array('class' => 'Symfony_DI_PhpDumper_Test_Frozen_No_Aliases')));
-
-        $container = new \Symfony_DI_PhpDumper_Test_Frozen_No_Aliases();
-        $this->assertFalse($container->has('foo'));
-    }
-
-    public function testOverrideServiceWhenUsingADumpedContainer()
-    {
-        require_once self::$fixturesPath.'/php/services9.php';
-        require_once self::$fixturesPath.'/includes/foo.php';
-
-        $container = new \ProjectServiceContainer();
-        $container->set('bar', $bar = new \stdClass());
-        $container->setParameter('foo_bar', 'foo_bar');
-
-        $this->assertEquals($bar, $container->get('bar'), '->set() overrides an already defined service');
-    }
-
-    public function testOverrideServiceWhenUsingADumpedContainerAndServiceIsUsedFromAnotherOne()
-    {
-        require_once self::$fixturesPath.'/php/services9.php';
-        require_once self::$fixturesPath.'/includes/foo.php';
-        require_once self::$fixturesPath.'/includes/classes.php';
-
-        $container = new \ProjectServiceContainer();
-        $container->set('bar', $bar = new \stdClass());
-
-        $this->assertSame($bar, $container->get('foo')->bar, '->set() overrides an already defined service');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
-     */
-    public function testCircularReference()
-    {
-        $container = new ContainerBuilder();
-        $container->register('foo', 'stdClass')->addArgument(new Reference('bar'));
-        $container->register('bar', 'stdClass')->setPublic(false)->addMethodCall('setA', array(new Reference('baz')));
-        $container->register('baz', 'stdClass')->addMethodCall('setA', array(new Reference('foo')));
-        $container->compile();
-
-        $dumper = new PhpDumper($container);
-        $dumper->dump();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php
deleted file mode 100644
index 76cbb60..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\XmlDumper;
-
-class XmlDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    public function testDump()
-    {
-        $dumper = new XmlDumper(new ContainerBuilder());
-
-        $this->assertXmlStringEqualsXmlFile(self::$fixturesPath.'/xml/services1.xml', $dumper->dump(), '->dump() dumps an empty container as an empty XML file');
-    }
-
-    public function testExportParameters()
-    {
-        $container = include self::$fixturesPath.'//containers/container8.php';
-        $dumper = new XmlDumper($container);
-        $this->assertXmlStringEqualsXmlFile(self::$fixturesPath.'/xml/services8.xml', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddParameters()
-    {
-        $container = include self::$fixturesPath.'//containers/container8.php';
-        $dumper = new XmlDumper($container);
-        $this->assertXmlStringEqualsXmlFile(self::$fixturesPath.'/xml/services8.xml', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddService()
-    {
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new XmlDumper($container);
-        $this->assertEquals(str_replace('%path%', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath.'/xml/services9.xml')), $dumper->dump(), '->dump() dumps services');
-
-        $dumper = new XmlDumper($container = new ContainerBuilder());
-        $container->register('foo', 'FooClass')->addArgument(new \stdClass());
-        try {
-            $dumper->dump();
-            $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-            $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        }
-    }
-
-    public function testDumpAnonymousServices()
-    {
-        $container = include self::$fixturesPath.'/containers/container11.php';
-        $dumper = new XmlDumper($container);
-        $this->assertEquals("<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
-  <services>
-    <service id=\"foo\" class=\"FooClass\">
-      <argument type=\"service\">
-        <service class=\"BarClass\">
-          <argument type=\"service\">
-            <service class=\"BazClass\"/>
-          </argument>
-        </service>
-      </argument>
-    </service>
-  </services>
-</container>
-", $dumper->dump());
-    }
-
-    public function testDumpEntities()
-    {
-        $container = include self::$fixturesPath.'/containers/container12.php';
-        $dumper = new XmlDumper($container);
-        $this->assertEquals("<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
-  <services>
-    <service id=\"foo\" class=\"FooClass\Foo\">
-      <tag name=\"foo&quot;bar\bar\" foo=\"foo&quot;barřž€\"/>
-      <argument>foo&lt;&gt;&amp;bar</argument>
-    </service>
-  </services>
-</container>
-", $dumper->dump());
-    }
-
-    /**
-     * @dataProvider provideDecoratedServicesData
-     */
-    public function testDumpDecoratedServices($expectedXmlDump, $container)
-    {
-        $dumper = new XmlDumper($container);
-        $this->assertEquals($expectedXmlDump, $dumper->dump());
-    }
-
-    public function provideDecoratedServicesData()
-    {
-        $fixturesPath = realpath(__DIR__.'/../Fixtures/');
-
-        return array(
-            array("<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
-  <services>
-    <service id=\"foo\" class=\"FooClass\Foo\" decorates=\"bar\" decoration-inner-name=\"bar.woozy\"/>
-  </services>
-</container>
-", include $fixturesPath.'/containers/container15.php'),
-            array("<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
-  <services>
-    <service id=\"foo\" class=\"FooClass\Foo\" decorates=\"bar\"/>
-  </services>
-</container>
-", include $fixturesPath.'/containers/container16.php'),
-        );
-    }
-
-    /**
-     * @dataProvider provideCompiledContainerData
-     */
-    public function testCompiledContainerCanBeDumped($containerFile)
-    {
-        $fixturesPath = __DIR__.'/../Fixtures';
-        $container = require $fixturesPath.'/containers/'.$containerFile.'.php';
-        $container->compile();
-        $dumper = new XmlDumper($container);
-        $dumper->dump();
-    }
-
-    public function provideCompiledContainerData()
-    {
-        return array(
-            array('container8'),
-            array('container9'),
-            array('container11'),
-            array('container12'),
-            array('container14'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php
deleted file mode 100644
index f9747a7..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\YamlDumper;
-
-class YamlDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    public function testDump()
-    {
-        $dumper = new YamlDumper($container = new ContainerBuilder());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services1.yml', $dumper->dump(), '->dump() dumps an empty container as an empty YAML file');
-
-        $container = new ContainerBuilder();
-        $dumper = new YamlDumper($container);
-    }
-
-    public function testAddParameters()
-    {
-        $container = include self::$fixturesPath.'/containers/container8.php';
-        $dumper = new YamlDumper($container);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services8.yml', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddService()
-    {
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new YamlDumper($container);
-        $this->assertEquals(str_replace('%path%', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath.'/yaml/services9.yml')), $dumper->dump(), '->dump() dumps services');
-
-        $dumper = new YamlDumper($container = new ContainerBuilder());
-        $container->register('foo', 'FooClass')->addArgument(new \stdClass());
-        try {
-            $dumper->dump();
-            $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-            $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Extension/ExtensionTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Extension/ExtensionTest.php
deleted file mode 100644
index e7f19a6..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Extension/ExtensionTest.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Extension;
-
-class ExtensionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getResolvedEnabledFixtures
-     */
-    public function testIsConfigEnabledReturnsTheResolvedValue($enabled)
-    {
-        $pb = $this->getMockBuilder('Symfony\Component\DependencyInjection\ParameterBag\ParameterBag')
-            ->setMethods(array('resolveValue'))
-            ->getMock()
-        ;
-
-        $container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
-            ->setMethods(array('getParameterBag'))
-            ->getMock()
-        ;
-
-        $pb->expects($this->once())
-            ->method('resolveValue')
-            ->with($this->equalTo($enabled))
-            ->will($this->returnValue($enabled))
-        ;
-
-        $container->expects($this->once())
-            ->method('getParameterBag')
-            ->will($this->returnValue($pb))
-        ;
-
-        $extension = $this->getMockBuilder('Symfony\Component\DependencyInjection\Extension\Extension')
-            ->setMethods(array())
-            ->getMockForAbstractClass()
-        ;
-
-        $r = new \ReflectionMethod('Symfony\Component\DependencyInjection\Extension\Extension', 'isConfigEnabled');
-        $r->setAccessible(true);
-
-        $r->invoke($extension, $container, array('enabled' => $enabled));
-    }
-
-    public function getResolvedEnabledFixtures()
-    {
-        return array(
-            array(true),
-            array(false),
-        );
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
-     * @expectedExceptionMessage The config array has no 'enabled' key.
-     */
-    public function testIsConfigEnabledOnNonEnableableConfig()
-    {
-        $container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
-            ->getMock()
-        ;
-
-        $extension = $this->getMockBuilder('Symfony\Component\DependencyInjection\Extension\Extension')
-            ->setMethods(array())
-            ->getMockForAbstractClass()
-        ;
-
-        $r = new \ReflectionMethod('Symfony\Component\DependencyInjection\Extension\Extension', 'isConfigEnabled');
-        $r->setAccessible(true);
-
-        $r->invoke($extension, $container, array());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php
deleted file mode 100644
index a16ca9f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-require_once __DIR__.'/../includes/classes.php';
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass')->
-    addArgument(new Reference('bar'))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php
deleted file mode 100644
index 3e6cafc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass')->
-    addArgument(new Definition('BarClass', array(new Definition('BazClass'))))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php
deleted file mode 100644
index 73c5b4e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass\\Foo')->
-    addArgument('foo<>&bar')->
-    addTag('foo"bar\\bar', array('foo' => 'foo"barřž€'))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container13.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container13.php
deleted file mode 100644
index cc716c7..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container13.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass')->
-    addArgument(new Reference('bar'))
-;
-$container->
-    register('bar', 'BarClass')
-;
-$container->compile();
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container14.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container14.php
deleted file mode 100644
index 56ea6c1..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container14.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-namespace Container14;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * This file is included in Tests\Dumper\GraphvizDumperTest::testDumpWithFrozenCustomClassContainer
- * and Tests\Dumper\XmlDumperTest::testCompiledContainerCanBeDumped.
- */
-if (!class_exists('Container14\ProjectServiceContainer')) {
-    class ProjectServiceContainer extends ContainerBuilder
-    {
-    }
-}
-
-return new ProjectServiceContainer();
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container15.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container15.php
deleted file mode 100644
index bb41ea3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container15.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-$container = new ContainerBuilder();
-$container
-    ->register('foo', 'FooClass\\Foo')
-    ->setDecoratedService('bar', 'bar.woozy')
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container16.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container16.php
deleted file mode 100644
index 67b4d35..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container16.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-$container = new ContainerBuilder();
-$container
-    ->register('foo', 'FooClass\\Foo')
-    ->setDecoratedService('bar')
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container17.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container17.php
deleted file mode 100644
index d902ec2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container17.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-$container = new ContainerBuilder();
-$container
-    ->register('foo', '%foo.class%')
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container18.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container18.php
deleted file mode 100644
index 0248ed4..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container18.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Scope;
-
-$container = new ContainerBuilder();
-$container->addScope(new Scope('request'));
-$container->
-    register('foo', 'FooClass')->
-    setScope('request')
-;
-$container->compile();
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container19.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container19.php
deleted file mode 100644
index 64b8f06..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container19.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-require_once __DIR__.'/../includes/classes.php';
-
-$container = new ContainerBuilder();
-
-$container
-    ->register('service_from_anonymous_factory', 'Bar\FooClass')
-    ->setFactory(array(new Definition('Bar\FooClass'), 'getInstance'))
-;
-
-$anonymousServiceWithFactory = new Definition('Bar\FooClass');
-$anonymousServiceWithFactory->setFactory('Bar\FooClass::getInstance');
-$container
-    ->register('service_with_method_call_and_factory', 'Bar\FooClass')
-    ->addMethodCall('setBar', array($anonymousServiceWithFactory))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php
deleted file mode 100644
index f0b4ca9..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-$container = new ContainerBuilder(new ParameterBag(array(
-    'FOO' => '%baz%',
-    'baz' => 'bar',
-    'bar' => 'foo is %%foo bar',
-    'escape' => '@escapeme',
-    'values' => array(true, false, null, 0, 1000.3, 'true', 'false', 'null'),
-)));
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
deleted file mode 100644
index 11f34dc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-require_once __DIR__.'/../includes/classes.php';
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'Bar\FooClass')->
-    addTag('foo', array('foo' => 'foo'))->
-    addTag('foo', array('bar' => 'bar', 'baz' => 'baz'))->
-    setFactoryClass('Bar\\FooClass')->
-    setFactoryMethod('getInstance')->
-    setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%'), true, new Reference('service_container')))->
-    setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz'), 'qux' => array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%')))->
-    addMethodCall('setBar', array(new Reference('bar')))->
-    addMethodCall('initialize')->
-    setConfigurator('sc_configure')
-;
-$container->
-    register('bar', 'Bar\FooClass')->
-    setArguments(array('foo', new Reference('foo.baz'), new Parameter('foo_bar')))->
-    setScope('container')->
-    setConfigurator(array(new Reference('foo.baz'), 'configure'))
-;
-$container->
-    register('foo.baz', '%baz_class%')->
-    setFactoryClass('%baz_class%')->
-    setFactoryMethod('getInstance')->
-    setConfigurator(array('%baz_class%', 'configureStatic1'))
-;
-$container->
-    register('foo_bar', '%foo_class%')->
-    setScope('prototype')
-;
-$container->getParameterBag()->clear();
-$container->getParameterBag()->add(array(
-    'baz_class' => 'BazClass',
-    'foo_class' => 'Bar\FooClass',
-    'foo' => 'bar',
-));
-$container->setAlias('alias_for_foo', 'foo');
-$container->setAlias('alias_for_alias', 'alias_for_foo');
-$container->
-    register('method_call1', 'Bar\FooClass')->
-    setFile(realpath(__DIR__.'/../includes/foo.php'))->
-    addMethodCall('setBar', array(new Reference('foo')))->
-    addMethodCall('setBar', array(new Reference('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE)))->
-    addMethodCall('setBar', array(new Reference('foo3', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))->
-    addMethodCall('setBar', array(new Reference('foobaz', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))->
-    addMethodCall('setBar', array(new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")')))
-;
-$container->
-    register('factory_service', 'Bar')->
-    setFactoryService('foo.baz')->
-    setFactoryMethod('getInstance')
-;
-
-$container
-    ->register('foo_with_inline', 'Foo')
-    ->addMethodCall('setBar', array(new Reference('inlined')))
-;
-$container
-    ->register('inlined', 'Bar')
-    ->setProperty('pub', 'pub')
-    ->addMethodCall('setBaz', array(new Reference('baz')))
-    ->setPublic(false)
-;
-$container
-    ->register('baz', 'Baz')
-    ->addMethodCall('setFoo', array(new Reference('foo_with_inline')))
-;
-$container
-    ->register('request', 'Request')
-    ->setSynthetic(true)
-    ->setSynchronized(true)
-;
-$container
-    ->register('depends_on_request', 'stdClass')
-    ->addMethodCall('setRequest', array(new Reference('request', ContainerInterface::NULL_ON_INVALID_REFERENCE, false)))
-;
-$container
-    ->register('configurator_service', 'ConfClass')
-    ->setPublic(false)
-    ->addMethodCall('setFoo', array(new Reference('baz')))
-;
-$container
-    ->register('configured_service', 'stdClass')
-    ->setConfigurator(array(new Reference('configurator_service'), 'configureStdClass'))
-;
-$container
-    ->register('decorated', 'stdClass')
-;
-$container
-    ->register('decorator_service', 'stdClass')
-    ->setDecoratedService('decorated')
-;
-$container
-    ->register('decorator_service_with_name', 'stdClass')
-    ->setDecoratedService('decorated', 'decorated.pif-pouf')
-;
-$container
-    ->register('new_factory', 'FactoryClass')
-    ->setProperty('foo', 'bar')
-    ->setScope('container')
-    ->setPublic(false)
-;
-$container
-    ->register('new_factory_service', 'FooBarBaz')
-    ->setProperty('foo', 'bar')
-    ->setFactory(array(new Reference('new_factory'), 'getInstance'))
-;
-$container
-    ->register('service_from_static_method', 'Bar\FooClass')
-    ->setFactory(array('Bar\FooClass', 'getInstance'))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot
deleted file mode 100644
index 1bb7c30..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot
+++ /dev/null
@@ -1,7 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot
deleted file mode 100644
index 0e578b1..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot
+++ /dev/null
@@ -1,10 +0,0 @@
-digraph sc {
-  ratio="normal"
-  node [fontsize="13" fontname="Verdana" shape="square"];
-  edge [fontsize="12" fontname="Verdana" color="white" arrowhead="closed" arrowsize="1"];
-
-  node_foo [label="foo\nFooClass\n", shape=square, fillcolor="grey", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=square, fillcolor="green", style="empty"];
-  node_bar [label="bar\n\n", shape=square, fillcolor="red", style="empty"];
-  node_foo -> node_bar [label="" style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot
deleted file mode 100644
index f17857f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot
+++ /dev/null
@@ -1,10 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_foo [label="foo\nFooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-  node_bar [label="bar\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foo -> node_bar [label="" style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services13.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services13.dot
deleted file mode 100644
index bc7f813..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services13.dot
+++ /dev/null
@@ -1,10 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_foo [label="foo\nFooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_bar [label="bar\nBarClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-  node_foo -> node_bar [label="" style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services14.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services14.dot
deleted file mode 100644
index d07dc38..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services14.dot
+++ /dev/null
@@ -1,7 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_service_container [label="service_container\nContainer14\\ProjectServiceContainer\n", shape=record, fillcolor="#9999ff", style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services17.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services17.dot
deleted file mode 100644
index a6d04bf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services17.dot
+++ /dev/null
@@ -1,8 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_foo [label="foo\n%foo.class%\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services18.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services18.dot
deleted file mode 100644
index 4fbccee..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services18.dot
+++ /dev/null
@@ -1,8 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_foo [label="foo\nFooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot
deleted file mode 100644
index e233d62..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot
+++ /dev/null
@@ -1,43 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_foo [label="foo (alias_for_foo)\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_bar [label="bar\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_foo_baz [label="foo.baz\nBazClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_foo_bar [label="foo_bar\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="dotted"];
-  node_method_call1 [label="method_call1\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_factory_service [label="factory_service\nBar\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_foo_with_inline [label="foo_with_inline\nFoo\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_inlined [label="inlined\nBar\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_baz [label="baz\nBaz\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_request [label="request\nRequest\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_depends_on_request [label="depends_on_request\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_configurator_service [label="configurator_service\nConfClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_configured_service [label="configured_service\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_decorated [label="decorated\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_decorator_service [label="decorator_service\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_decorator_service_with_name [label="decorator_service_with_name\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_new_factory [label="new_factory\nFactoryClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_new_factory_service [label="new_factory_service\nFooBarBaz\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_from_static_method [label="service_from_static_method\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-  node_foo2 [label="foo2\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foo3 [label="foo3\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foobaz [label="foobaz\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foo -> node_foo_baz [label="" style="filled"];
-  node_foo -> node_service_container [label="" style="filled"];
-  node_foo -> node_foo_baz [label="" style="dashed"];
-  node_foo -> node_bar [label="setBar()" style="dashed"];
-  node_bar -> node_foo_baz [label="" style="filled"];
-  node_method_call1 -> node_foo [label="setBar()" style="dashed"];
-  node_method_call1 -> node_foo2 [label="setBar()" style="dashed"];
-  node_method_call1 -> node_foo3 [label="setBar()" style="dashed"];
-  node_method_call1 -> node_foobaz [label="setBar()" style="dashed"];
-  node_foo_with_inline -> node_inlined [label="setBar()" style="dashed"];
-  node_inlined -> node_baz [label="setBaz()" style="dashed"];
-  node_baz -> node_foo_with_inline [label="setFoo()" style="dashed"];
-  node_depends_on_request -> node_request [label="setRequest()" style="dashed"];
-  node_configurator_service -> node_baz [label="setFoo()" style="dashed"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php
deleted file mode 100644
index c9f8010..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
-
-class ProjectExtension implements ExtensionInterface
-{
-    public function load(array $configs, ContainerBuilder $configuration)
-    {
-        $config = call_user_func_array('array_merge', $configs);
-
-        $configuration->setDefinition('project.service.bar', new Definition('FooClass'));
-        $configuration->setParameter('project.parameter.bar', isset($config['foo']) ? $config['foo'] : 'foobar');
-
-        $configuration->setDefinition('project.service.foo', new Definition('FooClass'));
-        $configuration->setParameter('project.parameter.foo', isset($config['foo']) ? $config['foo'] : 'foobar');
-
-        return $configuration;
-    }
-
-    public function getXsdValidationBasePath()
-    {
-        return false;
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/project';
-    }
-
-    public function getAlias()
-    {
-        return 'project';
-    }
-
-    public function getConfiguration(array $config, ContainerBuilder $container)
-    {
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php
deleted file mode 100644
index 2ee2f12..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-class ProjectWithXsdExtension extends ProjectExtension
-{
-    public function getXsdValidationBasePath()
-    {
-        return __DIR__.'/schema';
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/projectwithxsd';
-    }
-
-    public function getAlias()
-    {
-        return 'projectwithxsd';
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar
deleted file mode 100644
index 402e17b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php require_once "phar://ProjectWithXsdExtensionInPhar.phar/ProjectWithXsdExtensionInPhar.php"; __HALT_COMPILER(); ?>
-£          "   ProjectWithXsdExtensionInPhar.phar    !   ProjectWithXsdExtensionInPhar.php~  ÿakM~  õ ÷¯¶         schema/project-1.0.xsd¸  ÿakM¸  Qp£´¶      <?php
-
-class ProjectWithXsdExtensionInPhar extends ProjectExtension
-{
-    public function getXsdValidationBasePath()
-    {
-        return __DIR__.'/schema';
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/projectwithxsdinphar';
-    }
-
-    public function getAlias()
-    {
-        return 'projectwithxsdinphar';
-    }
-}<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://www.example.com/schema/projectwithxsdinphar"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://www.example.com/schema/projectwithxsdinphar"
-    elementFormDefault="qualified">
-
-  <xsd:element name="bar" type="bar" />
-
-  <xsd:complexType name="bar">
-    <xsd:attribute name="foo" type="xsd:string" />
-  </xsd:complexType>
-</xsd:schema>W¬î©]ʯ¦`¡5,,)E°àYÃ   GBMB
\ No newline at end of file
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php
deleted file mode 100644
index 70c3d27..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-function sc_configure($instance)
-{
-    $instance->configure();
-}
-
-class BarClass
-{
-    protected $baz;
-    public $foo = 'foo';
-
-    public function setBaz(BazClass $baz)
-    {
-        $this->baz = $baz;
-    }
-
-    public function getBaz()
-    {
-        return $this->baz;
-    }
-}
-
-class BazClass
-{
-    protected $foo;
-
-    public function setFoo(Foo $foo)
-    {
-        $this->foo = $foo;
-    }
-
-    public function configure($instance)
-    {
-        $instance->configure();
-    }
-
-    public static function getInstance()
-    {
-        return new self();
-    }
-
-    public static function configureStatic($instance)
-    {
-        $instance->configure();
-    }
-
-    public static function configureStatic1()
-    {
-    }
-}
-
-class BarUserClass
-{
-    public $bar;
-
-    public function __construct(BarClass $bar)
-    {
-        $this->bar = $bar;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php
deleted file mode 100644
index cfe9425..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-$file = __DIR__.'/ProjectWithXsdExtensionInPhar.phar';
-if (is_file($file)) {
-    @unlink($file);
-}
-
-$phar = new Phar($file, 0, 'ProjectWithXsdExtensionInPhar.phar');
-$phar->addFromString('ProjectWithXsdExtensionInPhar.php', <<<EOT
-<?php
-
-class ProjectWithXsdExtensionInPhar extends ProjectExtension
-{
-    public function getXsdValidationBasePath()
-    {
-        return __DIR__.'/schema';
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/projectwithxsdinphar';
-    }
-
-    public function getAlias()
-    {
-        return 'projectwithxsdinphar';
-    }
-}
-EOT
-);
-$phar->addFromString('schema/project-1.0.xsd', <<<EOT
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://www.example.com/schema/projectwithxsdinphar"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://www.example.com/schema/projectwithxsdinphar"
-    elementFormDefault="qualified">
-
-  <xsd:element name="bar" type="bar" />
-
-  <xsd:complexType name="bar">
-    <xsd:attribute name="foo" type="xsd:string" />
-  </xsd:complexType>
-</xsd:schema>
-EOT
-);
-$phar->setStub('<?php require_once "phar://ProjectWithXsdExtensionInPhar.phar/ProjectWithXsdExtensionInPhar.php"; __HALT_COMPILER(); ?>');
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php
deleted file mode 100644
index 55968af..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace Bar;
-
-class FooClass
-{
-    public $foo, $moo;
-
-    public $bar = null, $initialized = false, $configured = false, $called = false, $arguments = array();
-
-    public function __construct($arguments = array())
-    {
-        $this->arguments = $arguments;
-    }
-
-    public static function getInstance($arguments = array())
-    {
-        $obj = new self($arguments);
-        $obj->called = true;
-
-        return $obj;
-    }
-
-    public function initialize()
-    {
-        $this->initialized = true;
-    }
-
-    public function configure()
-    {
-        $this->configured = true;
-    }
-
-    public function setBar($value = null)
-    {
-        $this->bar = $value;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd
deleted file mode 100644
index 282884e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://www.example.com/schema/projectwithxsd"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://www.example.com/schema/projectwithxsd"
-    elementFormDefault="qualified">
-
-  <xsd:element name="bar" type="bar" />
-
-  <xsd:complexType name="bar">
-    <xsd:attribute name="foo" type="xsd:string" />
-  </xsd:complexType>
-</xsd:schema>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini
deleted file mode 100644
index 9f84a60..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-{NOT AN INI FILE}
-{JUST A PLAIN TEXT FILE}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini
deleted file mode 100644
index df92f75..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[parameters]
-  foo = bar
-  bar = %foo%
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini
deleted file mode 100644
index e50f722..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[parameters]
-  FOO = foo
-  baz = baz
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini
deleted file mode 100644
index 75fbac6..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[parameters]
-  imported_from_ini = true
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php
deleted file mode 100644
index 5497a75..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * ProjectServiceContainer.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    private $parameters;
-    private $targetDirs = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php
deleted file mode 100644
index a9a1fff..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
-
-/**
- * ProjectServiceContainer.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    private $parameters;
-    private $targetDirs = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $this->parameters = $this->getDefaultParameters();
-
-        $this->services =
-        $this->scopedServices =
-        $this->scopeStacks = array();
-
-        $this->set('service_container', $this);
-
-        $this->scopes = array();
-        $this->scopeChildren = array();
-        $this->methodMap = array(
-            'test' => 'getTestService',
-        );
-
-        $this->aliases = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function compile()
-    {
-        throw new LogicException('You cannot compile a dumped frozen container.');
-    }
-
-    /**
-     * Gets the 'test' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getTestService()
-    {
-        return $this->services['test'] = new \stdClass(array('only dot' => '.', 'concatenation as value' => '.\'\'.', 'concatenation from the start value' => '\'\'.', '.' => 'dot as a key', '.\'\'.' => 'concatenation as a key', '\'\'.' => 'concatenation from the start key', 'optimize concatenation' => 'string1-string2', 'optimize concatenation with empty string' => 'string1string2', 'optimize concatenation from the start' => 'start', 'optimize concatenation at the end' => 'end'));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameter($name)
-    {
-        $name = strtolower($name);
-
-        if (!(isset($this->parameters[$name]) || array_key_exists($name, $this->parameters))) {
-            throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
-        }
-
-        return $this->parameters[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasParameter($name)
-    {
-        $name = strtolower($name);
-
-        return isset($this->parameters[$name]) || array_key_exists($name, $this->parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameter($name, $value)
-    {
-        throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameterBag()
-    {
-        if (null === $this->parameterBag) {
-            $this->parameterBag = new FrozenParameterBag($this->parameters);
-        }
-
-        return $this->parameterBag;
-    }
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'empty_value' => '',
-            'some_string' => '-',
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php
deleted file mode 100644
index 6e7823e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
-
-/**
- * ProjectServiceContainer.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    private $parameters;
-    private $targetDirs = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $dir = __DIR__;
-        for ($i = 1; $i <= 5; ++$i) {
-            $this->targetDirs[$i] = $dir = dirname($dir);
-        }
-        $this->parameters = $this->getDefaultParameters();
-
-        $this->services =
-        $this->scopedServices =
-        $this->scopeStacks = array();
-
-        $this->set('service_container', $this);
-
-        $this->scopes = array();
-        $this->scopeChildren = array();
-        $this->methodMap = array(
-            'test' => 'getTestService',
-        );
-
-        $this->aliases = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function compile()
-    {
-        throw new LogicException('You cannot compile a dumped frozen container.');
-    }
-
-    /**
-     * Gets the 'test' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getTestService()
-    {
-        return $this->services['test'] = new \stdClass(('wiz'.$this->targetDirs[1]), array(('wiz'.$this->targetDirs[1]) => ($this->targetDirs[2].'/')));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameter($name)
-    {
-        $name = strtolower($name);
-
-        if (!(isset($this->parameters[$name]) || array_key_exists($name, $this->parameters))) {
-            throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
-        }
-
-        return $this->parameters[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasParameter($name)
-    {
-        $name = strtolower($name);
-
-        return isset($this->parameters[$name]) || array_key_exists($name, $this->parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameter($name, $value)
-    {
-        throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameterBag()
-    {
-        if (null === $this->parameterBag) {
-            $this->parameterBag = new FrozenParameterBag($this->parameters);
-        }
-
-        return $this->parameterBag;
-    }
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'foo' => ('wiz'.$this->targetDirs[1]),
-            'bar' => __DIR__,
-            'baz' => (__DIR__.'/PhpDumperTest.php'),
-            'buz' => $this->targetDirs[2],
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services19.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services19.php
deleted file mode 100644
index 455600d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services19.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * ProjectServiceContainer.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    private $parameters;
-    private $targetDirs = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct();
-        $this->methodMap = array(
-            'service_from_anonymous_factory' => 'getServiceFromAnonymousFactoryService',
-            'service_with_method_call_and_factory' => 'getServiceWithMethodCallAndFactoryService',
-        );
-    }
-
-    /**
-     * Gets the 'service_from_anonymous_factory' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getServiceFromAnonymousFactoryService()
-    {
-        return $this->services['service_from_anonymous_factory'] = call_user_func(array(new \Bar\FooClass(), 'getInstance'));
-    }
-
-    /**
-     * Gets the 'service_with_method_call_and_factory' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getServiceWithMethodCallAndFactoryService()
-    {
-        $this->services['service_with_method_call_and_factory'] = $instance = new \Bar\FooClass();
-
-        $instance->setBar(\Bar\FooClass::getInstance());
-
-        return $instance;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php
deleted file mode 100644
index c2c52fe..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * ProjectServiceContainer.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    private $parameters;
-    private $targetDirs = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct(new ParameterBag($this->getDefaultParameters()));
-    }
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'foo' => '%baz%',
-            'baz' => 'bar',
-            'bar' => 'foo is %%foo bar',
-            'escape' => '@escapeme',
-            'values' => array(
-                0 => true,
-                1 => false,
-                2 => NULL,
-                3 => 0,
-                4 => 1000.3,
-                5 => 'true',
-                6 => 'false',
-                7 => 'null',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
deleted file mode 100644
index 958ecfb..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
+++ /dev/null
@@ -1,404 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * ProjectServiceContainer.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    private $parameters;
-    private $targetDirs = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct(new ParameterBag($this->getDefaultParameters()));
-        $this->methodMap = array(
-            'bar' => 'getBarService',
-            'baz' => 'getBazService',
-            'configurator_service' => 'getConfiguratorServiceService',
-            'configured_service' => 'getConfiguredServiceService',
-            'decorated' => 'getDecoratedService',
-            'decorator_service' => 'getDecoratorServiceService',
-            'decorator_service_with_name' => 'getDecoratorServiceWithNameService',
-            'depends_on_request' => 'getDependsOnRequestService',
-            'factory_service' => 'getFactoryServiceService',
-            'foo' => 'getFooService',
-            'foo.baz' => 'getFoo_BazService',
-            'foo_bar' => 'getFooBarService',
-            'foo_with_inline' => 'getFooWithInlineService',
-            'inlined' => 'getInlinedService',
-            'method_call1' => 'getMethodCall1Service',
-            'new_factory' => 'getNewFactoryService',
-            'new_factory_service' => 'getNewFactoryServiceService',
-            'request' => 'getRequestService',
-            'service_from_static_method' => 'getServiceFromStaticMethodService',
-        );
-        $this->aliases = array(
-            'alias_for_alias' => 'foo',
-            'alias_for_foo' => 'foo',
-        );
-    }
-
-    /**
-     * Gets the 'bar' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getBarService()
-    {
-        $a = $this->get('foo.baz');
-
-        $this->services['bar'] = $instance = new \Bar\FooClass('foo', $a, $this->getParameter('foo_bar'));
-
-        $a->configure($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'baz' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Baz A Baz instance.
-     */
-    protected function getBazService()
-    {
-        $this->services['baz'] = $instance = new \Baz();
-
-        $instance->setFoo($this->get('foo_with_inline'));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'configured_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getConfiguredServiceService()
-    {
-        $this->services['configured_service'] = $instance = new \stdClass();
-
-        $this->get('configurator_service')->configureStdClass($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'decorated' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getDecoratedService()
-    {
-        return $this->services['decorated'] = new \stdClass();
-    }
-
-    /**
-     * Gets the 'decorator_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getDecoratorServiceService()
-    {
-        return $this->services['decorator_service'] = new \stdClass();
-    }
-
-    /**
-     * Gets the 'decorator_service_with_name' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getDecoratorServiceWithNameService()
-    {
-        return $this->services['decorator_service_with_name'] = new \stdClass();
-    }
-
-    /**
-     * Gets the 'depends_on_request' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getDependsOnRequestService()
-    {
-        $this->services['depends_on_request'] = $instance = new \stdClass();
-
-        $instance->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'factory_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar A Bar instance.
-     */
-    protected function getFactoryServiceService()
-    {
-        return $this->services['factory_service'] = $this->get('foo.baz')->getInstance();
-    }
-
-    /**
-     * Gets the 'foo' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getFooService()
-    {
-        $a = $this->get('foo.baz');
-
-        $this->services['foo'] = $instance = \Bar\FooClass::getInstance('foo', $a, array($this->getParameter('foo') => 'foo is '.$this->getParameter('foo').'', 'foobar' => $this->getParameter('foo')), true, $this);
-
-        $instance->setBar($this->get('bar'));
-        $instance->initialize();
-        $instance->foo = 'bar';
-        $instance->moo = $a;
-        $instance->qux = array($this->getParameter('foo') => 'foo is '.$this->getParameter('foo').'', 'foobar' => $this->getParameter('foo'));
-        sc_configure($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'foo.baz' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return object A %baz_class% instance.
-     */
-    protected function getFoo_BazService()
-    {
-        $this->services['foo.baz'] = $instance = call_user_func(array($this->getParameter('baz_class'), 'getInstance'));
-
-        call_user_func(array($this->getParameter('baz_class'), 'configureStatic1'), $instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'foo_bar' service.
-     *
-     * @return object A %foo_class% instance.
-     */
-    protected function getFooBarService()
-    {
-        $class = $this->getParameter('foo_class');
-
-        return new $class();
-    }
-
-    /**
-     * Gets the 'foo_with_inline' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Foo A Foo instance.
-     */
-    protected function getFooWithInlineService()
-    {
-        $this->services['foo_with_inline'] = $instance = new \Foo();
-
-        $instance->setBar($this->get('inlined'));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'method_call1' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getMethodCall1Service()
-    {
-        require_once '%path%foo.php';
-
-        $this->services['method_call1'] = $instance = new \Bar\FooClass();
-
-        $instance->setBar($this->get('foo'));
-        $instance->setBar($this->get('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        if ($this->has('foo3')) {
-            $instance->setBar($this->get('foo3', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        }
-        if ($this->has('foobaz')) {
-            $instance->setBar($this->get('foobaz', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        }
-        $instance->setBar(($this->get("foo")->foo() . (($this->hasparameter("foo")) ? ($this->getParameter("foo")) : ("default"))));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'new_factory_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \FooBarBaz A FooBarBaz instance.
-     */
-    protected function getNewFactoryServiceService()
-    {
-        $this->services['new_factory_service'] = $instance = $this->get('new_factory')->getInstance();
-
-        $instance->foo = 'bar';
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'request' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @throws RuntimeException always since this service is expected to be injected dynamically
-     */
-    protected function getRequestService()
-    {
-        throw new RuntimeException('You have requested a synthetic service ("request"). The DIC does not know how to construct this service.');
-    }
-
-    /**
-     * Gets the 'service_from_static_method' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getServiceFromStaticMethodService()
-    {
-        return $this->services['service_from_static_method'] = \Bar\FooClass::getInstance();
-    }
-
-    /**
-     * Updates the 'request' service.
-     */
-    protected function synchronizeRequestService()
-    {
-        if ($this->initialized('depends_on_request')) {
-            $this->get('depends_on_request')->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        }
-    }
-
-    /**
-     * Gets the 'configurator_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * This service is private.
-     * If you want to be able to request this service from the container directly,
-     * make it public, otherwise you might end up with broken code.
-     *
-     * @return \ConfClass A ConfClass instance.
-     */
-    protected function getConfiguratorServiceService()
-    {
-        $this->services['configurator_service'] = $instance = new \ConfClass();
-
-        $instance->setFoo($this->get('baz'));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'inlined' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * This service is private.
-     * If you want to be able to request this service from the container directly,
-     * make it public, otherwise you might end up with broken code.
-     *
-     * @return \Bar A Bar instance.
-     */
-    protected function getInlinedService()
-    {
-        $this->services['inlined'] = $instance = new \Bar();
-
-        $instance->setBaz($this->get('baz'));
-        $instance->pub = 'pub';
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'new_factory' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * This service is private.
-     * If you want to be able to request this service from the container directly,
-     * make it public, otherwise you might end up with broken code.
-     *
-     * @return \FactoryClass A FactoryClass instance.
-     */
-    protected function getNewFactoryService()
-    {
-        $this->services['new_factory'] = $instance = new \FactoryClass();
-
-        $instance->foo = 'bar';
-
-        return $instance;
-    }
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'baz_class' => 'BazClass',
-            'foo_class' => 'Bar\\FooClass',
-            'foo' => 'bar',
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
deleted file mode 100644
index 5cab356..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
+++ /dev/null
@@ -1,426 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
-
-/**
- * ProjectServiceContainer.
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    private $parameters;
-    private $targetDirs = array();
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $this->parameters = $this->getDefaultParameters();
-
-        $this->services =
-        $this->scopedServices =
-        $this->scopeStacks = array();
-
-        $this->set('service_container', $this);
-
-        $this->scopes = array();
-        $this->scopeChildren = array();
-        $this->methodMap = array(
-            'bar' => 'getBarService',
-            'baz' => 'getBazService',
-            'configurator_service' => 'getConfiguratorServiceService',
-            'configured_service' => 'getConfiguredServiceService',
-            'decorator_service' => 'getDecoratorServiceService',
-            'decorator_service_with_name' => 'getDecoratorServiceWithNameService',
-            'depends_on_request' => 'getDependsOnRequestService',
-            'factory_service' => 'getFactoryServiceService',
-            'foo' => 'getFooService',
-            'foo.baz' => 'getFoo_BazService',
-            'foo_bar' => 'getFooBarService',
-            'foo_with_inline' => 'getFooWithInlineService',
-            'method_call1' => 'getMethodCall1Service',
-            'new_factory' => 'getNewFactoryService',
-            'new_factory_service' => 'getNewFactoryServiceService',
-            'request' => 'getRequestService',
-            'service_from_static_method' => 'getServiceFromStaticMethodService',
-        );
-        $this->aliases = array(
-            'alias_for_alias' => 'foo',
-            'alias_for_foo' => 'foo',
-            'decorated' => 'decorator_service_with_name',
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function compile()
-    {
-        throw new LogicException('You cannot compile a dumped frozen container.');
-    }
-
-    /**
-     * Gets the 'bar' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getBarService()
-    {
-        $a = $this->get('foo.baz');
-
-        $this->services['bar'] = $instance = new \Bar\FooClass('foo', $a, $this->getParameter('foo_bar'));
-
-        $a->configure($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'baz' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Baz A Baz instance.
-     */
-    protected function getBazService()
-    {
-        $this->services['baz'] = $instance = new \Baz();
-
-        $instance->setFoo($this->get('foo_with_inline'));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'configured_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getConfiguredServiceService()
-    {
-        $this->services['configured_service'] = $instance = new \stdClass();
-
-        $this->get('configurator_service')->configureStdClass($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'decorator_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getDecoratorServiceService()
-    {
-        return $this->services['decorator_service'] = new \stdClass();
-    }
-
-    /**
-     * Gets the 'decorator_service_with_name' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getDecoratorServiceWithNameService()
-    {
-        return $this->services['decorator_service_with_name'] = new \stdClass();
-    }
-
-    /**
-     * Gets the 'depends_on_request' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \stdClass A stdClass instance.
-     */
-    protected function getDependsOnRequestService()
-    {
-        $this->services['depends_on_request'] = $instance = new \stdClass();
-
-        $instance->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'factory_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar A Bar instance.
-     */
-    protected function getFactoryServiceService()
-    {
-        return $this->services['factory_service'] = $this->get('foo.baz')->getInstance();
-    }
-
-    /**
-     * Gets the 'foo' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getFooService()
-    {
-        $a = $this->get('foo.baz');
-
-        $this->services['foo'] = $instance = \Bar\FooClass::getInstance('foo', $a, array('bar' => 'foo is bar', 'foobar' => 'bar'), true, $this);
-
-        $instance->setBar($this->get('bar'));
-        $instance->initialize();
-        $instance->foo = 'bar';
-        $instance->moo = $a;
-        $instance->qux = array('bar' => 'foo is bar', 'foobar' => 'bar');
-        sc_configure($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'foo.baz' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \BazClass A BazClass instance.
-     */
-    protected function getFoo_BazService()
-    {
-        $this->services['foo.baz'] = $instance = \BazClass::getInstance();
-
-        \BazClass::configureStatic1($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'foo_bar' service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getFooBarService()
-    {
-        return new \Bar\FooClass();
-    }
-
-    /**
-     * Gets the 'foo_with_inline' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Foo A Foo instance.
-     */
-    protected function getFooWithInlineService()
-    {
-        $a = new \Bar();
-
-        $this->services['foo_with_inline'] = $instance = new \Foo();
-
-        $a->setBaz($this->get('baz'));
-        $a->pub = 'pub';
-
-        $instance->setBar($a);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'method_call1' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getMethodCall1Service()
-    {
-        require_once '%path%foo.php';
-
-        $this->services['method_call1'] = $instance = new \Bar\FooClass();
-
-        $instance->setBar($this->get('foo'));
-        $instance->setBar(NULL);
-        $instance->setBar(($this->get("foo")->foo() . (($this->hasparameter("foo")) ? ($this->getParameter("foo")) : ("default"))));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'new_factory_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \FooBarBaz A FooBarBaz instance.
-     */
-    protected function getNewFactoryServiceService()
-    {
-        $this->services['new_factory_service'] = $instance = $this->get('new_factory')->getInstance();
-
-        $instance->foo = 'bar';
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'request' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @throws RuntimeException always since this service is expected to be injected dynamically
-     */
-    protected function getRequestService()
-    {
-        throw new RuntimeException('You have requested a synthetic service ("request"). The DIC does not know how to construct this service.');
-    }
-
-    /**
-     * Gets the 'service_from_static_method' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return \Bar\FooClass A Bar\FooClass instance.
-     */
-    protected function getServiceFromStaticMethodService()
-    {
-        return $this->services['service_from_static_method'] = \Bar\FooClass::getInstance();
-    }
-
-    /**
-     * Updates the 'request' service.
-     */
-    protected function synchronizeRequestService()
-    {
-        if ($this->initialized('depends_on_request')) {
-            $this->get('depends_on_request')->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        }
-    }
-
-    /**
-     * Gets the 'configurator_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * This service is private.
-     * If you want to be able to request this service from the container directly,
-     * make it public, otherwise you might end up with broken code.
-     *
-     * @return \ConfClass A ConfClass instance.
-     */
-    protected function getConfiguratorServiceService()
-    {
-        $this->services['configurator_service'] = $instance = new \ConfClass();
-
-        $instance->setFoo($this->get('baz'));
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'new_factory' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * This service is private.
-     * If you want to be able to request this service from the container directly,
-     * make it public, otherwise you might end up with broken code.
-     *
-     * @return \FactoryClass A FactoryClass instance.
-     */
-    protected function getNewFactoryService()
-    {
-        $this->services['new_factory'] = $instance = new \FactoryClass();
-
-        $instance->foo = 'bar';
-
-        return $instance;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameter($name)
-    {
-        $name = strtolower($name);
-
-        if (!(isset($this->parameters[$name]) || array_key_exists($name, $this->parameters))) {
-            throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
-        }
-
-        return $this->parameters[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasParameter($name)
-    {
-        $name = strtolower($name);
-
-        return isset($this->parameters[$name]) || array_key_exists($name, $this->parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameter($name, $value)
-    {
-        throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameterBag()
-    {
-        if (null === $this->parameterBag) {
-            $this->parameterBag = new FrozenParameterBag($this->parameters);
-        }
-
-        return $this->parameterBag;
-    }
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'baz_class' => 'BazClass',
-            'foo_class' => 'Bar\\FooClass',
-            'foo' => 'bar',
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php
deleted file mode 100644
index aa4df99..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$container->setParameter('foo', 'foo');
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml
deleted file mode 100644
index 52df38d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="extension1.foo" class="FooClass1">
-      <argument type="service">
-        <service class="BarClass1">
-        </service>
-      </argument>
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml
deleted file mode 100644
index 21a7ef5..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="extension2.foo" class="FooClass2">
-      <argument type="service">
-        <service class="BarClass2">
-        </service>
-      </argument>
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml
deleted file mode 100644
index 792fa07..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:project="http://www.example.com/schema/project">
-
-    <parameters>
-        <parameter key="project.parameter.foo">BAR</parameter>
-    </parameters>
-
-    <services>
-        <service id="project.service.foo" class="BAR" />
-    </services>
-
-    <project:bar babar="babar">
-        <another />
-        <another2>%project.parameter.foo%</another2>
-    </project:bar>
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml
deleted file mode 100644
index 67d462b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
-
-    <parameters>
-        <parameter key="project.parameter.foo">BAR</parameter>
-    </parameters>
-
-    <services>
-        <service id="project.service.foo" class="BAR" />
-    </services>
-
-    <project:bar />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml
deleted file mode 100644
index c23f02a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
-
-    <parameters>
-        <parameter key="project.parameter.foo">BAR</parameter>
-    </parameters>
-
-    <services>
-        <service id="project.service.foo" class="BAR" />
-    </services>
-
-    <project:bar bar="bar" />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml
deleted file mode 100644
index 2c33c3a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:project="http://www.example.com/schema/not_registered_extension">
-  <project:bar />
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml
deleted file mode 100644
index 0eaaff2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
-
-    <project:foobar />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml
deleted file mode 100644
index a9c0103..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsdinphar"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsdinphar http://www.example.com/schema/projectwithxsdinphar/project-1.0.xsd">
-
-    <project:bar />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml
deleted file mode 100644
index e77780d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsdinphar"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsdinphar http://www.example.com/schema/projectwithxsdinphar/project-1.0.xsd">
-
-    <project:bar bar="foo" />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/namespaces.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/namespaces.xml
deleted file mode 100644
index 5a05ced..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/namespaces.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-
-<srv:container xmlns="http://symfony.com/schema/dic/doctrine"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:srv="http://symfony.com/schema/dic/services"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://symfony.com/schema/dic/doctrine http://symfony.com/schema/dic/doctrine/doctrine-1.0.xsd">
-
-    <srv:services>
-        <srv:service id="foo" class="FooClass">
-            <srv:tag name="foo.tag" />
-            <srv:call method="setBar">
-                <srv:argument>foo</srv:argument>
-            </srv:call>
-        </srv:service>
-    </srv:services>
-</srv:container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml
deleted file mode 100644
index e7b5bc9..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" ?>
-
-<nonvalid />
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml
deleted file mode 100644
index 6aa5732..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"/>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services10.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services10.xml
deleted file mode 100644
index a4da1bf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services10.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="foo" class="BarClass">
-        <tag name="foo_tag"
-            some-option="cat"
-            some_option="ciz"
-            other-option="lorem"
-            an_other-option="ipsum"
-        />
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml
deleted file mode 100644
index 1ac4938..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="imported_from_xml">true</parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml
deleted file mode 100644
index 7344621..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-    <services>
-        <service id="monolog.logger" parent="monolog.logger_prototype" public="false">
-            <argument index="0">app</argument>
-        </service>
-
-        <service id="logger" alias="monolog.logger" />
-
-        <service id="monolog.logger" parent="monolog.logger_prototype" public="false">
-            <argument index="0">app</argument>
-        </service>
-        <service id="monolog.logger_prototype" class="Symfony\Bridge\Monolog\Logger" abstract="true">
-            <argument /><!-- Channel -->
-        </service>
-    </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml
deleted file mode 100644
index f1ac14d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter>a string</parameter>
-    <parameter key="FOO">bar</parameter>
-    <parameter key="values" type="collection">
-      <parameter>0</parameter>
-      <parameter key="integer">4</parameter>
-      <parameter key="100">null</parameter>
-      <parameter type="string">true</parameter>
-      <parameter>true</parameter>
-      <parameter>false</parameter>
-      <parameter>on</parameter>
-      <parameter>off</parameter>
-      <parameter key="float">1.3</parameter>
-      <parameter>1000.3</parameter>
-      <parameter>a string</parameter>
-      <parameter type="collection">
-        <parameter>foo</parameter>
-        <parameter>bar</parameter>
-      </parameter>
-    </parameter>
-    <parameter key="MixedCase" type="collection"> <!-- Should be lower cased -->
-      <parameter key="MixedCaseKey">value</parameter> <!-- Should stay mixed case -->
-    </parameter>
-    <parameter key="constant" type="constant">PHP_EOL</parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml
deleted file mode 100644
index 87bf183..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="foo">foo</parameter>
-    <parameter key="values" type="collection">
-      <parameter>true</parameter>
-      <parameter>false</parameter>
-    </parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml
deleted file mode 100644
index 03ad9f8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <imports>
-    <import resource="services2.xml" />
-    <import resource="services3.xml" />
-    <import resource="../ini/parameters.ini" />
-    <import resource="../ini/parameters2.ini" />
-    <import resource="../yaml/services13.yml" />
-  </imports>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml
deleted file mode 100644
index 0b7f10a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <imports>
-    <import resource="foo_fake.xml" ignore-errors="true" />
-  </imports>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml
deleted file mode 100644
index acb93e7..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="foo" class="FooClass">
-      <argument type="service">
-        <service class="BarClass">
-          <argument type="service">
-            <service class="BazClass">
-            </service>
-          </argument>
-        </service>
-      </argument>
-      <property name="p" type="service">
-        <service class="BazClass" />
-      </property>
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml
deleted file mode 100644
index 121b5bf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="foo" class="FooClass" />
-    <service id="baz" class="BazClass" />
-    <service id="scope.container" class="FooClass" scope="container" />
-    <service id="scope.custom" class="FooClass" scope="custom" />
-    <service id="scope.prototype" class="FooClass" scope="prototype" />
-    <service id="constructor" class="FooClass" factory-method="getInstance" />
-    <service id="file" class="FooClass">
-      <file>%path%/foo.php</file>
-    </service>
-    <service id="arguments" class="FooClass">
-      <argument>foo</argument>
-      <argument type="service" id="foo" />
-      <argument type="collection">
-        <argument>true</argument>
-        <argument>false</argument>
-      </argument>
-    </service>
-    <service id="configurator1" class="FooClass">
-      <configurator function="sc_configure" />
-    </service>
-    <service id="configurator2" class="FooClass">
-      <configurator service="baz" method="configure" />
-    </service>
-    <service id="configurator3" class="FooClass">
-      <configurator class="BazClass" method="configureStatic" />
-    </service>
-    <service id="method_call1" class="FooClass">
-      <call method="setBar" />
-      <call method="setBar">
-        <argument type="expression">service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")</argument>
-      </call>
-    </service>
-    <service id="method_call2" class="FooClass">
-      <call method="setBar">
-        <argument>foo</argument>
-        <argument type="service" id="foo" />
-        <argument type="collection">
-          <argument>true</argument>
-          <argument>false</argument>
-        </argument>
-      </call>
-    </service>
-    <service id="alias_for_foo" alias="foo" />
-    <service id="another_alias_for_foo" alias="foo" public="false" />
-    <service id="factory_service" factory-method="getInstance" factory-service="baz_factory" />
-    <service id="request" class="Request" synthetic="true" synchronized="true" lazy="true"/>
-    <service id="decorator_service" decorates="decorated" />
-    <service id="decorator_service_with_name" decorates="decorated" decoration-inner-name="decorated.pif-pouf"/>
-    <service id="new_factory1" class="FooBarClass">
-      <factory function="factory" />
-    </service>
-    <service id="new_factory2" class="FooBarClass">
-      <factory service="baz" method="getClass" />
-    </service>
-    <service id="new_factory3" class="FooBarClass">
-      <factory class="BazClass" method="getInstance" />
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml
deleted file mode 100644
index 824d8b5..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="foo" class="BarClass" />
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml
deleted file mode 100644
index b17e500..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="foo">%baz%</parameter>
-    <parameter key="baz">bar</parameter>
-    <parameter key="bar">foo is %%foo bar</parameter>
-    <parameter key="escape">@escapeme</parameter>
-    <parameter key="values" type="collection">
-      <parameter>true</parameter>
-      <parameter>false</parameter>
-      <parameter>null</parameter>
-      <parameter>0</parameter>
-      <parameter>1000.3</parameter>
-      <parameter type="string">true</parameter>
-      <parameter type="string">false</parameter>
-      <parameter type="string">null</parameter>
-    </parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml
deleted file mode 100644
index 1416745..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="baz_class">BazClass</parameter>
-    <parameter key="foo_class">Bar\FooClass</parameter>
-    <parameter key="foo">bar</parameter>
-  </parameters>
-  <services>
-    <service id="foo" class="Bar\FooClass" factory-method="getInstance" factory-class="Bar\FooClass">
-      <tag name="foo" foo="foo"/>
-      <tag name="foo" bar="bar" baz="baz"/>
-      <argument>foo</argument>
-      <argument type="service" id="foo.baz"/>
-      <argument type="collection">
-        <argument key="%foo%">foo is %foo%</argument>
-        <argument key="foobar">%foo%</argument>
-      </argument>
-      <argument>true</argument>
-      <argument type="service" id="service_container"/>
-      <property name="foo">bar</property>
-      <property name="moo" type="service" id="foo.baz"/>
-      <property name="qux" type="collection">
-        <property key="%foo%">foo is %foo%</property>
-        <property key="foobar">%foo%</property>
-      </property>
-      <call method="setBar">
-        <argument type="service" id="bar"/>
-      </call>
-      <call method="initialize"/>
-      <configurator function="sc_configure"/>
-    </service>
-    <service id="bar" class="Bar\FooClass">
-      <argument>foo</argument>
-      <argument type="service" id="foo.baz"/>
-      <argument>%foo_bar%</argument>
-      <configurator service="foo.baz" method="configure"/>
-    </service>
-    <service id="foo.baz" class="%baz_class%" factory-method="getInstance" factory-class="%baz_class%">
-      <configurator class="%baz_class%" method="configureStatic1"/>
-    </service>
-    <service id="foo_bar" class="%foo_class%" scope="prototype"/>
-    <service id="method_call1" class="Bar\FooClass">
-      <file>%path%foo.php</file>
-      <call method="setBar">
-        <argument type="service" id="foo"/>
-      </call>
-      <call method="setBar">
-        <argument type="service" id="foo2" on-invalid="null"/>
-      </call>
-      <call method="setBar">
-        <argument type="service" id="foo3" on-invalid="ignore"/>
-      </call>
-      <call method="setBar">
-        <argument type="service" id="foobaz" on-invalid="ignore"/>
-      </call>
-      <call method="setBar">
-        <argument type="expression">service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")</argument>
-      </call>
-    </service>
-    <service id="factory_service" class="Bar" factory-method="getInstance" factory-service="foo.baz"/>
-    <service id="foo_with_inline" class="Foo">
-      <call method="setBar">
-        <argument type="service" id="inlined"/>
-      </call>
-    </service>
-    <service id="inlined" class="Bar" public="false">
-      <property name="pub">pub</property>
-      <call method="setBaz">
-        <argument type="service" id="baz"/>
-      </call>
-    </service>
-    <service id="baz" class="Baz">
-      <call method="setFoo">
-        <argument type="service" id="foo_with_inline"/>
-      </call>
-    </service>
-    <service id="request" class="Request" synthetic="true" synchronized="true"/>
-    <service id="depends_on_request" class="stdClass">
-      <call method="setRequest">
-        <argument type="service" id="request" on-invalid="null" strict="false"/>
-      </call>
-    </service>
-    <service id="configurator_service" class="ConfClass" public="false">
-      <call method="setFoo">
-        <argument type="service" id="baz"/>
-      </call>
-    </service>
-    <service id="configured_service" class="stdClass">
-      <configurator service="configurator_service" method="configureStdClass"/>
-    </service>
-    <service id="decorated" class="stdClass"/>
-    <service id="decorator_service" class="stdClass" decorates="decorated"/>
-    <service id="decorator_service_with_name" class="stdClass" decorates="decorated" decoration-inner-name="decorated.pif-pouf"/>
-    <service id="new_factory" class="FactoryClass" public="false">
-      <property name="foo">bar</property>
-    </service>
-    <service id="new_factory_service" class="FooBarBaz">
-      <property name="foo">bar</property>
-      <factory service="new_factory" method="getInstance"/>
-    </service>
-    <service id="service_from_static_method" class="Bar\FooClass">
-      <factory class="Bar\FooClass" method="getInstance"/>
-    </service>
-    <service id="alias_for_foo" alias="foo"/>
-    <service id="alias_for_alias" alias="foo"/>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml
deleted file mode 100644
index f217d5b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE foo>
-<foo></foo>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_calls.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_calls.yml
deleted file mode 100644
index 3f34b07..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_calls.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-services:
-    method_call1:
-        class: FooClass
-        calls: foo
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_import.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_import.yml
deleted file mode 100644
index 0765dc8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_import.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-imports:
-    - foo.yml
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_imports.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_imports.yml
deleted file mode 100644
index 1ce9d57..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_imports.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-imports:
-    foo:bar
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_parameters.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_parameters.yml
deleted file mode 100644
index bbd13ac..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_parameters.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-parameters:
-    foo:bar
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_service.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_service.yml
deleted file mode 100644
index 811af3c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_service.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-services:
-    foo: bar
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_services.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_services.yml
deleted file mode 100644
index cfbf17c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_services.yml
+++ /dev/null
@@ -1 +0,0 @@
-services: foo
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml
deleted file mode 100644
index 14536fd..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-services:
-    foo_service:
-        class:    FooClass
-        # tags is not an array
-        tags:     string
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml
deleted file mode 100644
index 9028814..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-services:
-    foo_service:
-        class:    FooClass
-        tags:
-          # tag is missing the name key
-          foo_tag:   { foo: bar }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml
deleted file mode 100644
index 72ec4e8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-services:
-    foo_service:
-        class:    FooClass
-        tags:
-          # tag-attribute is not a scalar
-          - { name: foo, bar: { foo: foo, bar: bar } }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag4.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag4.yml
deleted file mode 100644
index e8e9939..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag4.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-services:
-    foo_service:
-        class:    FooClass
-        tags:
-          # tag is not an array
-          - foo
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml
deleted file mode 100644
index 4eddb87..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-foo:
-  bar
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml
deleted file mode 100644
index c508d53..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml
+++ /dev/null
@@ -1 +0,0 @@
-false
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml
deleted file mode 100644
index 8b13789..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml
deleted file mode 100644
index f2f8d95..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-parameters:
-    project.parameter.foo: BAR
-
-services:
-    project.service.foo:
-        class: BAR
-
-project:
-    test: %project.parameter.foo%
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml
deleted file mode 100644
index 40126f0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml
+++ /dev/null
@@ -1 +0,0 @@
-foobarfoobar: {}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml
deleted file mode 100644
index d52d355..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-# used to test imports in XML
-parameters:
-    imported_from_yaml: true
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services14.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services14.yml
deleted file mode 100644
index 4c188c5..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services14.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-services:
-    factory: { class: FooBarClass, factory: baz:getClass}
-    factory_with_static_call: { class: FooBarClass, factory: FooBacFactory::createFooBar}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml
deleted file mode 100644
index 3c12746..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-parameters:
-    FOO: bar
-    values:
-        - true
-        - false
-        - 0
-        - 1000.3
-    bar: foo
-    escape: @@escapeme
-    foo_bar: @foo_bar
-    MixedCase:
-        MixedCaseKey: value
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml
deleted file mode 100644
index 0e92cdf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-parameters:
-    foo: foo
-    values:
-        - true
-        - false
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml
deleted file mode 100644
index 8e0987f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-imports:
-    - { resource: services2.yml }
-    - { resource: services3.yml }
-    - { resource: "../php/simple.php" }
-    - { resource: "../ini/parameters.ini", class: Symfony\Component\DependencyInjection\Loader\IniFileLoader }
-    - { resource: "../ini/parameters2.ini" }
-    - { resource: "../xml/services13.xml" }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml
deleted file mode 100644
index f7089fc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-imports:
-    - { resource: foo_fake.yml, ignore_errors: true }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml
deleted file mode 100644
index 398604a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-services:
-    foo: { class: FooClass }
-    baz: { class: BazClass }
-    scope.container: { class: FooClass, scope: container }
-    scope.custom: { class: FooClass, scope: custom }
-    scope.prototype: { class: FooClass, scope: prototype }
-    constructor: { class: FooClass, factory_method: getInstance }
-    file: { class: FooClass, file: %path%/foo.php }
-    arguments: { class: FooClass, arguments: [foo, @foo, [true, false]] }
-    configurator1: { class: FooClass, configurator: sc_configure }
-    configurator2: { class: FooClass, configurator: [@baz, configure] }
-    configurator3: { class: FooClass, configurator: [BazClass, configureStatic] }
-    method_call1:
-        class: FooClass
-        calls:
-            - [ setBar, [] ]
-            - [ setBar ]
-            - [ setBar, ['@=service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")'] ]
-    method_call2:
-        class: FooClass
-        calls:
-            - [ setBar, [ foo, @foo, [true, false] ] ]
-    alias_for_foo: @foo
-    another_alias_for_foo:
-        alias: foo
-        public: false
-    factory_service: { class: BazClass, factory_method: getInstance, factory_service: baz_factory }
-    request:
-        class: Request
-        synthetic: true
-        synchronized: true
-        lazy: true
-    decorator_service:
-        decorates: decorated
-    decorator_service_with_name:
-        decorates: decorated
-        decoration_inner_name: decorated.pif-pouf
-    new_factory1: { class: FooBarClass, factory: factory}
-    new_factory2: { class: FooBarClass, factory: [@baz, getClass]}
-    new_factory3: { class: FooBarClass, factory: [BazClass, getInstance]}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml
deleted file mode 100644
index 09064f2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-services:
-    foo: { class: BarClass }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml
deleted file mode 100644
index a1fb590..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-parameters:
-    foo: '%baz%'
-    baz: bar
-    bar: 'foo is %%foo bar'
-    escape: '@@escapeme'
-    values: [true, false, null, 0, 1000.3, 'true', 'false', 'null']
-
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml
deleted file mode 100644
index 1d3b804..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml
+++ /dev/null
@@ -1,103 +0,0 @@
-parameters:
-    baz_class: BazClass
-    foo_class: Bar\FooClass
-    foo: bar
-
-services:
-    foo:
-        class: Bar\FooClass
-        tags:
-            - { name: foo, foo: foo }
-            - { name: foo, bar: bar, baz: baz }
-        factory_class: Bar\FooClass
-        factory_method: getInstance
-        arguments: [foo, '@foo.baz', { '%foo%': 'foo is %foo%', foobar: '%foo%' }, true, '@service_container']
-        properties: { foo: bar, moo: '@foo.baz', qux: { '%foo%': 'foo is %foo%', foobar: '%foo%' } }
-        calls:
-            - [setBar, ['@bar']]
-            - [initialize, {  }]
-
-        configurator: sc_configure
-    bar:
-        class: Bar\FooClass
-        arguments: [foo, '@foo.baz', '%foo_bar%']
-        configurator: ['@foo.baz', configure]
-    foo.baz:
-        class: %baz_class%
-        factory_class: %baz_class%
-        factory_method: getInstance
-        configurator: ['%baz_class%', configureStatic1]
-    foo_bar:
-        class: %foo_class%
-        scope: prototype
-    method_call1:
-        class: Bar\FooClass
-        file: %path%foo.php
-        calls:
-            - [setBar, ['@foo']]
-            - [setBar, ['@?foo2']]
-            - [setBar, ['@?foo3']]
-            - [setBar, ['@?foobaz']]
-            - [setBar, ['@=service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")']]
-
-    factory_service:
-        class: Bar
-        factory_method: getInstance
-        factory_service: foo.baz
-    foo_with_inline:
-        class: Foo
-        calls:
-            - [setBar, ['@inlined']]
-
-    inlined:
-        class: Bar
-        public: false
-        properties: { pub: pub }
-        calls:
-            - [setBaz, ['@baz']]
-
-    baz:
-        class: Baz
-        calls:
-            - [setFoo, ['@foo_with_inline']]
-
-    request:
-        class: Request
-        synthetic: true
-        synchronized: true
-    depends_on_request:
-        class: stdClass
-        calls:
-            - [setRequest, ['@?request']]
-
-    configurator_service:
-        class: ConfClass
-        public: false
-        calls:
-            - [setFoo, ['@baz']]
-
-    configured_service:
-        class: stdClass
-        configurator: ['@configurator_service', configureStdClass]
-    decorated:
-        class: stdClass
-    decorator_service:
-        class: stdClass
-        decorates: decorated
-    decorator_service_with_name:
-        class: stdClass
-        decorates: decorated
-        decoration_inner_name: decorated.pif-pouf
-    new_factory:
-        class: FactoryClass
-        public: false
-        properties: { foo: bar }
-    new_factory_service:
-        class: FooBarBaz
-        properties: { foo: bar }
-        factory: ['@new_factory', getInstance]
-    service_from_static_method:
-        class: Bar\FooClass
-        factory: [Bar\FooClass, getInstance]
-    alias_for_foo: @foo
-    alias_for_alias: @foo
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php
deleted file mode 100644
index cb44024..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\LazyProxy\Instantiator;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\LazyProxy\Instantiator\RealServiceInstantiator;
-
-/**
- * Tests for {@see \Symfony\Component\DependencyInjection\Instantiator\RealServiceInstantiator}.
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- *
- * @covers \Symfony\Component\DependencyInjection\LazyProxy\Instantiator\RealServiceInstantiator
- */
-class RealServiceInstantiatorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testInstantiateProxy()
-    {
-        $instantiator = new RealServiceInstantiator();
-        $instance = new \stdClass();
-        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
-        $callback = function () use ($instance) {
-            return $instance;
-        };
-
-        $this->assertSame($instance, $instantiator->instantiateProxy($container, new Definition(), 'foo', $callback));
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/PhpDumper/NullDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/PhpDumper/NullDumperTest.php
deleted file mode 100644
index 2081ebc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/PhpDumper/NullDumperTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\LazyProxy\PhpDumper;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\NullDumper;
-
-/**
- * Tests for {@see \Symfony\Component\DependencyInjection\PhpDumper\NullDumper}.
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- *
- * @covers \Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\NullDumper
- */
-class NullDumperTest extends \PHPUnit_Framework_TestCase
-{
-    public function testNullDumper()
-    {
-        $dumper = new NullDumper();
-        $definition = new Definition('stdClass');
-
-        $this->assertFalse($dumper->isProxyCandidate($definition));
-        $this->assertSame('', $dumper->getProxyFactoryCode($definition, 'foo'));
-        $this->assertSame('', $dumper->getProxyCode($definition));
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php
deleted file mode 100644
index b8512a2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-
-/**
- * @group legacy
- */
-class LegacyContainerBuilderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceFactoryMethod()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('bar', 'stdClass');
-        $builder->register('foo1', 'Bar\FooClass')->setFactoryClass('Bar\FooClass')->setFactoryMethod('getInstance')->addArgument(array('foo' => '%value%', '%value%' => 'foo', new Reference('bar')));
-        $builder->setParameter('value', 'bar');
-        $this->assertTrue($builder->get('foo1')->called, '->createService() calls the factory method to create the service instance');
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'foo', $builder->get('bar')), $builder->get('foo1')->arguments, '->createService() passes the arguments to the factory method');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceFactoryService()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('baz_service')->setFactoryService('baz_factory')->setFactoryMethod('getInstance');
-        $builder->register('baz_factory', 'BazClass');
-
-        $this->assertInstanceOf('BazClass', $builder->get('baz_service'));
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyDefinitionTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyDefinitionTest.php
deleted file mode 100644
index b85d81f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyDefinitionTest.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Definition;
-
-/**
- * @group legacy
- */
-class LegacyDefinitionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSetGetFactoryClass()
-    {
-        $def = new Definition('stdClass');
-        $this->assertNull($def->getFactoryClass());
-        $this->assertSame($def, $def->setFactoryClass('stdClass2'), "->setFactoryClass() implements a fluent interface.");
-        $this->assertEquals('stdClass2', $def->getFactoryClass(), "->getFactoryClass() returns current class to construct this service.");
-    }
-
-    public function testSetGetFactoryMethod()
-    {
-        $def = new Definition('stdClass');
-        $this->assertNull($def->getFactoryMethod());
-        $this->assertSame($def, $def->setFactoryMethod('foo'), '->setFactoryMethod() implements a fluent interface');
-        $this->assertEquals('foo', $def->getFactoryMethod(), '->getFactoryMethod() returns the factory method name');
-    }
-
-    public function testSetGetFactoryService()
-    {
-        $def = new Definition('stdClass');
-        $this->assertNull($def->getFactoryService());
-        $this->assertSame($def, $def->setFactoryService('foo.bar'), "->setFactoryService() implements a fluent interface.");
-        $this->assertEquals('foo.bar', $def->getFactoryService(), "->getFactoryService() returns current service to construct this service.");
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php
deleted file mode 100644
index 483e30b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Loader\ClosureLoader;
-
-class ClosureLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\ClosureLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new ClosureLoader(new ContainerBuilder());
-
-        $this->assertTrue($loader->supports(function ($container) {}), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\ClosureLoader::load
-     */
-    public function testLoad()
-    {
-        $loader = new ClosureLoader($container = new ContainerBuilder());
-
-        $loader->load(function ($container) {
-            $container->setParameter('foo', 'foo');
-        });
-
-        $this->assertEquals('foo', $container->getParameter('foo'), '->load() loads a \Closure resource');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php
deleted file mode 100644
index 9188018..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
-use Symfony\Component\Config\FileLocator;
-
-class IniFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    protected $container;
-    protected $loader;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    protected function setUp()
-    {
-        $this->container = new ContainerBuilder();
-        $this->loader = new IniFileLoader($this->container, new FileLocator(self::$fixturesPath.'/ini'));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::__construct
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::load
-     */
-    public function testIniFileCanBeLoaded()
-    {
-        $this->loader->load('parameters.ini');
-        $this->assertEquals(array('foo' => 'bar', 'bar' => '%foo%'), $this->container->getParameterBag()->all(), '->load() takes a single file name as its first argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::__construct
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::load
-     *
-     * @expectedException        \InvalidArgumentException
-     * @expectedExceptionMessage The file "foo.ini" does not exist (in:
-     */
-    public function testExceptionIsRaisedWhenIniFileDoesNotExist()
-    {
-        $this->loader->load('foo.ini');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::__construct
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::load
-     *
-     * @expectedException        \InvalidArgumentException
-     * @expectedExceptionMessage The "nonvalid.ini" file is not valid.
-     */
-    public function testExceptionIsRaisedWhenIniFileCannotBeParsed()
-    {
-        @$this->loader->load('nonvalid.ini');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new IniFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.ini'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php
deleted file mode 100644
index 505f710..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\Loader\Loader;
-use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
-use Symfony\Component\Config\FileLocator;
-
-class PhpFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\PhpFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new PhpFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.php'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\PhpFileLoader::load
-     */
-    public function testLoad()
-    {
-        $loader = new PhpFileLoader($container = new ContainerBuilder(), new FileLocator());
-
-        $loader->load(__DIR__.'/../Fixtures/php/simple.php');
-
-        $this->assertEquals('foo', $container->getParameter('foo'), '->load() loads a PHP file resource');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
deleted file mode 100644
index ab1cb32..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
+++ /dev/null
@@ -1,456 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\Config\Loader\Loader;
-use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
-use Symfony\Component\Config\Loader\LoaderResolver;
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-        require_once self::$fixturesPath.'/includes/foo.php';
-        require_once self::$fixturesPath.'/includes/ProjectExtension.php';
-        require_once self::$fixturesPath.'/includes/ProjectWithXsdExtension.php';
-    }
-
-    public function testLoad()
-    {
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/ini'));
-
-        try {
-            $loader->load('foo.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file does not exist');
-            $this->assertStringStartsWith('The file "foo.xml" does not exist (in:', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file does not exist');
-        }
-    }
-
-    public function testParseFile()
-    {
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/ini'));
-        $r = new \ReflectionObject($loader);
-        $m = $r->getMethod('parseFileToDOM');
-        $m->setAccessible(true);
-
-        try {
-            $m->invoke($loader, self::$fixturesPath.'/ini/parameters.ini');
-            $this->fail('->parseFileToDOM() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Exception\\InvalidArgumentException', $e, '->parseFileToDOM() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-            $this->assertRegExp(sprintf('#^Unable to parse file ".+%s".$#', 'parameters.ini'), $e->getMessage(), '->parseFileToDOM() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-
-            $e = $e->getPrevious();
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->parseFileToDOM() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-            $this->assertStringStartsWith('[ERROR 4] Start tag expected, \'<\' not found (in', $e->getMessage(), '->parseFileToDOM() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-        }
-
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/xml'));
-
-        try {
-            $m->invoke($loader, self::$fixturesPath.'/xml/nonvalid.xml');
-            $this->fail('->parseFileToDOM() throws an InvalidArgumentException if the loaded file does not validate the XSD');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Exception\\InvalidArgumentException', $e, '->parseFileToDOM() throws an InvalidArgumentException if the loaded file does not validate the XSD');
-            $this->assertRegExp(sprintf('#^Unable to parse file ".+%s".$#', 'nonvalid.xml'), $e->getMessage(), '->parseFileToDOM() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-
-            $e = $e->getPrevious();
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->parseFileToDOM() throws an InvalidArgumentException if the loaded file does not validate the XSD');
-            $this->assertStringStartsWith('[ERROR 1845] Element \'nonvalid\': No matching global declaration available for the validation root. (in', $e->getMessage(), '->parseFileToDOM() throws an InvalidArgumentException if the loaded file does not validate the XSD');
-        }
-
-        $xml = $m->invoke($loader, self::$fixturesPath.'/xml/services1.xml');
-        $this->assertInstanceOf('DOMDocument', $xml, '->parseFileToDOM() returns an SimpleXMLElement object');
-    }
-
-    public function testLoadParameters()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services2.xml');
-
-        $actual = $container->getParameterBag()->all();
-        $expected = array(
-            'a string',
-            'foo' => 'bar',
-            'values' => array(
-                0,
-                'integer' => 4,
-                100 => null,
-                'true',
-                true,
-                false,
-                'on',
-                'off',
-                'float' => 1.3,
-                1000.3,
-                'a string',
-                array('foo', 'bar'),
-            ),
-            'mixedcase' => array('MixedCaseKey' => 'value'),
-            'constant' => PHP_EOL,
-        );
-
-        $this->assertEquals($expected, $actual, '->load() converts XML values to PHP ones');
-    }
-
-    public function testLoadImports()
-    {
-        $container = new ContainerBuilder();
-        $resolver = new LoaderResolver(array(
-            new IniFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')),
-            new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')),
-            $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')),
-        ));
-        $loader->setResolver($resolver);
-        $loader->load('services4.xml');
-
-        $actual = $container->getParameterBag()->all();
-        $expected = array(
-            'a string',
-            'foo' => 'bar',
-            'values' => array(
-                0,
-                'integer' => 4,
-                100 => null,
-                'true',
-                true,
-                false,
-                'on',
-                'off',
-                'float' => 1.3,
-                1000.3,
-                'a string',
-                array('foo', 'bar'),
-            ),
-            'mixedcase' => array('MixedCaseKey' => 'value'),
-            'constant' => PHP_EOL,
-            'bar' => '%foo%',
-            'imported_from_ini' => true,
-            'imported_from_yaml' => true,
-        );
-
-        $this->assertEquals(array_keys($expected), array_keys($actual), '->load() imports and merges imported files');
-
-        // Bad import throws no exception due to ignore_errors value.
-        $loader->load('services4_bad_import.xml');
-    }
-
-    public function testLoadAnonymousServices()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services5.xml');
-        $services = $container->getDefinitions();
-        $this->assertCount(4, $services, '->load() attributes unique ids to anonymous services');
-
-        // anonymous service as an argument
-        $args = $services['foo']->getArguments();
-        $this->assertCount(1, $args, '->load() references anonymous services as "normal" ones');
-        $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $args[0], '->load() converts anonymous services to references to "normal" services');
-        $this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
-        $inner = $services[(string) $args[0]];
-        $this->assertEquals('BarClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
-
-        // inner anonymous services
-        $args = $inner->getArguments();
-        $this->assertCount(1, $args, '->load() references anonymous services as "normal" ones');
-        $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $args[0], '->load() converts anonymous services to references to "normal" services');
-        $this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
-        $inner = $services[(string) $args[0]];
-        $this->assertEquals('BazClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
-        $this->assertFalse($inner->isPublic());
-
-        // anonymous service as a property
-        $properties = $services['foo']->getProperties();
-        $property = $properties['p'];
-        $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $property, '->load() converts anonymous services to references to "normal" services');
-        $this->assertTrue(isset($services[(string) $property]), '->load() makes a reference to the created ones');
-        $inner = $services[(string) $property];
-        $this->assertEquals('BazClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
-    }
-
-    public function testLoadServices()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services6.xml');
-        $services = $container->getDefinitions();
-        $this->assertTrue(isset($services['foo']), '->load() parses <service> elements');
-        $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Definition', $services['foo'], '->load() converts <service> element to Definition instances');
-        $this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
-        $this->assertEquals('container', $services['scope.container']->getScope());
-        $this->assertEquals('custom', $services['scope.custom']->getScope());
-        $this->assertEquals('prototype', $services['scope.prototype']->getScope());
-        $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod(), '->load() parses the factory-method attribute');
-        $this->assertEquals('%path%/foo.php', $services['file']->getFile(), '->load() parses the file tag');
-        $this->assertEquals(array('foo', new Reference('foo'), array(true, false)), $services['arguments']->getArguments(), '->load() parses the argument tags');
-        $this->assertEquals('sc_configure', $services['configurator1']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(new Reference('baz', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false), 'configure'), $services['configurator2']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array('BazClass', 'configureStatic'), $services['configurator3']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(array('setBar', array()), array('setBar', array(new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")')))), $services['method_call1']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertEquals(array(array('setBar', array('foo', new Reference('foo'), array(true, false)))), $services['method_call2']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertNull($services['factory_service']->getClass());
-        $this->assertEquals('getInstance', $services['factory_service']->getFactoryMethod());
-        $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService());
-        $this->assertEquals('factory', $services['new_factory1']->getFactory(), '->load() parses the factory tag');
-        $this->assertEquals(array(new Reference('baz', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false), 'getClass'), $services['new_factory2']->getFactory(), '->load() parses the factory tag');
-        $this->assertEquals(array('BazClass', 'getInstance'), $services['new_factory3']->getFactory(), '->load() parses the factory tag');
-
-        $this->assertTrue($services['request']->isSynthetic(), '->load() parses the synthetic flag');
-        $this->assertTrue($services['request']->isSynchronized(), '->load() parses the synchronized flag');
-        $this->assertTrue($services['request']->isLazy(), '->load() parses the lazy flag');
-
-        $aliases = $container->getAliases();
-        $this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses <service> elements');
-        $this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
-        $this->assertTrue($aliases['alias_for_foo']->isPublic());
-        $this->assertTrue(isset($aliases['another_alias_for_foo']));
-        $this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
-        $this->assertFalse($aliases['another_alias_for_foo']->isPublic());
-
-        $this->assertNull($services['request']->getDecoratedService());
-        $this->assertEquals(array('decorated', null), $services['decorator_service']->getDecoratedService());
-        $this->assertEquals(array('decorated', 'decorated.pif-pouf'), $services['decorator_service_with_name']->getDecoratedService());
-    }
-
-    public function testParsesTags()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services10.xml');
-
-        $services = $container->findTaggedServiceIds('foo_tag');
-        $this->assertCount(1, $services);
-
-        foreach ($services as $id => $tagAttributes) {
-            foreach ($tagAttributes as $attributes) {
-                $this->assertArrayHasKey('other_option', $attributes);
-                $this->assertEquals('lorem', $attributes['other_option']);
-                $this->assertArrayHasKey('other-option', $attributes, 'unnormalized tag attributes should not be removed');
-
-                $this->assertEquals('ciz', $attributes['some_option'], 'no overriding should be done when normalizing');
-                $this->assertEquals('cat', $attributes['some-option']);
-
-                $this->assertArrayNotHasKey('an_other_option', $attributes, 'normalization should not be done when an underscore is already found');
-            }
-        }
-    }
-
-    public function testConvertDomElementToArray()
-    {
-        $doc = new \DOMDocument('1.0');
-        $doc->loadXML('<foo>bar</foo>');
-        $this->assertEquals('bar', XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument('1.0');
-        $doc->loadXML('<foo foo="bar" />');
-        $this->assertEquals(array('foo' => 'bar'), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument('1.0');
-        $doc->loadXML('<foo><foo>bar</foo></foo>');
-        $this->assertEquals(array('foo' => 'bar'), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument('1.0');
-        $doc->loadXML('<foo><foo>bar<foo>bar</foo></foo></foo>');
-        $this->assertEquals(array('foo' => array('value' => 'bar', 'foo' => 'bar')), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument('1.0');
-        $doc->loadXML('<foo><foo></foo></foo>');
-        $this->assertEquals(array('foo' => null), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument('1.0');
-        $doc->loadXML('<foo><foo><!-- foo --></foo></foo>');
-        $this->assertEquals(array('foo' => null), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument('1.0');
-        $doc->loadXML('<foo><foo foo="bar"/><foo foo="bar"/></foo>');
-        $this->assertEquals(array('foo' => array(array('foo' => 'bar'), array('foo' => 'bar'))), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-    }
-
-    public function testExtensions()
-    {
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $container->registerExtension(new \ProjectWithXsdExtension());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-
-        // extension without an XSD
-        $loader->load('extensions/services1.xml');
-        $container->compile();
-        $services = $container->getDefinitions();
-        $parameters = $container->getParameterBag()->all();
-
-        $this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
-        $this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
-
-        $this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
-        $this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
-
-        // extension with an XSD
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $container->registerExtension(new \ProjectWithXsdExtension());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('extensions/services2.xml');
-        $container->compile();
-        $services = $container->getDefinitions();
-        $parameters = $container->getParameterBag()->all();
-
-        $this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
-        $this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
-
-        $this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
-        $this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
-
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $container->registerExtension(new \ProjectWithXsdExtension());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-
-        // extension with an XSD (does not validate)
-        try {
-            $loader->load('extensions/services3.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Exception\\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-            $this->assertRegExp(sprintf('#^Unable to parse file ".+%s".$#', 'services3.xml'), $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-
-            $e = $e->getPrevious();
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-            $this->assertContains('The attribute \'bar\' is not allowed', $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        }
-
-        // non-registered extension
-        try {
-            $loader->load('extensions/services4.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the tag is not valid');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the tag is not valid');
-            $this->assertStringStartsWith('There is no extension able to load the configuration for "project:bar" (in', $e->getMessage(), '->load() throws an InvalidArgumentException if the tag is not valid');
-        }
-    }
-
-    public function testExtensionInPhar()
-    {
-        if (extension_loaded('suhosin') && false === strpos(ini_get('suhosin.executor.include.whitelist'), 'phar')) {
-            $this->markTestSkipped('To run this test, add "phar" to the "suhosin.executor.include.whitelist" settings in your php.ini file.');
-        }
-
-        require_once self::$fixturesPath.'/includes/ProjectWithXsdExtensionInPhar.phar';
-
-        // extension with an XSD in PHAR archive
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectWithXsdExtensionInPhar());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('extensions/services6.xml');
-
-        // extension with an XSD in PHAR archive (does not validate)
-        try {
-            $loader->load('extensions/services7.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Exception\\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-            $this->assertRegExp(sprintf('#^Unable to parse file ".+%s".$#', 'services7.xml'), $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-
-            $e = $e->getPrevious();
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-            $this->assertContains('The attribute \'bar\' is not allowed', $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\XmlFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.xml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    public function testNoNamingConflictsForAnonymousServices()
-    {
-        $container = new ContainerBuilder();
-
-        $loader1 = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml/extension1'));
-        $loader1->load('services.xml');
-        $services = $container->getDefinitions();
-        $this->assertCount(2, $services, '->load() attributes unique ids to anonymous services');
-        $loader2 = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml/extension2'));
-        $loader2->load('services.xml');
-        $services = $container->getDefinitions();
-        $this->assertCount(4, $services, '->load() attributes unique ids to anonymous services');
-
-        $services = $container->getDefinitions();
-        $args1 = $services['extension1.foo']->getArguments();
-        $inner1 = $services[(string) $args1[0]];
-        $this->assertEquals('BarClass1', $inner1->getClass(), '->load() uses the same configuration as for the anonymous ones');
-        $args2 = $services['extension2.foo']->getArguments();
-        $inner2 = $services[(string) $args2[0]];
-        $this->assertEquals('BarClass2', $inner2->getClass(), '->load() uses the same configuration as for the anonymous ones');
-    }
-
-    public function testDocTypeIsNotAllowed()
-    {
-        $container = new ContainerBuilder();
-
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-
-        // document types are not allowed.
-        try {
-            $loader->load('withdoctype.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the configuration contains a document type');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Exception\\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration contains a document type');
-            $this->assertRegExp(sprintf('#^Unable to parse file ".+%s".$#', 'withdoctype.xml'), $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration contains a document type');
-
-            $e = $e->getPrevious();
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration contains a document type');
-            $this->assertSame('Document types are not allowed.', $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration contains a document type');
-        }
-    }
-
-    public function testXmlNamespaces()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('namespaces.xml');
-        $services = $container->getDefinitions();
-
-        $this->assertTrue(isset($services['foo']), '->load() parses <srv:service> elements');
-        $this->assertEquals(1, count($services['foo']->getTag('foo.tag')), '->load parses <srv:tag> elements');
-        $this->assertEquals(array(array('setBar', array('foo'))), $services['foo']->getMethodCalls(), '->load() parses the <srv:call> tag');
-    }
-
-    public function testLoadIndexedArguments()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services14.xml');
-
-        $this->assertEquals(array('index_0' => 'app'), $container->findDefinition('logger')->getArguments());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
deleted file mode 100644
index 3de0843..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
+++ /dev/null
@@ -1,257 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\Config\Loader\Loader;
-use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
-use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
-use Symfony\Component\Config\Loader\LoaderResolver;
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\ExpressionLanguage\Expression;
-
-class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-        require_once self::$fixturesPath.'/includes/foo.php';
-        require_once self::$fixturesPath.'/includes/ProjectExtension.php';
-    }
-
-    public function testLoadFile()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/ini'));
-        $r = new \ReflectionObject($loader);
-        $m = $r->getMethod('loadFile');
-        $m->setAccessible(true);
-
-        try {
-            $m->invoke($loader, 'foo.yml');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file does not exist');
-            $this->assertEquals('The service file "foo.yml" is not valid.', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file does not exist');
-        }
-
-        try {
-            $m->invoke($loader, 'parameters.ini');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file is not a valid YAML file');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file is not a valid YAML file');
-            $this->assertEquals('The service file "parameters.ini" is not valid.', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file is not a valid YAML file');
-        }
-
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-
-        foreach (array('nonvalid1', 'nonvalid2') as $fixture) {
-            try {
-                $m->invoke($loader, $fixture.'.yml');
-                $this->fail('->load() throws an InvalidArgumentException if the loaded file does not validate');
-            } catch (\Exception $e) {
-                $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file does not validate');
-                $this->assertStringMatchesFormat('The service file "nonvalid%d.yml" is not valid.', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file does not validate');
-            }
-        }
-    }
-
-    /**
-     * @dataProvider provideInvalidFiles
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
-     */
-    public function testLoadInvalidFile($file)
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-
-        $loader->load($file.'.yml');
-    }
-
-    public function provideInvalidFiles()
-    {
-        return array(
-            array('bad_parameters'),
-            array('bad_imports'),
-            array('bad_import'),
-            array('bad_services'),
-            array('bad_service'),
-            array('bad_calls'),
-        );
-    }
-
-    public function testLoadParameters()
-    {
-        $container = new ContainerBuilder();
-        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('services2.yml');
-        $this->assertEquals(array('foo' => 'bar', 'mixedcase' => array('MixedCaseKey' => 'value'), 'values' => array(true, false, 0, 1000.3), 'bar' => 'foo', 'escape' => '@escapeme', 'foo_bar' => new Reference('foo_bar')), $container->getParameterBag()->all(), '->load() converts YAML keys to lowercase');
-    }
-
-    public function testLoadImports()
-    {
-        $container = new ContainerBuilder();
-        $resolver = new LoaderResolver(array(
-            new IniFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')),
-            new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')),
-            new PhpFileLoader($container, new FileLocator(self::$fixturesPath.'/php')),
-            $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')),
-        ));
-        $loader->setResolver($resolver);
-        $loader->load('services4.yml');
-
-        $actual = $container->getParameterBag()->all();
-        $expected = array('foo' => 'bar', 'values' => array(true, false), 'bar' => '%foo%', 'escape' => '@escapeme', 'foo_bar' => new Reference('foo_bar'), 'mixedcase' => array('MixedCaseKey' => 'value'), 'imported_from_ini' => true, 'imported_from_xml' => true);
-        $this->assertEquals(array_keys($expected), array_keys($actual), '->load() imports and merges imported files');
-
-        // Bad import throws no exception due to ignore_errors value.
-        $loader->load('services4_bad_import.yml');
-    }
-
-    public function testLoadServices()
-    {
-        $container = new ContainerBuilder();
-        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('services6.yml');
-        $services = $container->getDefinitions();
-        $this->assertTrue(isset($services['foo']), '->load() parses service elements');
-        $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Definition', $services['foo'], '->load() converts service element to Definition instances');
-        $this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
-        $this->assertEquals('container', $services['scope.container']->getScope());
-        $this->assertEquals('custom', $services['scope.custom']->getScope());
-        $this->assertEquals('prototype', $services['scope.prototype']->getScope());
-        $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod(), '->load() parses the factory_method attribute');
-        $this->assertEquals('%path%/foo.php', $services['file']->getFile(), '->load() parses the file tag');
-        $this->assertEquals(array('foo', new Reference('foo'), array(true, false)), $services['arguments']->getArguments(), '->load() parses the argument tags');
-        $this->assertEquals('sc_configure', $services['configurator1']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(new Reference('baz'), 'configure'), $services['configurator2']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array('BazClass', 'configureStatic'), $services['configurator3']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(array('setBar', array()), array('setBar', array()), array('setBar', array(new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")')))), $services['method_call1']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertEquals(array(array('setBar', array('foo', new Reference('foo'), array(true, false)))), $services['method_call2']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService());
-        $this->assertEquals('factory', $services['new_factory1']->getFactory(), '->load() parses the factory tag');
-        $this->assertEquals(array(new Reference('baz'), 'getClass'), $services['new_factory2']->getFactory(), '->load() parses the factory tag');
-        $this->assertEquals(array('BazClass', 'getInstance'), $services['new_factory3']->getFactory(), '->load() parses the factory tag');
-
-        $this->assertTrue($services['request']->isSynthetic(), '->load() parses the synthetic flag');
-        $this->assertTrue($services['request']->isSynchronized(), '->load() parses the synchronized flag');
-        $this->assertTrue($services['request']->isLazy(), '->load() parses the lazy flag');
-
-        $aliases = $container->getAliases();
-        $this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses aliases');
-        $this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
-        $this->assertTrue($aliases['alias_for_foo']->isPublic());
-        $this->assertTrue(isset($aliases['another_alias_for_foo']));
-        $this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
-        $this->assertFalse($aliases['another_alias_for_foo']->isPublic());
-
-        $this->assertNull($services['request']->getDecoratedService());
-        $this->assertEquals(array('decorated', null), $services['decorator_service']->getDecoratedService());
-        $this->assertEquals(array('decorated', 'decorated.pif-pouf'), $services['decorator_service_with_name']->getDecoratedService());
-    }
-
-    public function testLoadFactoryShortSyntax()
-    {
-        $container = new ContainerBuilder();
-        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('services14.yml');
-        $services = $container->getDefinitions();
-
-        $this->assertEquals(array(new Reference('baz'), 'getClass'), $services['factory']->getFactory(), '->load() parses the factory tag with service:method');
-        $this->assertEquals(array('FooBacFactory', 'createFooBar'), $services['factory_with_static_call']->getFactory(), '->load() parses the factory tag with Class::method');
-    }
-
-    public function testExtensions()
-    {
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('services10.yml');
-        $container->compile();
-        $services = $container->getDefinitions();
-        $parameters = $container->getParameterBag()->all();
-
-        $this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
-        $this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
-
-        $this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
-        $this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
-
-        try {
-            $loader->load('services11.yml');
-            $this->fail('->load() throws an InvalidArgumentException if the tag is not valid');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the tag is not valid');
-            $this->assertStringStartsWith('There is no extension able to load the configuration for "foobarfoobar" (in', $e->getMessage(), '->load() throws an InvalidArgumentException if the tag is not valid');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\YamlFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.yml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    public function testNonArrayTagsThrowsException()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-        try {
-            $loader->load('badtag1.yml');
-            $this->fail('->load() should throw an exception when the tags key of a service is not an array');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the tags key is not an array');
-            $this->assertStringStartsWith('Parameter "tags" must be an array for service', $e->getMessage(), '->load() throws an InvalidArgumentException if the tags key is not an array');
-        }
-    }
-
-    /**
-     * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
-     * @expectedExceptionMessage A "tags" entry must be an array for service
-     */
-    public function testNonArrayTagThrowsException()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('badtag4.yml');
-    }
-
-    public function testTagWithoutNameThrowsException()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-        try {
-            $loader->load('badtag2.yml');
-            $this->fail('->load() should throw an exception when a tag is missing the name key');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if a tag is missing the name key');
-            $this->assertStringStartsWith('A "tags" entry is missing a "name" key for service ', $e->getMessage(), '->load() throws an InvalidArgumentException if a tag is missing the name key');
-        }
-    }
-
-    public function testTagWithAttributeArrayThrowsException()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-        try {
-            $loader->load('badtag3.yml');
-            $this->fail('->load() should throw an exception when a tag-attribute is not a scalar');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if a tag-attribute is not a scalar');
-            $this->assertStringStartsWith('A "tags" attribute must be of a scalar-type for service "foo_service", tag "foo", attribute "bar"', $e->getMessage(), '->load() throws an InvalidArgumentException if a tag-attribute is not a scalar');
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php
deleted file mode 100644
index e6e7fea..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\ParameterBag;
-
-use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
-
-class FrozenParameterBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::__construct
-     */
-    public function testConstructor()
-    {
-        $parameters = array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        );
-        $bag = new FrozenParameterBag($parameters);
-        $this->assertEquals($parameters, $bag->all(), '__construct() takes an array of parameters as its first argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::clear
-     * @expectedException \LogicException
-     */
-    public function testClear()
-    {
-        $bag = new FrozenParameterBag(array());
-        $bag->clear();
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::set
-     * @expectedException \LogicException
-     */
-    public function testSet()
-    {
-        $bag = new FrozenParameterBag(array());
-        $bag->set('foo', 'bar');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::add
-     * @expectedException \LogicException
-     */
-    public function testAdd()
-    {
-        $bag = new FrozenParameterBag(array());
-        $bag->add(array());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php
deleted file mode 100644
index e1f8169..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php
+++ /dev/null
@@ -1,279 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\ParameterBag;
-
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
-use Symfony\Component\DependencyInjection\Exception\ParameterCircularReferenceException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-
-class ParameterBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::__construct
-     */
-    public function testConstructor()
-    {
-        $bag = new ParameterBag($parameters = array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        ));
-        $this->assertEquals($parameters, $bag->all(), '__construct() takes an array of parameters as its first argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::clear
-     */
-    public function testClear()
-    {
-        $bag = new ParameterBag($parameters = array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        ));
-        $bag->clear();
-        $this->assertEquals(array(), $bag->all(), '->clear() removes all parameters');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::remove
-     */
-    public function testRemove()
-    {
-        $bag = new ParameterBag(array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        ));
-        $bag->remove('foo');
-        $this->assertEquals(array('bar' => 'bar'), $bag->all(), '->remove() removes a parameter');
-        $bag->remove('BAR');
-        $this->assertEquals(array(), $bag->all(), '->remove() converts key to lowercase before removing');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::get
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::set
-     */
-    public function testGetSet()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $bag->set('bar', 'foo');
-        $this->assertEquals('foo', $bag->get('bar'), '->set() sets the value of a new parameter');
-
-        $bag->set('foo', 'baz');
-        $this->assertEquals('baz', $bag->get('foo'), '->set() overrides previously set parameter');
-
-        $bag->set('Foo', 'baz1');
-        $this->assertEquals('baz1', $bag->get('foo'), '->set() converts the key to lowercase');
-        $this->assertEquals('baz1', $bag->get('FOO'), '->get() converts the key to lowercase');
-
-        try {
-            $bag->get('baba');
-            $this->fail('->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException', $e, '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent parameter "baba".', $e->getMessage(), '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-        }
-    }
-
-    public function testGetThrowParameterNotFoundException()
-    {
-        $bag = new ParameterBag(array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-            'baz' => 'baz',
-        ));
-
-        try {
-            $bag->get('foo1');
-            $this->fail('->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException', $e, '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent parameter "foo1". Did you mean this: "foo"?', $e->getMessage(), '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException with some advices');
-        }
-
-        try {
-            $bag->get('bag');
-            $this->fail('->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException', $e, '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent parameter "bag". Did you mean one of these: "bar", "baz"?', $e->getMessage(), '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException with some advices');
-        }
-
-        try {
-            $bag->get('');
-            $this->fail('->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException', $e, '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent parameter "".', $e->getMessage(), '->get() throws an Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException with some advices');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::has
-     */
-    public function testHas()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertTrue($bag->has('foo'), '->has() returns true if a parameter is defined');
-        $this->assertTrue($bag->has('Foo'), '->has() converts the key to lowercase');
-        $this->assertFalse($bag->has('bar'), '->has() returns false if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolveValue
-     */
-    public function testResolveValue()
-    {
-        $bag = new ParameterBag(array());
-        $this->assertEquals('foo', $bag->resolveValue('foo'), '->resolveValue() returns its argument unmodified if no placeholders are found');
-
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertEquals('I\'m a bar', $bag->resolveValue('I\'m a %foo%'), '->resolveValue() replaces placeholders by their values');
-        $this->assertEquals(array('bar' => 'bar'), $bag->resolveValue(array('%foo%' => '%foo%')), '->resolveValue() replaces placeholders in keys and values of arrays');
-        $this->assertEquals(array('bar' => array('bar' => array('bar' => 'bar'))), $bag->resolveValue(array('%foo%' => array('%foo%' => array('%foo%' => '%foo%')))), '->resolveValue() replaces placeholders in nested arrays');
-        $this->assertEquals('I\'m a %%foo%%', $bag->resolveValue('I\'m a %%foo%%'), '->resolveValue() supports % escaping by doubling it');
-        $this->assertEquals('I\'m a bar %%foo bar', $bag->resolveValue('I\'m a %foo% %%foo %foo%'), '->resolveValue() supports % escaping by doubling it');
-        $this->assertEquals(array('foo' => array('bar' => array('ding' => 'I\'m a bar %%foo %%bar'))), $bag->resolveValue(array('foo' => array('bar' => array('ding' => 'I\'m a bar %%foo %%bar')))), '->resolveValue() supports % escaping by doubling it');
-
-        $bag = new ParameterBag(array('foo' => true));
-        $this->assertTrue($bag->resolveValue('%foo%'), '->resolveValue() replaces arguments that are just a placeholder by their value without casting them to strings');
-        $bag = new ParameterBag(array('foo' => null));
-        $this->assertNull($bag->resolveValue('%foo%'), '->resolveValue() replaces arguments that are just a placeholder by their value without casting them to strings');
-
-        $bag = new ParameterBag(array('foo' => 'bar', 'baz' => '%%%foo% %foo%%% %%foo%% %%%foo%%%'));
-        $this->assertEquals('%%bar bar%% %%foo%% %%bar%%', $bag->resolveValue('%baz%'), '->resolveValue() replaces params placed besides escaped %');
-
-        $bag = new ParameterBag(array('baz' => '%%s?%%s'));
-        $this->assertEquals('%%s?%%s', $bag->resolveValue('%baz%'), '->resolveValue() is not replacing greedily');
-
-        $bag = new ParameterBag(array());
-        try {
-            $bag->resolveValue('%foobar%');
-            $this->fail('->resolveValue() throws an InvalidArgumentException if a placeholder references a non-existent parameter');
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('You have requested a non-existent parameter "foobar".', $e->getMessage(), '->resolveValue() throws a ParameterNotFoundException if a placeholder references a non-existent parameter');
-        }
-
-        try {
-            $bag->resolveValue('foo %foobar% bar');
-            $this->fail('->resolveValue() throws a ParameterNotFoundException if a placeholder references a non-existent parameter');
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('You have requested a non-existent parameter "foobar".', $e->getMessage(), '->resolveValue() throws a ParameterNotFoundException if a placeholder references a non-existent parameter');
-        }
-
-        $bag = new ParameterBag(array('foo' => 'a %bar%', 'bar' => array()));
-        try {
-            $bag->resolveValue('%foo%');
-            $this->fail('->resolveValue() throws a RuntimeException when a parameter embeds another non-string parameter');
-        } catch (RuntimeException $e) {
-            $this->assertEquals('A string value must be composed of strings and/or numbers, but found parameter "bar" of type array inside string value "a %bar%".', $e->getMessage(), '->resolveValue() throws a RuntimeException when a parameter embeds another non-string parameter');
-        }
-
-        $bag = new ParameterBag(array('foo' => '%bar%', 'bar' => '%foobar%', 'foobar' => '%foo%'));
-        try {
-            $bag->resolveValue('%foo%');
-            $this->fail('->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        } catch (ParameterCircularReferenceException $e) {
-            $this->assertEquals('Circular reference detected for parameter "foo" ("foo" > "bar" > "foobar" > "foo").', $e->getMessage(), '->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        }
-
-        $bag = new ParameterBag(array('foo' => 'a %bar%', 'bar' => 'a %foobar%', 'foobar' => 'a %foo%'));
-        try {
-            $bag->resolveValue('%foo%');
-            $this->fail('->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        } catch (ParameterCircularReferenceException $e) {
-            $this->assertEquals('Circular reference detected for parameter "foo" ("foo" > "bar" > "foobar" > "foo").', $e->getMessage(), '->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        }
-
-        $bag = new ParameterBag(array('host' => 'foo.bar', 'port' => 1337));
-        $this->assertEquals('foo.bar:1337', $bag->resolveValue('%host%:%port%'));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolve
-     */
-    public function testResolveIndicatesWhyAParameterIsNeeded()
-    {
-        $bag = new ParameterBag(array('foo' => '%bar%'));
-
-        try {
-            $bag->resolve();
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('The parameter "foo" has a dependency on a non-existent parameter "bar".', $e->getMessage());
-        }
-
-        $bag = new ParameterBag(array('foo' => '%bar%'));
-
-        try {
-            $bag->resolve();
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('The parameter "foo" has a dependency on a non-existent parameter "bar".', $e->getMessage());
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolve
-     */
-    public function testResolveUnescapesValue()
-    {
-        $bag = new ParameterBag(array(
-            'foo' => array('bar' => array('ding' => 'I\'m a bar %%foo %%bar')),
-            'bar' => 'I\'m a %%foo%%',
-        ));
-
-        $bag->resolve();
-
-        $this->assertEquals('I\'m a %foo%', $bag->get('bar'), '->resolveValue() supports % escaping by doubling it');
-        $this->assertEquals(array('bar' => array('ding' => 'I\'m a bar %foo %bar')), $bag->get('foo'), '->resolveValue() supports % escaping by doubling it');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::escapeValue
-     */
-    public function testEscapeValue()
-    {
-        $bag = new ParameterBag();
-
-        $bag->add(array(
-            'foo' => $bag->escapeValue(array('bar' => array('ding' => 'I\'m a bar %foo %bar', 'zero' => null))),
-            'bar' => $bag->escapeValue('I\'m a %foo%'),
-        ));
-
-        $this->assertEquals('I\'m a %%foo%%', $bag->get('bar'), '->escapeValue() escapes % by doubling it');
-        $this->assertEquals(array('bar' => array('ding' => 'I\'m a bar %%foo %%bar', 'zero' => null)), $bag->get('foo'), '->escapeValue() escapes % by doubling it');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolve
-     * @dataProvider stringsWithSpacesProvider
-     */
-    public function testResolveStringWithSpacesReturnsString($expected, $test, $description)
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-
-        try {
-            $this->assertEquals($expected, $bag->resolveString($test), $description);
-        } catch (ParameterNotFoundException $e) {
-            $this->fail(sprintf('%s - "%s"', $description, $expected));
-        }
-    }
-
-    public function stringsWithSpacesProvider()
-    {
-        return array(
-            array('bar', '%foo%', 'Parameters must be wrapped by %.'),
-            array('% foo %', '% foo %', 'Parameters should not have spaces.'),
-            array('{% set my_template = "foo" %}', '{% set my_template = "foo" %}', 'Twig-like strings are not parameters.'),
-            array('50% is less than 100%', '50% is less than 100%', 'Text between % signs is allowed, if there are spaces.'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php
deleted file mode 100644
index bed188e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Parameter;
-
-class ParameterTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Parameter::__construct
-     */
-    public function testConstructor()
-    {
-        $ref = new Parameter('foo');
-        $this->assertEquals('foo', (string) $ref, '__construct() sets the id of the parameter, which is used for the __toString() method');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php
deleted file mode 100644
index f14e99f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Reference;
-
-class ReferenceTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Reference::__construct
-     */
-    public function testConstructor()
-    {
-        $ref = new Reference('foo');
-        $this->assertEquals('foo', (string) $ref, '__construct() sets the id of the reference, which is used for the __toString() method');
-    }
-
-    public function testCaseInsensitive()
-    {
-        $ref = new Reference('FooBar');
-        $this->assertEquals('foobar', (string) $ref, 'the id is lowercased as the container is case insensitive');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Variable.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Variable.php
deleted file mode 100644
index e502356..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Variable.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection;
-
-/**
- * Represents a variable.
- *
- *     $var = new Variable('a');
- *
- * will be dumped as
- *
- *     $a
- *
- * by the PHP dumper.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class Variable
-{
-    private $name;
-
-    /**
-     * Constructor.
-     *
-     * @param string $name
-     */
-    public function __construct($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * Converts the object to a string.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->name;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json
deleted file mode 100644
index b550d87..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    "name": "symfony/dependency-injection",
-    "type": "library",
-    "description": "Symfony DependencyInjection Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7",
-        "symfony/yaml": "~2.1",
-        "symfony/config": "~2.2",
-        "symfony/expression-language": "~2.6"
-    },
-    "conflict": {
-        "symfony/expression-language": "<2.6"
-    },
-    "suggest": {
-        "symfony/yaml": "",
-        "symfony/config": "",
-        "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\DependencyInjection\\": "" }
-    },
-    "target-dir": "Symfony/Component/DependencyInjection",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist
deleted file mode 100644
index 17a2172..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist
+++ /dev/null
@@ -1,28 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony DependencyInjection Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/.gitignore b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md
deleted file mode 100644
index bb42ee1..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md
+++ /dev/null
@@ -1,23 +0,0 @@
-CHANGELOG
-=========
-
-2.5.0
------
-
- * added Debug\TraceableEventDispatcher (originally in HttpKernel)
- * changed Debug\TraceableEventDispatcherInterface to extend EventDispatcherInterface
- * added RegisterListenersPass (originally in HttpKernel)
-
-2.1.0
------
-
- * added TraceableEventDispatcherInterface
- * added ContainerAwareEventDispatcher
- * added a reference to the EventDispatcher on the Event
- * added a reference to the Event name on the event
- * added fluid interface to the dispatch() method which now returns the Event
-   object
- * added GenericEvent event class
- * added the possibility for subscribers to subscribe several times for the
-   same event
- * added ImmutableEventDispatcher
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php
deleted file mode 100644
index af0b6ce..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php
+++ /dev/null
@@ -1,202 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-
-/**
- * Lazily loads listeners and subscribers from the dependency injection
- * container.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @author Jordan Alliot <jordan.alliot@gmail.com>
- */
-class ContainerAwareEventDispatcher extends EventDispatcher
-{
-    /**
-     * The container from where services are loaded.
-     *
-     * @var ContainerInterface
-     */
-    private $container;
-
-    /**
-     * The service IDs of the event listeners and subscribers.
-     *
-     * @var array
-     */
-    private $listenerIds = array();
-
-    /**
-     * The services registered as listeners.
-     *
-     * @var array
-     */
-    private $listeners = array();
-
-    /**
-     * Constructor.
-     *
-     * @param ContainerInterface $container A ContainerInterface instance
-     */
-    public function __construct(ContainerInterface $container)
-    {
-        $this->container = $container;
-    }
-
-    /**
-     * Adds a service as event listener.
-     *
-     * @param string $eventName Event for which the listener is added
-     * @param array  $callback  The service ID of the listener service & the method
-     *                          name that has to be called
-     * @param int    $priority  The higher this value, the earlier an event listener
-     *                          will be triggered in the chain.
-     *                          Defaults to 0.
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function addListenerService($eventName, $callback, $priority = 0)
-    {
-        if (!is_array($callback) || 2 !== count($callback)) {
-            throw new \InvalidArgumentException('Expected an array("service", "method") argument');
-        }
-
-        $this->listenerIds[$eventName][] = array($callback[0], $callback[1], $priority);
-    }
-
-    public function removeListener($eventName, $listener)
-    {
-        $this->lazyLoad($eventName);
-
-        if (isset($this->listenerIds[$eventName])) {
-            foreach ($this->listenerIds[$eventName] as $i => $args) {
-                list($serviceId, $method, $priority) = $args;
-                $key = $serviceId.'.'.$method;
-                if (isset($this->listeners[$eventName][$key]) && $listener === array($this->listeners[$eventName][$key], $method)) {
-                    unset($this->listeners[$eventName][$key]);
-                    if (empty($this->listeners[$eventName])) {
-                        unset($this->listeners[$eventName]);
-                    }
-                    unset($this->listenerIds[$eventName][$i]);
-                    if (empty($this->listenerIds[$eventName])) {
-                        unset($this->listenerIds[$eventName]);
-                    }
-                }
-            }
-        }
-
-        parent::removeListener($eventName, $listener);
-    }
-
-    /**
-     * @see EventDispatcherInterface::hasListeners()
-     */
-    public function hasListeners($eventName = null)
-    {
-        if (null === $eventName) {
-            return (bool) count($this->listenerIds) || (bool) count($this->listeners);
-        }
-
-        if (isset($this->listenerIds[$eventName])) {
-            return true;
-        }
-
-        return parent::hasListeners($eventName);
-    }
-
-    /**
-     * @see EventDispatcherInterface::getListeners()
-     */
-    public function getListeners($eventName = null)
-    {
-        if (null === $eventName) {
-            foreach (array_keys($this->listenerIds) as $serviceEventName) {
-                $this->lazyLoad($serviceEventName);
-            }
-        } else {
-            $this->lazyLoad($eventName);
-        }
-
-        return parent::getListeners($eventName);
-    }
-
-    /**
-     * Adds a service as event subscriber.
-     *
-     * @param string $serviceId The service ID of the subscriber service
-     * @param string $class     The service's class name (which must implement EventSubscriberInterface)
-     */
-    public function addSubscriberService($serviceId, $class)
-    {
-        foreach ($class::getSubscribedEvents() as $eventName => $params) {
-            if (is_string($params)) {
-                $this->listenerIds[$eventName][] = array($serviceId, $params, 0);
-            } elseif (is_string($params[0])) {
-                $this->listenerIds[$eventName][] = array($serviceId, $params[0], isset($params[1]) ? $params[1] : 0);
-            } else {
-                foreach ($params as $listener) {
-                    $this->listenerIds[$eventName][] = array($serviceId, $listener[0], isset($listener[1]) ? $listener[1] : 0);
-                }
-            }
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * Lazily loads listeners for this event from the dependency injection
-     * container.
-     *
-     * @throws \InvalidArgumentException if the service is not defined
-     */
-    public function dispatch($eventName, Event $event = null)
-    {
-        $this->lazyLoad($eventName);
-
-        return parent::dispatch($eventName, $event);
-    }
-
-    public function getContainer()
-    {
-        return $this->container;
-    }
-
-    /**
-     * Lazily loads listeners for this event from the dependency injection
-     * container.
-     *
-     * @param string $eventName The name of the event to dispatch. The name of
-     *                          the event is the name of the method that is
-     *                          invoked on listeners.
-     */
-    protected function lazyLoad($eventName)
-    {
-        if (isset($this->listenerIds[$eventName])) {
-            foreach ($this->listenerIds[$eventName] as $args) {
-                list($serviceId, $method, $priority) = $args;
-                $listener = $this->container->get($serviceId);
-
-                $key = $serviceId.'.'.$method;
-                if (!isset($this->listeners[$eventName][$key])) {
-                    $this->addListener($eventName, array($listener, $method), $priority);
-                } elseif ($listener !== $this->listeners[$eventName][$key]) {
-                    parent::removeListener($eventName, array($this->listeners[$eventName][$key], $method));
-                    $this->addListener($eventName, array($listener, $method), $priority);
-                }
-
-                $this->listeners[$eventName][$key] = $listener;
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php
deleted file mode 100644
index 2119b81..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php
+++ /dev/null
@@ -1,320 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Debug;
-
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\Stopwatch\Stopwatch;
-use Psr\Log\LoggerInterface;
-
-/**
- * Collects some data about event listeners.
- *
- * This event dispatcher delegates the dispatching to another one.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class TraceableEventDispatcher implements TraceableEventDispatcherInterface
-{
-    protected $logger;
-    protected $stopwatch;
-
-    private $called;
-    private $dispatcher;
-
-    /**
-     * Constructor.
-     *
-     * @param EventDispatcherInterface $dispatcher An EventDispatcherInterface instance
-     * @param Stopwatch                $stopwatch  A Stopwatch instance
-     * @param LoggerInterface          $logger     A LoggerInterface instance
-     */
-    public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, LoggerInterface $logger = null)
-    {
-        $this->dispatcher = $dispatcher;
-        $this->stopwatch = $stopwatch;
-        $this->logger = $logger;
-        $this->called = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addListener($eventName, $listener, $priority = 0)
-    {
-        $this->dispatcher->addListener($eventName, $listener, $priority);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addSubscriber(EventSubscriberInterface $subscriber)
-    {
-        $this->dispatcher->addSubscriber($subscriber);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function removeListener($eventName, $listener)
-    {
-        return $this->dispatcher->removeListener($eventName, $listener);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function removeSubscriber(EventSubscriberInterface $subscriber)
-    {
-        return $this->dispatcher->removeSubscriber($subscriber);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getListeners($eventName = null)
-    {
-        return $this->dispatcher->getListeners($eventName);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasListeners($eventName = null)
-    {
-        return $this->dispatcher->hasListeners($eventName);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function dispatch($eventName, Event $event = null)
-    {
-        if (null === $event) {
-            $event = new Event();
-        }
-
-        $this->preProcess($eventName);
-        $this->preDispatch($eventName, $event);
-
-        $e = $this->stopwatch->start($eventName, 'section');
-
-        $this->dispatcher->dispatch($eventName, $event);
-
-        if ($e->isStarted()) {
-            $e->stop();
-        }
-
-        $this->postDispatch($eventName, $event);
-        $this->postProcess($eventName);
-
-        return $event;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCalledListeners()
-    {
-        $called = array();
-        foreach ($this->called as $eventName => $listeners) {
-            foreach ($listeners as $listener) {
-                $info = $this->getListenerInfo($listener->getWrappedListener(), $eventName);
-                $called[$eventName.'.'.$info['pretty']] = $info;
-            }
-        }
-
-        return $called;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getNotCalledListeners()
-    {
-        try {
-            $allListeners = $this->getListeners();
-        } catch (\Exception $e) {
-            if (null !== $this->logger) {
-                $this->logger->info(sprintf('An exception was thrown while getting the uncalled listeners (%s)', $e->getMessage()), array('exception' => $e));
-            }
-
-            // unable to retrieve the uncalled listeners
-            return array();
-        }
-
-        $notCalled = array();
-        foreach ($allListeners as $eventName => $listeners) {
-            foreach ($listeners as $listener) {
-                $called = false;
-                if (isset($this->called[$eventName])) {
-                    foreach ($this->called[$eventName] as $l) {
-                        if ($l->getWrappedListener() === $listener) {
-                            $called = true;
-
-                            break;
-                        }
-                    }
-                }
-
-                if (!$called) {
-                    $info = $this->getListenerInfo($listener, $eventName);
-                    $notCalled[$eventName.'.'.$info['pretty']] = $info;
-                }
-            }
-        }
-
-        return $notCalled;
-    }
-
-    /**
-     * Proxies all method calls to the original event dispatcher.
-     *
-     * @param string $method    The method name
-     * @param array  $arguments The method arguments
-     *
-     * @return mixed
-     */
-    public function __call($method, $arguments)
-    {
-        return call_user_func_array(array($this->dispatcher, $method), $arguments);
-    }
-
-    /**
-     * Called before dispatching the event.
-     *
-     * @param string $eventName The event name
-     * @param Event  $event     The event
-     */
-    protected function preDispatch($eventName, Event $event)
-    {
-    }
-
-    /**
-     * Called after dispatching the event.
-     *
-     * @param string $eventName The event name
-     * @param Event  $event     The event
-     */
-    protected function postDispatch($eventName, Event $event)
-    {
-    }
-
-    private function preProcess($eventName)
-    {
-        foreach ($this->dispatcher->getListeners($eventName) as $listener) {
-            $this->dispatcher->removeListener($eventName, $listener);
-            $info = $this->getListenerInfo($listener, $eventName);
-            $name = isset($info['class']) ? $info['class'] : $info['type'];
-            $this->dispatcher->addListener($eventName, new WrappedListener($listener, $name, $this->stopwatch, $this));
-        }
-    }
-
-    private function postProcess($eventName)
-    {
-        $skipped = false;
-        foreach ($this->dispatcher->getListeners($eventName) as $listener) {
-            if (!$listener instanceof WrappedListener) { // #12845: a new listener was added during dispatch.
-                continue;
-            }
-            // Unwrap listener
-            $this->dispatcher->removeListener($eventName, $listener);
-            $this->dispatcher->addListener($eventName, $listener->getWrappedListener());
-
-            $info = $this->getListenerInfo($listener->getWrappedListener(), $eventName);
-            if ($listener->wasCalled()) {
-                if (null !== $this->logger) {
-                    $this->logger->debug(sprintf('Notified event "%s" to listener "%s".', $eventName, $info['pretty']));
-                }
-
-                if (!isset($this->called[$eventName])) {
-                    $this->called[$eventName] = new \SplObjectStorage();
-                }
-
-                $this->called[$eventName]->attach($listener);
-            }
-
-            if (null !== $this->logger && $skipped) {
-                $this->logger->debug(sprintf('Listener "%s" was not called for event "%s".', $info['pretty'], $eventName));
-            }
-
-            if ($listener->stoppedPropagation()) {
-                if (null !== $this->logger) {
-                    $this->logger->debug(sprintf('Listener "%s" stopped propagation of the event "%s".', $info['pretty'], $eventName));
-                }
-
-                $skipped = true;
-            }
-        }
-    }
-
-    /**
-     * Returns information about the listener
-     *
-     * @param object $listener  The listener
-     * @param string $eventName The event name
-     *
-     * @return array Information about the listener
-     */
-    private function getListenerInfo($listener, $eventName)
-    {
-        $info = array(
-            'event' => $eventName,
-        );
-        if ($listener instanceof \Closure) {
-            $info += array(
-                'type' => 'Closure',
-                'pretty' => 'closure',
-            );
-        } elseif (is_string($listener)) {
-            try {
-                $r = new \ReflectionFunction($listener);
-                $file = $r->getFileName();
-                $line = $r->getStartLine();
-            } catch (\ReflectionException $e) {
-                $file = null;
-                $line = null;
-            }
-            $info += array(
-                'type' => 'Function',
-                'function' => $listener,
-                'file' => $file,
-                'line' => $line,
-                'pretty' => $listener,
-            );
-        } elseif (is_array($listener) || (is_object($listener) && is_callable($listener))) {
-            if (!is_array($listener)) {
-                $listener = array($listener, '__invoke');
-            }
-            $class = is_object($listener[0]) ? get_class($listener[0]) : $listener[0];
-            try {
-                $r = new \ReflectionMethod($class, $listener[1]);
-                $file = $r->getFileName();
-                $line = $r->getStartLine();
-            } catch (\ReflectionException $e) {
-                $file = null;
-                $line = null;
-            }
-            $info += array(
-                'type' => 'Method',
-                'class' => $class,
-                'method' => $listener[1],
-                'file' => $file,
-                'line' => $line,
-                'pretty' => $class.'::'.$listener[1],
-            );
-        }
-
-        return $info;
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php
deleted file mode 100644
index 5483e81..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Debug;
-
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-
-/**
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface TraceableEventDispatcherInterface extends EventDispatcherInterface
-{
-    /**
-     * Gets the called listeners.
-     *
-     * @return array An array of called listeners
-     */
-    public function getCalledListeners();
-
-    /**
-     * Gets the not called listeners.
-     *
-     * @return array An array of not called listeners
-     */
-    public function getNotCalledListeners();
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/WrappedListener.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/WrappedListener.php
deleted file mode 100644
index e16627d..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/WrappedListener.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Debug;
-
-use Symfony\Component\Stopwatch\Stopwatch;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-
-/**
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class WrappedListener
-{
-    private $listener;
-    private $name;
-    private $called;
-    private $stoppedPropagation;
-    private $stopwatch;
-    private $dispatcher;
-
-    public function __construct($listener, $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null)
-    {
-        $this->listener = $listener;
-        $this->name = $name;
-        $this->stopwatch = $stopwatch;
-        $this->dispatcher = $dispatcher;
-        $this->called = false;
-        $this->stoppedPropagation = false;
-    }
-
-    public function getWrappedListener()
-    {
-        return $this->listener;
-    }
-
-    public function wasCalled()
-    {
-        return $this->called;
-    }
-
-    public function stoppedPropagation()
-    {
-        return $this->stoppedPropagation;
-    }
-
-    public function __invoke(Event $event, $eventName, EventDispatcherInterface $dispatcher)
-    {
-        $this->called = true;
-
-        $e = $this->stopwatch->start($this->name, 'event_listener');
-
-        call_user_func($this->listener, $event, $eventName, $this->dispatcher ?: $dispatcher);
-
-        if ($e->isStarted()) {
-            $e->stop();
-        }
-
-        if ($event->isPropagationStopped()) {
-            $this->stoppedPropagation = true;
-        }
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php
deleted file mode 100644
index 7e74a37..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
-
-/**
- * Compiler pass to register tagged services for an event dispatcher.
- */
-class RegisterListenersPass implements CompilerPassInterface
-{
-    /**
-     * @var string
-     */
-    protected $dispatcherService;
-
-    /**
-     * @var string
-     */
-    protected $listenerTag;
-
-    /**
-     * @var string
-     */
-    protected $subscriberTag;
-
-    /**
-     * Constructor.
-     *
-     * @param string $dispatcherService Service name of the event dispatcher in processed container
-     * @param string $listenerTag       Tag name used for listener
-     * @param string $subscriberTag     Tag name used for subscribers
-     */
-    public function __construct($dispatcherService = 'event_dispatcher', $listenerTag = 'kernel.event_listener', $subscriberTag = 'kernel.event_subscriber')
-    {
-        $this->dispatcherService = $dispatcherService;
-        $this->listenerTag = $listenerTag;
-        $this->subscriberTag = $subscriberTag;
-    }
-
-    public function process(ContainerBuilder $container)
-    {
-        if (!$container->hasDefinition($this->dispatcherService) && !$container->hasAlias($this->dispatcherService)) {
-            return;
-        }
-
-        $definition = $container->findDefinition($this->dispatcherService);
-
-        foreach ($container->findTaggedServiceIds($this->listenerTag) as $id => $events) {
-            $def = $container->getDefinition($id);
-            if (!$def->isPublic()) {
-                throw new \InvalidArgumentException(sprintf('The service "%s" must be public as event listeners are lazy-loaded.', $id));
-            }
-
-            if ($def->isAbstract()) {
-                throw new \InvalidArgumentException(sprintf('The service "%s" must not be abstract as event listeners are lazy-loaded.', $id));
-            }
-
-            foreach ($events as $event) {
-                $priority = isset($event['priority']) ? $event['priority'] : 0;
-
-                if (!isset($event['event'])) {
-                    throw new \InvalidArgumentException(sprintf('Service "%s" must define the "event" attribute on "%s" tags.', $id, $this->listenerTag));
-                }
-
-                if (!isset($event['method'])) {
-                    $event['method'] = 'on'.preg_replace_callback(array(
-                        '/(?<=\b)[a-z]/i',
-                        '/[^a-z0-9]/i',
-                    ), function ($matches) { return strtoupper($matches[0]); }, $event['event']);
-                    $event['method'] = preg_replace('/[^a-z0-9]/i', '', $event['method']);
-                }
-
-                $definition->addMethodCall('addListenerService', array($event['event'], array($id, $event['method']), $priority));
-            }
-        }
-
-        foreach ($container->findTaggedServiceIds($this->subscriberTag) as $id => $attributes) {
-            $def = $container->getDefinition($id);
-            if (!$def->isPublic()) {
-                throw new \InvalidArgumentException(sprintf('The service "%s" must be public as event subscribers are lazy-loaded.', $id));
-            }
-
-            if ($def->isAbstract()) {
-                throw new \InvalidArgumentException(sprintf('The service "%s" must not be abstract as event subscribers are lazy-loaded.', $id));
-            }
-
-            // We must assume that the class value has been correctly filled, even if the service is created by a factory
-            $class = $container->getParameterBag()->resolveValue($def->getClass());
-
-            $refClass = new \ReflectionClass($class);
-            $interface = 'Symfony\Component\EventDispatcher\EventSubscriberInterface';
-            if (!$refClass->implementsInterface($interface)) {
-                throw new \InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, $interface));
-            }
-
-            $definition->addMethodCall('addSubscriberService', array($id, $class));
-        }
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php
deleted file mode 100644
index dc39b05..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher;
-
-/**
- * Event is the base class for classes containing event data.
- *
- * This class contains no event data. It is used by events that do not pass
- * state information to an event handler when an event is raised.
- *
- * You can call the method stopPropagation() to abort the execution of
- * further listeners in your event listener.
- *
- * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
- * @author Jonathan Wage <jonwage@gmail.com>
- * @author Roman Borschel <roman@code-factory.org>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Event
-{
-    /**
-     * @var bool Whether no further event listeners should be triggered
-     */
-    private $propagationStopped = false;
-
-    /**
-     * @var EventDispatcher Dispatcher that dispatched this event
-     */
-    private $dispatcher;
-
-    /**
-     * @var string This event's name
-     */
-    private $name;
-
-    /**
-     * Returns whether further event listeners should be triggered.
-     *
-     * @see Event::stopPropagation()
-     *
-     * @return bool Whether propagation was already stopped for this event.
-     *
-     * @api
-     */
-    public function isPropagationStopped()
-    {
-        return $this->propagationStopped;
-    }
-
-    /**
-     * Stops the propagation of the event to further event listeners.
-     *
-     * If multiple event listeners are connected to the same event, no
-     * further event listener will be triggered once any trigger calls
-     * stopPropagation().
-     *
-     * @api
-     */
-    public function stopPropagation()
-    {
-        $this->propagationStopped = true;
-    }
-
-    /**
-     * Stores the EventDispatcher that dispatches this Event.
-     *
-     * @param EventDispatcherInterface $dispatcher
-     *
-     * @deprecated Deprecated in 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call.
-     *
-     * @api
-     */
-    public function setDispatcher(EventDispatcherInterface $dispatcher)
-    {
-        $this->dispatcher = $dispatcher;
-    }
-
-    /**
-     * Returns the EventDispatcher that dispatches this Event.
-     *
-     * @return EventDispatcherInterface
-     *
-     * @deprecated Deprecated in 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call.
-     *
-     * @api
-     */
-    public function getDispatcher()
-    {
-        return $this->dispatcher;
-    }
-
-    /**
-     * Gets the event's name.
-     *
-     * @return string
-     *
-     * @deprecated Deprecated in 2.4, to be removed in 3.0. The event name is passed to the listener call.
-     *
-     * @api
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Sets the event's name property.
-     *
-     * @param string $name The event name.
-     *
-     * @deprecated Deprecated in 2.4, to be removed in 3.0. The event name is passed to the listener call.
-     *
-     * @api
-     */
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php
deleted file mode 100644
index 3b032fb..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher;
-
-/**
- * The EventDispatcherInterface is the central point of Symfony's event listener system.
- *
- * Listeners are registered on the manager and events are dispatched through the
- * manager.
- *
- * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
- * @author Jonathan Wage <jonwage@gmail.com>
- * @author Roman Borschel <roman@code-factory.org>
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author Jordan Alliot <jordan.alliot@gmail.com>
- *
- * @api
- */
-class EventDispatcher implements EventDispatcherInterface
-{
-    private $listeners = array();
-    private $sorted = array();
-
-    /**
-     * @see EventDispatcherInterface::dispatch()
-     *
-     * @api
-     */
-    public function dispatch($eventName, Event $event = null)
-    {
-        if (null === $event) {
-            $event = new Event();
-        }
-
-        $event->setDispatcher($this);
-        $event->setName($eventName);
-
-        if (!isset($this->listeners[$eventName])) {
-            return $event;
-        }
-
-        $this->doDispatch($this->getListeners($eventName), $eventName, $event);
-
-        return $event;
-    }
-
-    /**
-     * @see EventDispatcherInterface::getListeners()
-     */
-    public function getListeners($eventName = null)
-    {
-        if (null !== $eventName) {
-            if (!isset($this->sorted[$eventName])) {
-                $this->sortListeners($eventName);
-            }
-
-            return $this->sorted[$eventName];
-        }
-
-        foreach (array_keys($this->listeners) as $eventName) {
-            if (!isset($this->sorted[$eventName])) {
-                $this->sortListeners($eventName);
-            }
-        }
-
-        return array_filter($this->sorted);
-    }
-
-    /**
-     * @see EventDispatcherInterface::hasListeners()
-     */
-    public function hasListeners($eventName = null)
-    {
-        return (bool) count($this->getListeners($eventName));
-    }
-
-    /**
-     * @see EventDispatcherInterface::addListener()
-     *
-     * @api
-     */
-    public function addListener($eventName, $listener, $priority = 0)
-    {
-        $this->listeners[$eventName][$priority][] = $listener;
-        unset($this->sorted[$eventName]);
-    }
-
-    /**
-     * @see EventDispatcherInterface::removeListener()
-     */
-    public function removeListener($eventName, $listener)
-    {
-        if (!isset($this->listeners[$eventName])) {
-            return;
-        }
-
-        foreach ($this->listeners[$eventName] as $priority => $listeners) {
-            if (false !== ($key = array_search($listener, $listeners, true))) {
-                unset($this->listeners[$eventName][$priority][$key], $this->sorted[$eventName]);
-            }
-        }
-    }
-
-    /**
-     * @see EventDispatcherInterface::addSubscriber()
-     *
-     * @api
-     */
-    public function addSubscriber(EventSubscriberInterface $subscriber)
-    {
-        foreach ($subscriber->getSubscribedEvents() as $eventName => $params) {
-            if (is_string($params)) {
-                $this->addListener($eventName, array($subscriber, $params));
-            } elseif (is_string($params[0])) {
-                $this->addListener($eventName, array($subscriber, $params[0]), isset($params[1]) ? $params[1] : 0);
-            } else {
-                foreach ($params as $listener) {
-                    $this->addListener($eventName, array($subscriber, $listener[0]), isset($listener[1]) ? $listener[1] : 0);
-                }
-            }
-        }
-    }
-
-    /**
-     * @see EventDispatcherInterface::removeSubscriber()
-     */
-    public function removeSubscriber(EventSubscriberInterface $subscriber)
-    {
-        foreach ($subscriber->getSubscribedEvents() as $eventName => $params) {
-            if (is_array($params) && is_array($params[0])) {
-                foreach ($params as $listener) {
-                    $this->removeListener($eventName, array($subscriber, $listener[0]));
-                }
-            } else {
-                $this->removeListener($eventName, array($subscriber, is_string($params) ? $params : $params[0]));
-            }
-        }
-    }
-
-    /**
-     * Triggers the listeners of an event.
-     *
-     * This method can be overridden to add functionality that is executed
-     * for each listener.
-     *
-     * @param callable[] $listeners The event listeners.
-     * @param string     $eventName The name of the event to dispatch.
-     * @param Event      $event     The event object to pass to the event handlers/listeners.
-     */
-    protected function doDispatch($listeners, $eventName, Event $event)
-    {
-        foreach ($listeners as $listener) {
-            call_user_func($listener, $event, $eventName, $this);
-            if ($event->isPropagationStopped()) {
-                break;
-            }
-        }
-    }
-
-    /**
-     * Sorts the internal list of listeners for the given event by priority.
-     *
-     * @param string $eventName The name of the event.
-     */
-    private function sortListeners($eventName)
-    {
-        $this->sorted[$eventName] = array();
-
-        if (isset($this->listeners[$eventName])) {
-            krsort($this->listeners[$eventName]);
-            $this->sorted[$eventName] = call_user_func_array('array_merge', $this->listeners[$eventName]);
-        }
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
deleted file mode 100644
index efb7c5b..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher;
-
-/**
- * The EventDispatcherInterface is the central point of Symfony's event listener system.
- * Listeners are registered on the manager and events are dispatched through the
- * manager.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-interface EventDispatcherInterface
-{
-    /**
-     * Dispatches an event to all registered listeners.
-     *
-     * @param string $eventName The name of the event to dispatch. The name of
-     *                          the event is the name of the method that is
-     *                          invoked on listeners.
-     * @param Event  $event     The event to pass to the event handlers/listeners.
-     *                          If not supplied, an empty Event instance is created.
-     *
-     * @return Event
-     *
-     * @api
-     */
-    public function dispatch($eventName, Event $event = null);
-
-    /**
-     * Adds an event listener that listens on the specified events.
-     *
-     * @param string   $eventName The event to listen on
-     * @param callable $listener  The listener
-     * @param int      $priority  The higher this value, the earlier an event
-     *                            listener will be triggered in the chain (defaults to 0)
-     *
-     * @api
-     */
-    public function addListener($eventName, $listener, $priority = 0);
-
-    /**
-     * Adds an event subscriber.
-     *
-     * The subscriber is asked for all the events he is
-     * interested in and added as a listener for these events.
-     *
-     * @param EventSubscriberInterface $subscriber The subscriber.
-     *
-     * @api
-     */
-    public function addSubscriber(EventSubscriberInterface $subscriber);
-
-    /**
-     * Removes an event listener from the specified events.
-     *
-     * @param string   $eventName The event to remove a listener from
-     * @param callable $listener  The listener to remove
-     */
-    public function removeListener($eventName, $listener);
-
-    /**
-     * Removes an event subscriber.
-     *
-     * @param EventSubscriberInterface $subscriber The subscriber
-     */
-    public function removeSubscriber(EventSubscriberInterface $subscriber);
-
-    /**
-     * Gets the listeners of a specific event or all listeners.
-     *
-     * @param string $eventName The name of the event
-     *
-     * @return array The event listeners for the specified event, or all event listeners by event name
-     */
-    public function getListeners($eventName = null);
-
-    /**
-     * Checks whether an event has any registered listeners.
-     *
-     * @param string $eventName The name of the event
-     *
-     * @return bool true if the specified event has any listeners, false otherwise
-     */
-    public function hasListeners($eventName = null);
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventSubscriberInterface.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventSubscriberInterface.php
deleted file mode 100644
index ff7e305..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventSubscriberInterface.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher;
-
-/**
- * An EventSubscriber knows himself what events he is interested in.
- * If an EventSubscriber is added to an EventDispatcherInterface, the manager invokes
- * {@link getSubscribedEvents} and registers the subscriber as a listener for all
- * returned events.
- *
- * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
- * @author Jonathan Wage <jonwage@gmail.com>
- * @author Roman Borschel <roman@code-factory.org>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-interface EventSubscriberInterface
-{
-    /**
-     * Returns an array of event names this subscriber wants to listen to.
-     *
-     * The array keys are event names and the value can be:
-     *
-     *  * The method name to call (priority defaults to 0)
-     *  * An array composed of the method name to call and the priority
-     *  * An array of arrays composed of the method names to call and respective
-     *    priorities, or 0 if unset
-     *
-     * For instance:
-     *
-     *  * array('eventName' => 'methodName')
-     *  * array('eventName' => array('methodName', $priority))
-     *  * array('eventName' => array(array('methodName1', $priority), array('methodName2'))
-     *
-     * @return array The event names to listen to
-     *
-     * @api
-     */
-    public static function getSubscribedEvents();
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php
deleted file mode 100644
index a8955ca..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php
+++ /dev/null
@@ -1,186 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher;
-
-/**
- * Event encapsulation class.
- *
- * Encapsulates events thus decoupling the observer from the subject they encapsulate.
- *
- * @author Drak <drak@zikula.org>
- */
-class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate
-{
-    /**
-     * Event subject.
-     *
-     * @var mixed usually object or callable
-     */
-    protected $subject;
-
-    /**
-     * Array of arguments.
-     *
-     * @var array
-     */
-    protected $arguments;
-
-    /**
-     * Encapsulate an event with $subject and $args.
-     *
-     * @param mixed $subject   The subject of the event, usually an object.
-     * @param array $arguments Arguments to store in the event.
-     */
-    public function __construct($subject = null, array $arguments = array())
-    {
-        $this->subject = $subject;
-        $this->arguments = $arguments;
-    }
-
-    /**
-     * Getter for subject property.
-     *
-     * @return mixed $subject The observer subject.
-     */
-    public function getSubject()
-    {
-        return $this->subject;
-    }
-
-    /**
-     * Get argument by key.
-     *
-     * @param string $key Key.
-     *
-     * @throws \InvalidArgumentException If key is not found.
-     *
-     * @return mixed Contents of array key.
-     */
-    public function getArgument($key)
-    {
-        if ($this->hasArgument($key)) {
-            return $this->arguments[$key];
-        }
-
-        throw new \InvalidArgumentException(sprintf('%s not found in %s', $key, $this->getName()));
-    }
-
-    /**
-     * Add argument to event.
-     *
-     * @param string $key   Argument name.
-     * @param mixed  $value Value.
-     *
-     * @return GenericEvent
-     */
-    public function setArgument($key, $value)
-    {
-        $this->arguments[$key] = $value;
-
-        return $this;
-    }
-
-    /**
-     * Getter for all arguments.
-     *
-     * @return array
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    /**
-     * Set args property.
-     *
-     * @param array $args Arguments.
-     *
-     * @return GenericEvent
-     */
-    public function setArguments(array $args = array())
-    {
-        $this->arguments = $args;
-
-        return $this;
-    }
-
-    /**
-     * Has argument.
-     *
-     * @param string $key Key of arguments array.
-     *
-     * @return bool
-     */
-    public function hasArgument($key)
-    {
-        return array_key_exists($key, $this->arguments);
-    }
-
-    /**
-     * ArrayAccess for argument getter.
-     *
-     * @param string $key Array key.
-     *
-     * @throws \InvalidArgumentException If key does not exist in $this->args.
-     *
-     * @return mixed
-     */
-    public function offsetGet($key)
-    {
-        return $this->getArgument($key);
-    }
-
-    /**
-     * ArrayAccess for argument setter.
-     *
-     * @param string $key   Array key to set.
-     * @param mixed  $value Value.
-     */
-    public function offsetSet($key, $value)
-    {
-        $this->setArgument($key, $value);
-    }
-
-    /**
-     * ArrayAccess for unset argument.
-     *
-     * @param string $key Array key.
-     */
-    public function offsetUnset($key)
-    {
-        if ($this->hasArgument($key)) {
-            unset($this->arguments[$key]);
-        }
-    }
-
-    /**
-     * ArrayAccess has argument.
-     *
-     * @param string $key Array key.
-     *
-     * @return bool
-     */
-    public function offsetExists($key)
-    {
-        return $this->hasArgument($key);
-    }
-
-    /**
-     * IteratorAggregate for iterating over the object like an array.
-     *
-     * @return \ArrayIterator
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->arguments);
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php
deleted file mode 100644
index 7ef9ece..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher;
-
-/**
- * A read-only proxy for an event dispatcher.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ImmutableEventDispatcher implements EventDispatcherInterface
-{
-    /**
-     * The proxied dispatcher.
-     *
-     * @var EventDispatcherInterface
-     */
-    private $dispatcher;
-
-    /**
-     * Creates an unmodifiable proxy for an event dispatcher.
-     *
-     * @param EventDispatcherInterface $dispatcher The proxied event dispatcher.
-     */
-    public function __construct(EventDispatcherInterface $dispatcher)
-    {
-        $this->dispatcher = $dispatcher;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function dispatch($eventName, Event $event = null)
-    {
-        return $this->dispatcher->dispatch($eventName, $event);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addListener($eventName, $listener, $priority = 0)
-    {
-        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addSubscriber(EventSubscriberInterface $subscriber)
-    {
-        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function removeListener($eventName, $listener)
-    {
-        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function removeSubscriber(EventSubscriberInterface $subscriber)
-    {
-        throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getListeners($eventName = null)
-    {
-        return $this->dispatcher->getListeners($eventName);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasListeners($eventName = null)
-    {
-        return $this->dispatcher->hasListeners($eventName);
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md
deleted file mode 100644
index 8031f4d..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-EventDispatcher Component
-=========================
-
-The Symfony EventDispatcher component implements the Mediator pattern in a
-simple and effective way to make your projects truly extensible.
-
-```php
-use Symfony\Component\EventDispatcher\EventDispatcher;
-use Symfony\Component\EventDispatcher\Event;
-
-$dispatcher = new EventDispatcher();
-
-$dispatcher->addListener('event_name', function (Event $event) {
-    // ...
-});
-
-$dispatcher->dispatch('event_name');
-```
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/EventDispatcher/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php
deleted file mode 100644
index b9e4194..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php
+++ /dev/null
@@ -1,369 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-abstract class AbstractEventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    /* Some pseudo events */
-    const preFoo = 'pre.foo';
-    const postFoo = 'post.foo';
-    const preBar = 'pre.bar';
-    const postBar = 'post.bar';
-
-    /**
-     * @var EventDispatcher
-     */
-    private $dispatcher;
-
-    private $listener;
-
-    protected function setUp()
-    {
-        $this->dispatcher = $this->createEventDispatcher();
-        $this->listener = new TestEventListener();
-    }
-
-    protected function tearDown()
-    {
-        $this->dispatcher = null;
-        $this->listener = null;
-    }
-
-    abstract protected function createEventDispatcher();
-
-    public function testInitialState()
-    {
-        $this->assertEquals(array(), $this->dispatcher->getListeners());
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertFalse($this->dispatcher->hasListeners(self::postFoo));
-    }
-
-    public function testAddListener()
-    {
-        $this->dispatcher->addListener('pre.foo', array($this->listener, 'preFoo'));
-        $this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'));
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
-        $this->assertCount(1, $this->dispatcher->getListeners(self::preFoo));
-        $this->assertCount(1, $this->dispatcher->getListeners(self::postFoo));
-        $this->assertCount(2, $this->dispatcher->getListeners());
-    }
-
-    public function testGetListenersSortsByPriority()
-    {
-        $listener1 = new TestEventListener();
-        $listener2 = new TestEventListener();
-        $listener3 = new TestEventListener();
-        $listener1->name = '1';
-        $listener2->name = '2';
-        $listener3->name = '3';
-
-        $this->dispatcher->addListener('pre.foo', array($listener1, 'preFoo'), -10);
-        $this->dispatcher->addListener('pre.foo', array($listener2, 'preFoo'), 10);
-        $this->dispatcher->addListener('pre.foo', array($listener3, 'preFoo'));
-
-        $expected = array(
-            array($listener2, 'preFoo'),
-            array($listener3, 'preFoo'),
-            array($listener1, 'preFoo'),
-        );
-
-        $this->assertSame($expected, $this->dispatcher->getListeners('pre.foo'));
-    }
-
-    public function testGetAllListenersSortsByPriority()
-    {
-        $listener1 = new TestEventListener();
-        $listener2 = new TestEventListener();
-        $listener3 = new TestEventListener();
-        $listener4 = new TestEventListener();
-        $listener5 = new TestEventListener();
-        $listener6 = new TestEventListener();
-
-        $this->dispatcher->addListener('pre.foo', $listener1, -10);
-        $this->dispatcher->addListener('pre.foo', $listener2);
-        $this->dispatcher->addListener('pre.foo', $listener3, 10);
-        $this->dispatcher->addListener('post.foo', $listener4, -10);
-        $this->dispatcher->addListener('post.foo', $listener5);
-        $this->dispatcher->addListener('post.foo', $listener6, 10);
-
-        $expected = array(
-            'pre.foo' => array($listener3, $listener2, $listener1),
-            'post.foo' => array($listener6, $listener5, $listener4),
-        );
-
-        $this->assertSame($expected, $this->dispatcher->getListeners());
-    }
-
-    public function testDispatch()
-    {
-        $this->dispatcher->addListener('pre.foo', array($this->listener, 'preFoo'));
-        $this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'));
-        $this->dispatcher->dispatch(self::preFoo);
-        $this->assertTrue($this->listener->preFooInvoked);
-        $this->assertFalse($this->listener->postFooInvoked);
-        $this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch('noevent'));
-        $this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch(self::preFoo));
-        $event = new Event();
-        $return = $this->dispatcher->dispatch(self::preFoo, $event);
-        $this->assertEquals('pre.foo', $event->getName());
-        $this->assertSame($event, $return);
-    }
-
-    public function testDispatchForClosure()
-    {
-        $invoked = 0;
-        $listener = function () use (&$invoked) {
-            $invoked++;
-        };
-        $this->dispatcher->addListener('pre.foo', $listener);
-        $this->dispatcher->addListener('post.foo', $listener);
-        $this->dispatcher->dispatch(self::preFoo);
-        $this->assertEquals(1, $invoked);
-    }
-
-    public function testStopEventPropagation()
-    {
-        $otherListener = new TestEventListener();
-
-        // postFoo() stops the propagation, so only one listener should
-        // be executed
-        // Manually set priority to enforce $this->listener to be called first
-        $this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'), 10);
-        $this->dispatcher->addListener('post.foo', array($otherListener, 'preFoo'));
-        $this->dispatcher->dispatch(self::postFoo);
-        $this->assertTrue($this->listener->postFooInvoked);
-        $this->assertFalse($otherListener->postFooInvoked);
-    }
-
-    public function testDispatchByPriority()
-    {
-        $invoked = array();
-        $listener1 = function () use (&$invoked) {
-            $invoked[] = '1';
-        };
-        $listener2 = function () use (&$invoked) {
-            $invoked[] = '2';
-        };
-        $listener3 = function () use (&$invoked) {
-            $invoked[] = '3';
-        };
-        $this->dispatcher->addListener('pre.foo', $listener1, -10);
-        $this->dispatcher->addListener('pre.foo', $listener2);
-        $this->dispatcher->addListener('pre.foo', $listener3, 10);
-        $this->dispatcher->dispatch(self::preFoo);
-        $this->assertEquals(array('3', '2', '1'), $invoked);
-    }
-
-    public function testRemoveListener()
-    {
-        $this->dispatcher->addListener('pre.bar', $this->listener);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preBar));
-        $this->dispatcher->removeListener('pre.bar', $this->listener);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preBar));
-        $this->dispatcher->removeListener('notExists', $this->listener);
-    }
-
-    public function testAddSubscriber()
-    {
-        $eventSubscriber = new TestEventSubscriber();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
-    }
-
-    public function testAddSubscriberWithPriorities()
-    {
-        $eventSubscriber = new TestEventSubscriber();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-
-        $eventSubscriber = new TestEventSubscriberWithPriorities();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-
-        $listeners = $this->dispatcher->getListeners('pre.foo');
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertCount(2, $listeners);
-        $this->assertInstanceOf('Symfony\Component\EventDispatcher\Tests\TestEventSubscriberWithPriorities', $listeners[0][0]);
-    }
-
-    public function testAddSubscriberWithMultipleListeners()
-    {
-        $eventSubscriber = new TestEventSubscriberWithMultipleListeners();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-
-        $listeners = $this->dispatcher->getListeners('pre.foo');
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertCount(2, $listeners);
-        $this->assertEquals('preFoo2', $listeners[0][1]);
-    }
-
-    public function testRemoveSubscriber()
-    {
-        $eventSubscriber = new TestEventSubscriber();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
-        $this->dispatcher->removeSubscriber($eventSubscriber);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertFalse($this->dispatcher->hasListeners(self::postFoo));
-    }
-
-    public function testRemoveSubscriberWithPriorities()
-    {
-        $eventSubscriber = new TestEventSubscriberWithPriorities();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->dispatcher->removeSubscriber($eventSubscriber);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-    }
-
-    public function testRemoveSubscriberWithMultipleListeners()
-    {
-        $eventSubscriber = new TestEventSubscriberWithMultipleListeners();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertCount(2, $this->dispatcher->getListeners(self::preFoo));
-        $this->dispatcher->removeSubscriber($eventSubscriber);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-    }
-
-    public function testEventReceivesTheDispatcherInstance()
-    {
-        $dispatcher = null;
-        $this->dispatcher->addListener('test', function ($event) use (&$dispatcher) {
-            $dispatcher = $event->getDispatcher();
-        });
-        $this->dispatcher->dispatch('test');
-        $this->assertSame($this->dispatcher, $dispatcher);
-    }
-
-    public function testEventReceivesTheDispatcherInstanceAsArgument()
-    {
-        $listener = new TestWithDispatcher();
-        $this->dispatcher->addListener('test', array($listener, 'foo'));
-        $this->assertNull($listener->name);
-        $this->assertNull($listener->dispatcher);
-        $this->dispatcher->dispatch('test');
-        $this->assertEquals('test', $listener->name);
-        $this->assertSame($this->dispatcher, $listener->dispatcher);
-    }
-
-    /**
-     * @see https://bugs.php.net/bug.php?id=62976
-     *
-     * This bug affects:
-     *  - The PHP 5.3 branch for versions < 5.3.18
-     *  - The PHP 5.4 branch for versions < 5.4.8
-     *  - The PHP 5.5 branch is not affected
-     */
-    public function testWorkaroundForPhpBug62976()
-    {
-        $dispatcher = $this->createEventDispatcher();
-        $dispatcher->addListener('bug.62976', new CallableClass());
-        $dispatcher->removeListener('bug.62976', function () {});
-        $this->assertTrue($dispatcher->hasListeners('bug.62976'));
-    }
-
-    public function testHasListenersWhenAddedCallbackListenerIsRemoved()
-    {
-        $listener = function () {};
-        $this->dispatcher->addListener('foo', $listener);
-        $this->dispatcher->removeListener('foo', $listener);
-        $this->assertFalse($this->dispatcher->hasListeners());
-    }
-
-    public function testGetListenersWhenAddedCallbackListenerIsRemoved()
-    {
-        $listener = function () {};
-        $this->dispatcher->addListener('foo', $listener);
-        $this->dispatcher->removeListener('foo', $listener);
-        $this->assertSame(array(), $this->dispatcher->getListeners());
-    }
-
-    public function testHasListenersWithoutEventsReturnsFalseAfterHasListenersWithEventHasBeenCalled()
-    {
-        $this->assertFalse($this->dispatcher->hasListeners('foo'));
-        $this->assertFalse($this->dispatcher->hasListeners());
-    }
-}
-
-class CallableClass
-{
-    public function __invoke()
-    {
-    }
-}
-
-class TestEventListener
-{
-    public $preFooInvoked = false;
-    public $postFooInvoked = false;
-
-    /* Listener methods */
-
-    public function preFoo(Event $e)
-    {
-        $this->preFooInvoked = true;
-    }
-
-    public function postFoo(Event $e)
-    {
-        $this->postFooInvoked = true;
-
-        $e->stopPropagation();
-    }
-}
-
-class TestWithDispatcher
-{
-    public $name;
-    public $dispatcher;
-
-    public function foo(Event $e, $name, $dispatcher)
-    {
-        $this->name = $name;
-        $this->dispatcher = $dispatcher;
-    }
-}
-
-class TestEventSubscriber implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array('pre.foo' => 'preFoo', 'post.foo' => 'postFoo');
-    }
-}
-
-class TestEventSubscriberWithPriorities implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array(
-            'pre.foo' => array('preFoo', 10),
-            'post.foo' => array('postFoo'),
-            );
-    }
-}
-
-class TestEventSubscriberWithMultipleListeners implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array('pre.foo' => array(
-            array('preFoo1'),
-            array('preFoo2', 10),
-        ));
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php
deleted file mode 100644
index 6f2fbcb..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php
+++ /dev/null
@@ -1,249 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Scope;
-use Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-class ContainerAwareEventDispatcherTest extends AbstractEventDispatcherTest
-{
-    protected function createEventDispatcher()
-    {
-        $container = new Container();
-
-        return new ContainerAwareEventDispatcher($container);
-    }
-
-    public function testAddAListenerService()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $dispatcher->dispatch('onEvent', $event);
-    }
-
-    public function testAddASubscriberService()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\SubscriberService');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container = new Container();
-        $container->set('service.subscriber', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addSubscriberService('service.subscriber', 'Symfony\Component\EventDispatcher\Tests\SubscriberService');
-
-        $dispatcher->dispatch('onEvent', $event);
-    }
-
-    public function testPreventDuplicateListenerService()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'), 5);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'), 10);
-
-        $dispatcher->dispatch('onEvent', $event);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testTriggerAListenerServiceOutOfScope()
-    {
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $scope = new Scope('scope');
-        $container = new Container();
-        $container->addScope($scope);
-        $container->enterScope('scope');
-
-        $container->set('service.listener', $service, 'scope');
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $container->leaveScope('scope');
-        $dispatcher->dispatch('onEvent');
-    }
-
-    public function testReEnteringAScope()
-    {
-        $event = new Event();
-
-        $service1 = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service1
-            ->expects($this->exactly(2))
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $scope = new Scope('scope');
-        $container = new Container();
-        $container->addScope($scope);
-        $container->enterScope('scope');
-
-        $container->set('service.listener', $service1, 'scope');
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-        $dispatcher->dispatch('onEvent', $event);
-
-        $service2 = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service2
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container->enterScope('scope');
-        $container->set('service.listener', $service2, 'scope');
-
-        $dispatcher->dispatch('onEvent', $event);
-
-        $container->leaveScope('scope');
-
-        $dispatcher->dispatch('onEvent');
-    }
-
-    public function testHasListenersOnLazyLoad()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $event->setDispatcher($dispatcher);
-        $event->setName('onEvent');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $this->assertTrue($dispatcher->hasListeners());
-
-        if ($dispatcher->hasListeners('onEvent')) {
-            $dispatcher->dispatch('onEvent');
-        }
-    }
-
-    public function testGetListenersOnLazyLoad()
-    {
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $listeners = $dispatcher->getListeners();
-
-        $this->assertTrue(isset($listeners['onEvent']));
-
-        $this->assertCount(1, $dispatcher->getListeners('onEvent'));
-    }
-
-    public function testRemoveAfterDispatch()
-    {
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $dispatcher->dispatch('onEvent', new Event());
-        $dispatcher->removeListener('onEvent', array($container->get('service.listener'), 'onEvent'));
-        $this->assertFalse($dispatcher->hasListeners('onEvent'));
-    }
-
-    public function testRemoveBeforeDispatch()
-    {
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $dispatcher->removeListener('onEvent', array($container->get('service.listener'), 'onEvent'));
-        $this->assertFalse($dispatcher->hasListeners('onEvent'));
-    }
-}
-
-class Service
-{
-    public function onEvent(Event $e)
-    {
-    }
-}
-
-class SubscriberService implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array(
-            'onEvent' => array('onEvent'),
-        );
-    }
-
-    public function onEvent(Event $e)
-    {
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php
deleted file mode 100644
index 68b9523..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests\Debug;
-
-use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\Stopwatch\Stopwatch;
-
-class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAddRemoveListener()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $tdispatcher->addListener('foo', $listener = function () {; });
-        $listeners = $dispatcher->getListeners('foo');
-        $this->assertCount(1, $listeners);
-        $this->assertSame($listener, $listeners[0]);
-
-        $tdispatcher->removeListener('foo', $listener);
-        $this->assertCount(0, $dispatcher->getListeners('foo'));
-    }
-
-    public function testGetListeners()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $tdispatcher->addListener('foo', $listener = function () {; });
-        $this->assertSame($dispatcher->getListeners('foo'), $tdispatcher->getListeners('foo'));
-    }
-
-    public function testHasListeners()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $this->assertFalse($dispatcher->hasListeners('foo'));
-        $this->assertFalse($tdispatcher->hasListeners('foo'));
-
-        $tdispatcher->addListener('foo', $listener = function () {; });
-        $this->assertTrue($dispatcher->hasListeners('foo'));
-        $this->assertTrue($tdispatcher->hasListeners('foo'));
-    }
-
-    public function testAddRemoveSubscriber()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $subscriber = new EventSubscriber();
-
-        $tdispatcher->addSubscriber($subscriber);
-        $listeners = $dispatcher->getListeners('foo');
-        $this->assertCount(1, $listeners);
-        $this->assertSame(array($subscriber, 'call'), $listeners[0]);
-
-        $tdispatcher->removeSubscriber($subscriber);
-        $this->assertCount(0, $dispatcher->getListeners('foo'));
-    }
-
-    public function testGetCalledListeners()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-        $tdispatcher->addListener('foo', $listener = function () {; });
-
-        $this->assertEquals(array(), $tdispatcher->getCalledListeners());
-        $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure')), $tdispatcher->getNotCalledListeners());
-
-        $tdispatcher->dispatch('foo');
-
-        $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure')), $tdispatcher->getCalledListeners());
-        $this->assertEquals(array(), $tdispatcher->getNotCalledListeners());
-    }
-
-    public function testGetCalledListenersNested()
-    {
-        $tdispatcher = null;
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
-        $dispatcher->addListener('foo', function (Event $event, $eventName, $dispatcher) use (&$tdispatcher) {
-            $tdispatcher = $dispatcher;
-            $dispatcher->dispatch('bar');
-        });
-        $dispatcher->addListener('bar', function (Event $event) {});
-        $dispatcher->dispatch('foo');
-        $this->assertSame($dispatcher, $tdispatcher);
-        $this->assertCount(2, $dispatcher->getCalledListeners());
-    }
-
-    public function testLogger()
-    {
-        $logger = $this->getMock('Psr\Log\LoggerInterface');
-
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
-        $tdispatcher->addListener('foo', $listener1 = function () {; });
-        $tdispatcher->addListener('foo', $listener2 = function () {; });
-
-        $logger->expects($this->at(0))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
-        $logger->expects($this->at(1))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
-
-        $tdispatcher->dispatch('foo');
-    }
-
-    public function testLoggerWithStoppedEvent()
-    {
-        $logger = $this->getMock('Psr\Log\LoggerInterface');
-
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
-        $tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); });
-        $tdispatcher->addListener('foo', $listener2 = function () {; });
-
-        $logger->expects($this->at(0))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
-        $logger->expects($this->at(1))->method('debug')->with("Listener \"closure\" stopped propagation of the event \"foo\".");
-        $logger->expects($this->at(2))->method('debug')->with("Listener \"closure\" was not called for event \"foo\".");
-
-        $tdispatcher->dispatch('foo');
-    }
-
-    public function testDispatchCallListeners()
-    {
-        $called = array();
-
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-        $tdispatcher->addListener('foo', $listener1 = function () use (&$called) { $called[] = 'foo1'; });
-        $tdispatcher->addListener('foo', $listener2 = function () use (&$called) { $called[] = 'foo2'; });
-
-        $tdispatcher->dispatch('foo');
-
-        $this->assertEquals(array('foo1', 'foo2'), $called);
-    }
-
-    public function testDispatchNested()
-    {
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
-        $loop = 1;
-        $dispatcher->addListener('foo', $listener1 = function () use ($dispatcher, &$loop) {
-            ++$loop;
-            if (2 == $loop) {
-                $dispatcher->dispatch('foo');
-            }
-        });
-
-        $dispatcher->dispatch('foo');
-    }
-
-    public function testDispatchReusedEventNested()
-    {
-        $nestedCall = false;
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
-        $dispatcher->addListener('foo', function (Event $e) use ($dispatcher) {
-            $dispatcher->dispatch('bar', $e);
-        });
-        $dispatcher->addListener('bar', function (Event $e) use (&$nestedCall) {
-            $nestedCall = true;
-        });
-
-        $this->assertFalse($nestedCall);
-        $dispatcher->dispatch('foo');
-        $this->assertTrue($nestedCall);
-    }
-}
-
-class EventSubscriber implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array('foo' => 'call');
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
deleted file mode 100644
index 0fdd637..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;
-
-class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Tests that event subscribers not implementing EventSubscriberInterface
-     * trigger an exception.
-     *
-     * @expectedException \InvalidArgumentException
-     */
-    public function testEventSubscriberWithoutInterface()
-    {
-        // one service, not implementing any interface
-        $services = array(
-            'my_event_subscriber' => array(0 => array()),
-        );
-
-        $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition');
-        $definition->expects($this->atLeastOnce())
-            ->method('isPublic')
-            ->will($this->returnValue(true));
-        $definition->expects($this->atLeastOnce())
-            ->method('getClass')
-            ->will($this->returnValue('stdClass'));
-
-        $builder = $this->getMock(
-            'Symfony\Component\DependencyInjection\ContainerBuilder',
-            array('hasDefinition', 'findTaggedServiceIds', 'getDefinition')
-        );
-        $builder->expects($this->any())
-            ->method('hasDefinition')
-            ->will($this->returnValue(true));
-
-        // We don't test kernel.event_listener here
-        $builder->expects($this->atLeastOnce())
-            ->method('findTaggedServiceIds')
-            ->will($this->onConsecutiveCalls(array(), $services));
-
-        $builder->expects($this->atLeastOnce())
-            ->method('getDefinition')
-            ->will($this->returnValue($definition));
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($builder);
-    }
-
-    public function testValidEventSubscriber()
-    {
-        $services = array(
-            'my_event_subscriber' => array(0 => array()),
-        );
-
-        $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition');
-        $definition->expects($this->atLeastOnce())
-            ->method('isPublic')
-            ->will($this->returnValue(true));
-        $definition->expects($this->atLeastOnce())
-            ->method('getClass')
-            ->will($this->returnValue('Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService'));
-
-        $builder = $this->getMock(
-            'Symfony\Component\DependencyInjection\ContainerBuilder',
-            array('hasDefinition', 'findTaggedServiceIds', 'getDefinition', 'findDefinition')
-        );
-        $builder->expects($this->any())
-            ->method('hasDefinition')
-            ->will($this->returnValue(true));
-
-        // We don't test kernel.event_listener here
-        $builder->expects($this->atLeastOnce())
-            ->method('findTaggedServiceIds')
-            ->will($this->onConsecutiveCalls(array(), $services));
-
-        $builder->expects($this->atLeastOnce())
-            ->method('getDefinition')
-            ->will($this->returnValue($definition));
-
-        $builder->expects($this->atLeastOnce())
-            ->method('findDefinition')
-            ->will($this->returnValue($definition));
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($builder);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage The service "foo" must be public as event listeners are lazy-loaded.
-     */
-    public function testPrivateEventListener()
-    {
-        $container = new ContainerBuilder();
-        $container->register('foo', 'stdClass')->setPublic(false)->addTag('kernel.event_listener', array());
-        $container->register('event_dispatcher', 'stdClass');
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($container);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage The service "foo" must be public as event subscribers are lazy-loaded.
-     */
-    public function testPrivateEventSubscriber()
-    {
-        $container = new ContainerBuilder();
-        $container->register('foo', 'stdClass')->setPublic(false)->addTag('kernel.event_subscriber', array());
-        $container->register('event_dispatcher', 'stdClass');
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($container);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage The service "foo" must not be abstract as event listeners are lazy-loaded.
-     */
-    public function testAbstractEventListener()
-    {
-        $container = new ContainerBuilder();
-        $container->register('foo', 'stdClass')->setAbstract(true)->addTag('kernel.event_listener', array());
-        $container->register('event_dispatcher', 'stdClass');
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($container);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage The service "foo" must not be abstract as event subscribers are lazy-loaded.
-     */
-    public function testAbstractEventSubscriber()
-    {
-        $container = new ContainerBuilder();
-        $container->register('foo', 'stdClass')->setAbstract(true)->addTag('kernel.event_subscriber', array());
-        $container->register('event_dispatcher', 'stdClass');
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($container);
-    }
-
-    public function testEventSubscriberResolvableClassName()
-    {
-        $container = new ContainerBuilder();
-
-        $container->setParameter('subscriber.class', 'Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService');
-        $container->register('foo', '%subscriber.class%')->addTag('kernel.event_subscriber', array());
-        $container->register('event_dispatcher', 'stdClass');
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($container);
-
-        $definition = $container->getDefinition('event_dispatcher');
-        $expected_calls = array(
-            array(
-                'addSubscriberService',
-                array(
-                    'foo',
-                    'Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService',
-                ),
-            ),
-        );
-        $this->assertSame($expected_calls, $definition->getMethodCalls());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage You have requested a non-existent parameter "subscriber.class"
-     */
-    public function testEventSubscriberUnresolvableClassName()
-    {
-        $container = new ContainerBuilder();
-        $container->register('foo', '%subscriber.class%')->addTag('kernel.event_subscriber', array());
-        $container->register('event_dispatcher', 'stdClass');
-
-        $registerListenersPass = new RegisterListenersPass();
-        $registerListenersPass->process($container);
-    }
-}
-
-class SubscriberService implements \Symfony\Component\EventDispatcher\EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
deleted file mode 100644
index 5faa5c8..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class EventDispatcherTest extends AbstractEventDispatcherTest
-{
-    protected function createEventDispatcher()
-    {
-        return new EventDispatcher();
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php
deleted file mode 100644
index 4bd2697..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-/**
- * Test class for Event.
- */
-class EventTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\EventDispatcher\Event
-     */
-    protected $event;
-
-    /**
-     * @var \Symfony\Component\EventDispatcher\EventDispatcher
-     */
-    protected $dispatcher;
-
-    /**
-     * Sets up the fixture, for example, opens a network connection.
-     * This method is called before a test is executed.
-     */
-    protected function setUp()
-    {
-        $this->event = new Event();
-        $this->dispatcher = new EventDispatcher();
-    }
-
-    /**
-     * Tears down the fixture, for example, closes a network connection.
-     * This method is called after a test is executed.
-     */
-    protected function tearDown()
-    {
-        $this->event = null;
-        $this->dispatcher = null;
-    }
-
-    public function testIsPropagationStopped()
-    {
-        $this->assertFalse($this->event->isPropagationStopped());
-    }
-
-    public function testStopPropagationAndIsPropagationStopped()
-    {
-        $this->event->stopPropagation();
-        $this->assertTrue($this->event->isPropagationStopped());
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacySetDispatcher()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-        $this->event->setDispatcher($this->dispatcher);
-        $this->assertSame($this->dispatcher, $this->event->getDispatcher());
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyGetDispatcher()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-        $this->assertNull($this->event->getDispatcher());
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyGetName()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-        $this->assertNull($this->event->getName());
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacySetName()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-        $this->event->setName('foo');
-        $this->assertEquals('foo', $this->event->getName());
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
deleted file mode 100644
index aebd82d..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\GenericEvent;
-
-/**
- * Test class for Event.
- */
-class GenericEventTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var GenericEvent
-     */
-    private $event;
-
-    private $subject;
-
-    /**
-     * Prepares the environment before running a test.
-     */
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->subject = new \stdClass();
-        $this->event = new GenericEvent($this->subject, array('name' => 'Event'));
-    }
-
-    /**
-     * Cleans up the environment after running a test.
-     */
-    protected function tearDown()
-    {
-        $this->subject = null;
-        $this->event = null;
-
-        parent::tearDown();
-    }
-
-    public function testConstruct()
-    {
-        $this->assertEquals($this->event, new GenericEvent($this->subject, array('name' => 'Event')));
-    }
-
-    /**
-     * Tests Event->getArgs().
-     */
-    public function testGetArguments()
-    {
-        // test getting all
-        $this->assertSame(array('name' => 'Event'), $this->event->getArguments());
-    }
-
-    public function testSetArguments()
-    {
-        $result = $this->event->setArguments(array('foo' => 'bar'));
-        $this->assertAttributeSame(array('foo' => 'bar'), 'arguments', $this->event);
-        $this->assertSame($this->event, $result);
-    }
-
-    public function testSetArgument()
-    {
-        $result = $this->event->setArgument('foo2', 'bar2');
-        $this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event);
-        $this->assertEquals($this->event, $result);
-    }
-
-    public function testGetArgument()
-    {
-        // test getting key
-        $this->assertEquals('Event', $this->event->getArgument('name'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetArgException()
-    {
-        $this->event->getArgument('nameNotExist');
-    }
-
-    public function testOffsetGet()
-    {
-        // test getting key
-        $this->assertEquals('Event', $this->event['name']);
-
-        // test getting invalid arg
-        $this->setExpectedException('InvalidArgumentException');
-        $this->assertFalse($this->event['nameNotExist']);
-    }
-
-    public function testOffsetSet()
-    {
-        $this->event['foo2'] = 'bar2';
-        $this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event);
-    }
-
-    public function testOffsetUnset()
-    {
-        unset($this->event['name']);
-        $this->assertAttributeSame(array(), 'arguments', $this->event);
-    }
-
-    public function testOffsetIsset()
-    {
-        $this->assertTrue(isset($this->event['name']));
-        $this->assertFalse(isset($this->event['nameNotExist']));
-    }
-
-    public function testHasArgument()
-    {
-        $this->assertTrue($this->event->hasArgument('name'));
-        $this->assertFalse($this->event->hasArgument('nameNotExist'));
-    }
-
-    public function testGetSubject()
-    {
-        $this->assertSame($this->subject, $this->event->getSubject());
-    }
-
-    public function testHasIterator()
-    {
-        $data = array();
-        foreach ($this->event as $key => $value) {
-            $data[$key] = $value;
-        }
-        $this->assertEquals(array('name' => 'Event'), $data);
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php
deleted file mode 100644
index 80a7e43..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\ImmutableEventDispatcher;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ImmutableEventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $innerDispatcher;
-
-    /**
-     * @var ImmutableEventDispatcher
-     */
-    private $dispatcher;
-
-    protected function setUp()
-    {
-        $this->innerDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
-        $this->dispatcher = new ImmutableEventDispatcher($this->innerDispatcher);
-    }
-
-    public function testDispatchDelegates()
-    {
-        $event = new Event();
-
-        $this->innerDispatcher->expects($this->once())
-            ->method('dispatch')
-            ->with('event', $event)
-            ->will($this->returnValue('result'));
-
-        $this->assertSame('result', $this->dispatcher->dispatch('event', $event));
-    }
-
-    public function testGetListenersDelegates()
-    {
-        $this->innerDispatcher->expects($this->once())
-            ->method('getListeners')
-            ->with('event')
-            ->will($this->returnValue('result'));
-
-        $this->assertSame('result', $this->dispatcher->getListeners('event'));
-    }
-
-    public function testHasListenersDelegates()
-    {
-        $this->innerDispatcher->expects($this->once())
-            ->method('hasListeners')
-            ->with('event')
-            ->will($this->returnValue('result'));
-
-        $this->assertSame('result', $this->dispatcher->hasListeners('event'));
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testAddListenerDisallowed()
-    {
-        $this->dispatcher->addListener('event', function () { return 'foo'; });
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testAddSubscriberDisallowed()
-    {
-        $subscriber = $this->getMock('Symfony\Component\EventDispatcher\EventSubscriberInterface');
-
-        $this->dispatcher->addSubscriber($subscriber);
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testRemoveListenerDisallowed()
-    {
-        $this->dispatcher->removeListener('event', function () { return 'foo'; });
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testRemoveSubscriberDisallowed()
-    {
-        $subscriber = $this->getMock('Symfony\Component\EventDispatcher\EventSubscriberInterface');
-
-        $this->dispatcher->removeSubscriber($subscriber);
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json
deleted file mode 100644
index a516d46..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-    "name": "symfony/event-dispatcher",
-    "type": "library",
-    "description": "Symfony EventDispatcher Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7",
-        "symfony/dependency-injection": "~2.6",
-        "symfony/expression-language": "~2.6",
-        "symfony/config": "~2.0,>=2.0.5",
-        "symfony/stopwatch": "~2.3",
-        "psr/log": "~1.0"
-    },
-    "suggest": {
-        "symfony/dependency-injection": "",
-        "symfony/http-kernel": ""
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\EventDispatcher\\": "" }
-    },
-    "target-dir": "Symfony/Component/EventDispatcher",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist
deleted file mode 100644
index b14fde5..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist
+++ /dev/null
@@ -1,28 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony EventDispatcher Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/.gitignore b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeader.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeader.php
deleted file mode 100644
index 2260787..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeader.php
+++ /dev/null
@@ -1,172 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Represents an Accept-* header.
- *
- * An accept header is compound with a list of items,
- * sorted by descending quality.
- *
- * @author Jean-François Simon <contact@jfsimon.fr>
- */
-class AcceptHeader
-{
-    /**
-     * @var AcceptHeaderItem[]
-     */
-    private $items = array();
-
-    /**
-     * @var bool
-     */
-    private $sorted = true;
-
-    /**
-     * Constructor.
-     *
-     * @param AcceptHeaderItem[] $items
-     */
-    public function __construct(array $items)
-    {
-        foreach ($items as $item) {
-            $this->add($item);
-        }
-    }
-
-    /**
-     * Builds an AcceptHeader instance from a string.
-     *
-     * @param string $headerValue
-     *
-     * @return AcceptHeader
-     */
-    public static function fromString($headerValue)
-    {
-        $index = 0;
-
-        return new self(array_map(function ($itemValue) use (&$index) {
-            $item = AcceptHeaderItem::fromString($itemValue);
-            $item->setIndex($index++);
-
-            return $item;
-        }, preg_split('/\s*(?:,*("[^"]+"),*|,*(\'[^\']+\'),*|,+)\s*/', $headerValue, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE)));
-    }
-
-    /**
-     * Returns header value's string representation.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return implode(',', $this->items);
-    }
-
-    /**
-     * Tests if header has given value.
-     *
-     * @param string $value
-     *
-     * @return bool
-     */
-    public function has($value)
-    {
-        return isset($this->items[$value]);
-    }
-
-    /**
-     * Returns given value's item, if exists.
-     *
-     * @param string $value
-     *
-     * @return AcceptHeaderItem|null
-     */
-    public function get($value)
-    {
-        return isset($this->items[$value]) ? $this->items[$value] : null;
-    }
-
-    /**
-     * Adds an item.
-     *
-     * @param AcceptHeaderItem $item
-     *
-     * @return AcceptHeader
-     */
-    public function add(AcceptHeaderItem $item)
-    {
-        $this->items[$item->getValue()] = $item;
-        $this->sorted = false;
-
-        return $this;
-    }
-
-    /**
-     * Returns all items.
-     *
-     * @return AcceptHeaderItem[]
-     */
-    public function all()
-    {
-        $this->sort();
-
-        return $this->items;
-    }
-
-    /**
-     * Filters items on their value using given regex.
-     *
-     * @param string $pattern
-     *
-     * @return AcceptHeader
-     */
-    public function filter($pattern)
-    {
-        return new self(array_filter($this->items, function (AcceptHeaderItem $item) use ($pattern) {
-            return preg_match($pattern, $item->getValue());
-        }));
-    }
-
-    /**
-     * Returns first item.
-     *
-     * @return AcceptHeaderItem|null
-     */
-    public function first()
-    {
-        $this->sort();
-
-        return !empty($this->items) ? reset($this->items) : null;
-    }
-
-    /**
-     * Sorts items by descending quality.
-     */
-    private function sort()
-    {
-        if (!$this->sorted) {
-            uasort($this->items, function ($a, $b) {
-                $qA = $a->getQuality();
-                $qB = $b->getQuality();
-
-                if ($qA === $qB) {
-                    return $a->getIndex() > $b->getIndex() ? 1 : -1;
-                }
-
-                return $qA > $qB ? -1 : 1;
-            });
-
-            $this->sorted = true;
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeaderItem.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeaderItem.php
deleted file mode 100644
index 21a5d15..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeaderItem.php
+++ /dev/null
@@ -1,226 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Represents an Accept-* header item.
- *
- * @author Jean-François Simon <contact@jfsimon.fr>
- */
-class AcceptHeaderItem
-{
-    /**
-     * @var string
-     */
-    private $value;
-
-    /**
-     * @var float
-     */
-    private $quality = 1.0;
-
-    /**
-     * @var int
-     */
-    private $index = 0;
-
-    /**
-     * @var array
-     */
-    private $attributes = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $value
-     * @param array  $attributes
-     */
-    public function __construct($value, array $attributes = array())
-    {
-        $this->value = $value;
-        foreach ($attributes as $name => $value) {
-            $this->setAttribute($name, $value);
-        }
-    }
-
-    /**
-     * Builds an AcceptHeaderInstance instance from a string.
-     *
-     * @param string $itemValue
-     *
-     * @return AcceptHeaderItem
-     */
-    public static function fromString($itemValue)
-    {
-        $bits = preg_split('/\s*(?:;*("[^"]+");*|;*(\'[^\']+\');*|;+)\s*/', $itemValue, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
-        $value = array_shift($bits);
-        $attributes = array();
-
-        $lastNullAttribute = null;
-        foreach ($bits as $bit) {
-            if (($start = substr($bit, 0, 1)) === ($end = substr($bit, -1)) && ($start === '"' || $start === '\'')) {
-                $attributes[$lastNullAttribute] = substr($bit, 1, -1);
-            } elseif ('=' === $end) {
-                $lastNullAttribute = $bit = substr($bit, 0, -1);
-                $attributes[$bit] = null;
-            } else {
-                $parts = explode('=', $bit);
-                $attributes[$parts[0]] = isset($parts[1]) && strlen($parts[1]) > 0 ? $parts[1] : '';
-            }
-        }
-
-        return new self(($start = substr($value, 0, 1)) === ($end = substr($value, -1)) && ($start === '"' || $start === '\'') ? substr($value, 1, -1) : $value, $attributes);
-    }
-
-    /**
-     * Returns header  value's string representation.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        $string = $this->value.($this->quality < 1 ? ';q='.$this->quality : '');
-        if (count($this->attributes) > 0) {
-            $string .= ';'.implode(';', array_map(function ($name, $value) {
-                return sprintf(preg_match('/[,;=]/', $value) ? '%s="%s"' : '%s=%s', $name, $value);
-            }, array_keys($this->attributes), $this->attributes));
-        }
-
-        return $string;
-    }
-
-    /**
-     * Set the item value.
-     *
-     * @param string $value
-     *
-     * @return AcceptHeaderItem
-     */
-    public function setValue($value)
-    {
-        $this->value = $value;
-
-        return $this;
-    }
-
-    /**
-     * Returns the item value.
-     *
-     * @return string
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Set the item quality.
-     *
-     * @param float $quality
-     *
-     * @return AcceptHeaderItem
-     */
-    public function setQuality($quality)
-    {
-        $this->quality = $quality;
-
-        return $this;
-    }
-
-    /**
-     * Returns the item quality.
-     *
-     * @return float
-     */
-    public function getQuality()
-    {
-        return $this->quality;
-    }
-
-    /**
-     * Set the item index.
-     *
-     * @param int $index
-     *
-     * @return AcceptHeaderItem
-     */
-    public function setIndex($index)
-    {
-        $this->index = $index;
-
-        return $this;
-    }
-
-    /**
-     * Returns the item index.
-     *
-     * @return int
-     */
-    public function getIndex()
-    {
-        return $this->index;
-    }
-
-    /**
-     * Tests if an attribute exists.
-     *
-     * @param string $name
-     *
-     * @return bool
-     */
-    public function hasAttribute($name)
-    {
-        return isset($this->attributes[$name]);
-    }
-
-    /**
-     * Returns an attribute by its name.
-     *
-     * @param string $name
-     * @param mixed  $default
-     *
-     * @return mixed
-     */
-    public function getAttribute($name, $default = null)
-    {
-        return isset($this->attributes[$name]) ? $this->attributes[$name] : $default;
-    }
-
-    /**
-     * Returns all attributes.
-     *
-     * @return array
-     */
-    public function getAttributes()
-    {
-        return $this->attributes;
-    }
-
-    /**
-     * Set an attribute.
-     *
-     * @param string $name
-     * @param string $value
-     *
-     * @return AcceptHeaderItem
-     */
-    public function setAttribute($name, $value)
-    {
-        if ('q' === $name) {
-            $this->quality = (float) $value;
-        } else {
-            $this->attributes[$name] = (string) $value;
-        }
-
-        return $this;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ApacheRequest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ApacheRequest.php
deleted file mode 100644
index 84803eb..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ApacheRequest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Request represents an HTTP request from an Apache server.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ApacheRequest extends Request
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function prepareRequestUri()
-    {
-        return $this->server->get('REQUEST_URI');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function prepareBaseUrl()
-    {
-        $baseUrl = $this->server->get('SCRIPT_NAME');
-
-        if (false === strpos($this->server->get('REQUEST_URI'), $baseUrl)) {
-            // assume mod_rewrite
-            return rtrim(dirname($baseUrl), '/\\');
-        }
-
-        return $baseUrl;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/BinaryFileResponse.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/BinaryFileResponse.php
deleted file mode 100644
index ac41c8f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/BinaryFileResponse.php
+++ /dev/null
@@ -1,321 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-use Symfony\Component\HttpFoundation\File\File;
-use Symfony\Component\HttpFoundation\File\Exception\FileException;
-
-/**
- * BinaryFileResponse represents an HTTP response delivering a file.
- *
- * @author Niklas Fiekas <niklas.fiekas@tu-clausthal.de>
- * @author stealth35 <stealth35-php@live.fr>
- * @author Igor Wiedler <igor@wiedler.ch>
- * @author Jordan Alliot <jordan.alliot@gmail.com>
- * @author Sergey Linnik <linniksa@gmail.com>
- */
-class BinaryFileResponse extends Response
-{
-    protected static $trustXSendfileTypeHeader = false;
-
-    protected $file;
-    protected $offset;
-    protected $maxlen;
-    protected $deleteFileAfterSend = false;
-
-    /**
-     * Constructor.
-     *
-     * @param \SplFileInfo|string $file               The file to stream
-     * @param int                 $status             The response status code
-     * @param array               $headers            An array of response headers
-     * @param bool                $public             Files are public by default
-     * @param null|string         $contentDisposition The type of Content-Disposition to set automatically with the filename
-     * @param bool                $autoEtag           Whether the ETag header should be automatically set
-     * @param bool                $autoLastModified   Whether the Last-Modified header should be automatically set
-     */
-    public function __construct($file, $status = 200, $headers = array(), $public = true, $contentDisposition = null, $autoEtag = false, $autoLastModified = true)
-    {
-        parent::__construct(null, $status, $headers);
-
-        $this->setFile($file, $contentDisposition, $autoEtag, $autoLastModified);
-
-        if ($public) {
-            $this->setPublic();
-        }
-    }
-
-    /**
-     * @param \SplFileInfo|string $file               The file to stream
-     * @param int                 $status             The response status code
-     * @param array               $headers            An array of response headers
-     * @param bool                $public             Files are public by default
-     * @param null|string         $contentDisposition The type of Content-Disposition to set automatically with the filename
-     * @param bool                $autoEtag           Whether the ETag header should be automatically set
-     * @param bool                $autoLastModified   Whether the Last-Modified header should be automatically set
-     *
-     * @return BinaryFileResponse The created response
-     */
-    public static function create($file = null, $status = 200, $headers = array(), $public = true, $contentDisposition = null, $autoEtag = false, $autoLastModified = true)
-    {
-        return new static($file, $status, $headers, $public, $contentDisposition, $autoEtag, $autoLastModified);
-    }
-
-    /**
-     * Sets the file to stream.
-     *
-     * @param \SplFileInfo|string $file               The file to stream
-     * @param string              $contentDisposition
-     * @param bool                $autoEtag
-     * @param bool                $autoLastModified
-     *
-     * @return BinaryFileResponse
-     *
-     * @throws FileException
-     */
-    public function setFile($file, $contentDisposition = null, $autoEtag = false, $autoLastModified = true)
-    {
-        if (!$file instanceof File) {
-            if ($file instanceof \SplFileInfo) {
-                $file = new File($file->getPathname());
-            } else {
-                $file = new File((string) $file);
-            }
-        }
-
-        if (!$file->isReadable()) {
-            throw new FileException('File must be readable.');
-        }
-
-        $this->file = $file;
-
-        if ($autoEtag) {
-            $this->setAutoEtag();
-        }
-
-        if ($autoLastModified) {
-            $this->setAutoLastModified();
-        }
-
-        if ($contentDisposition) {
-            $this->setContentDisposition($contentDisposition);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Gets the file.
-     *
-     * @return File The file to stream
-     */
-    public function getFile()
-    {
-        return $this->file;
-    }
-
-    /**
-     * Automatically sets the Last-Modified header according the file modification date.
-     */
-    public function setAutoLastModified()
-    {
-        $this->setLastModified(\DateTime::createFromFormat('U', $this->file->getMTime()));
-
-        return $this;
-    }
-
-    /**
-     * Automatically sets the ETag header according to the checksum of the file.
-     */
-    public function setAutoEtag()
-    {
-        $this->setEtag(sha1_file($this->file->getPathname()));
-
-        return $this;
-    }
-
-    /**
-     * Sets the Content-Disposition header with the given filename.
-     *
-     * @param string $disposition      ResponseHeaderBag::DISPOSITION_INLINE or ResponseHeaderBag::DISPOSITION_ATTACHMENT
-     * @param string $filename         Optionally use this filename instead of the real name of the file
-     * @param string $filenameFallback A fallback filename, containing only ASCII characters. Defaults to an automatically encoded filename
-     *
-     * @return BinaryFileResponse
-     */
-    public function setContentDisposition($disposition, $filename = '', $filenameFallback = '')
-    {
-        if ($filename === '') {
-            $filename = $this->file->getFilename();
-        }
-
-        $dispositionHeader = $this->headers->makeDisposition($disposition, $filename, $filenameFallback);
-        $this->headers->set('Content-Disposition', $dispositionHeader);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function prepare(Request $request)
-    {
-        $this->headers->set('Content-Length', $this->file->getSize());
-
-        if (!$this->headers->has('Accept-Ranges')) {
-            // Only accept ranges on safe HTTP methods
-            $this->headers->set('Accept-Ranges', $request->isMethodSafe() ? 'bytes' : 'none');
-        }
-
-        if (!$this->headers->has('Content-Type')) {
-            $this->headers->set('Content-Type', $this->file->getMimeType() ?: 'application/octet-stream');
-        }
-
-        if ('HTTP/1.0' != $request->server->get('SERVER_PROTOCOL')) {
-            $this->setProtocolVersion('1.1');
-        }
-
-        $this->ensureIEOverSSLCompatibility($request);
-
-        $this->offset = 0;
-        $this->maxlen = -1;
-
-        if (self::$trustXSendfileTypeHeader && $request->headers->has('X-Sendfile-Type')) {
-            // Use X-Sendfile, do not send any content.
-            $type = $request->headers->get('X-Sendfile-Type');
-            $path = $this->file->getRealPath();
-            if (strtolower($type) == 'x-accel-redirect') {
-                // Do X-Accel-Mapping substitutions.
-                // @link http://wiki.nginx.org/X-accel#X-Accel-Redirect
-                foreach (explode(',', $request->headers->get('X-Accel-Mapping', '')) as $mapping) {
-                    $mapping = explode('=', $mapping, 2);
-
-                    if (2 == count($mapping)) {
-                        $pathPrefix = trim($mapping[0]);
-                        $location = trim($mapping[1]);
-
-                        if (substr($path, 0, strlen($pathPrefix)) == $pathPrefix) {
-                            $path = $location.substr($path, strlen($pathPrefix));
-                            break;
-                        }
-                    }
-                }
-            }
-            $this->headers->set($type, $path);
-            $this->maxlen = 0;
-        } elseif ($request->headers->has('Range')) {
-            // Process the range headers.
-            if (!$request->headers->has('If-Range') || $this->getEtag() == $request->headers->get('If-Range')) {
-                $range = $request->headers->get('Range');
-                $fileSize = $this->file->getSize();
-
-                list($start, $end) = explode('-', substr($range, 6), 2) + array(0);
-
-                $end = ('' === $end) ? $fileSize - 1 : (int) $end;
-
-                if ('' === $start) {
-                    $start = $fileSize - $end;
-                    $end = $fileSize - 1;
-                } else {
-                    $start = (int) $start;
-                }
-
-                if ($start <= $end) {
-                    if ($start < 0 || $end > $fileSize - 1) {
-                        $this->setStatusCode(416);
-                    } elseif ($start !== 0 || $end !== $fileSize - 1) {
-                        $this->maxlen = $end < $fileSize ? $end - $start + 1 : -1;
-                        $this->offset = $start;
-
-                        $this->setStatusCode(206);
-                        $this->headers->set('Content-Range', sprintf('bytes %s-%s/%s', $start, $end, $fileSize));
-                        $this->headers->set('Content-Length', $end - $start + 1);
-                    }
-                }
-            }
-        }
-
-        return $this;
-    }
-
-    /**
-     * Sends the file.
-     */
-    public function sendContent()
-    {
-        if (!$this->isSuccessful()) {
-            parent::sendContent();
-
-            return;
-        }
-
-        if (0 === $this->maxlen) {
-            return;
-        }
-
-        $out = fopen('php://output', 'wb');
-        $file = fopen($this->file->getPathname(), 'rb');
-
-        stream_copy_to_stream($file, $out, $this->maxlen, $this->offset);
-
-        fclose($out);
-        fclose($file);
-
-        if ($this->deleteFileAfterSend) {
-            unlink($this->file->getPathname());
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @throws \LogicException when the content is not null
-     */
-    public function setContent($content)
-    {
-        if (null !== $content) {
-            throw new \LogicException('The content cannot be set on a BinaryFileResponse instance.');
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @return false
-     */
-    public function getContent()
-    {
-        return false;
-    }
-
-    /**
-     * Trust X-Sendfile-Type header.
-     */
-    public static function trustXSendfileTypeHeader()
-    {
-        self::$trustXSendfileTypeHeader = true;
-    }
-
-    /**
-     * If this is set to true, the file will be unlinked after the request is send
-     * Note: If the X-Sendfile header is used, the deleteFileAfterSend setting will not be used.
-     * @param bool $shouldDelete
-     *
-     * @return BinaryFileResponse
-     */
-    public function deleteFileAfterSend($shouldDelete)
-    {
-        $this->deleteFileAfterSend = $shouldDelete;
-
-        return $this;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md
deleted file mode 100644
index dcdeb4e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md
+++ /dev/null
@@ -1,122 +0,0 @@
-CHANGELOG
-=========
-
-2.6.0
------
-
- * PdoSessionHandler changes
-   - implemented different session locking strategies to prevent loss of data by concurrent access to the same session
-   - [BC BREAK] save session data in a binary column without base64_encode
-   - [BC BREAK] added lifetime column to the session table which allows to have different lifetimes for each session
-   - implemented lazy connections that are only opened when a session is used by either passing a dsn string
-     explicitly or falling back to session.save_path ini setting
-   - added a createTable method that initializes a correctly defined table depending on the database vendor
-
-2.5.0
------
-
- * added `JsonResponse::setEncodingOptions()` & `JsonResponse::getEncodingOptions()` for easier manipulation
-   of the options used while encoding data to JSON format.
-
-2.4.0
------
-
- * added RequestStack
- * added Request::getEncodings()
- * added accessors methods to session handlers
-
-2.3.0
------
-
- * added support for ranges of IPs in trusted proxies
- * `UploadedFile::isValid` now returns false if the file was not uploaded via HTTP (in a non-test mode)
- * Improved error-handling of `\Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler`
-   to ensure the supplied PDO handler throws Exceptions on error (as the class expects). Added related test cases
-   to verify that Exceptions are properly thrown when the PDO queries fail.
-
-2.2.0
------
-
- * fixed the Request::create() precedence (URI information always take precedence now)
- * added Request::getTrustedProxies()
- * deprecated Request::isProxyTrusted()
- * [BC BREAK] JsonResponse does not turn a top level empty array to an object anymore, use an ArrayObject to enforce objects
- * added a IpUtils class to check if an IP belongs to a CIDR
- * added Request::getRealMethod() to get the "real" HTTP method (getMethod() returns the "intended" HTTP method)
- * disabled _method request parameter support by default (call Request::enableHttpMethodParameterOverride() to
-   enable it, and Request::getHttpMethodParameterOverride() to check if it is supported)
- * Request::splitHttpAcceptHeader() method is deprecated and will be removed in 2.3
- * Deprecated Flashbag::count() and \Countable interface, will be removed in 2.3
-
-2.1.0
------
-
- * added Request::getSchemeAndHttpHost() and Request::getUserInfo()
- * added a fluent interface to the Response class
- * added Request::isProxyTrusted()
- * added JsonResponse
- * added a getTargetUrl method to RedirectResponse
- * added support for streamed responses
- * made Response::prepare() method the place to enforce HTTP specification
- * [BC BREAK] moved management of the locale from the Session class to the Request class
- * added a generic access to the PHP built-in filter mechanism: ParameterBag::filter()
- * made FileBinaryMimeTypeGuesser command configurable
- * added Request::getUser() and Request::getPassword()
- * added support for the PATCH method in Request
- * removed the ContentTypeMimeTypeGuesser class as it is deprecated and never used on PHP 5.3
- * added ResponseHeaderBag::makeDisposition() (implements RFC 6266)
- * made mimetype to extension conversion configurable
- * [BC BREAK] Moved all session related classes and interfaces into own namespace, as
-   `Symfony\Component\HttpFoundation\Session` and renamed classes accordingly.
-   Session handlers are located in the subnamespace `Symfony\Component\HttpFoundation\Session\Handler`.
- * SessionHandlers must implement `\SessionHandlerInterface` or extend from the
-   `Symfony\Component\HttpFoundation\Storage\Handler\NativeSessionHandler` base class.
- * Added internal storage driver proxy mechanism for forward compatibility with
-   PHP 5.4 `\SessionHandler` class.
- * Added session handlers for custom Memcache, Memcached and Null session save handlers.
- * [BC BREAK] Removed `NativeSessionStorage` and replaced with `NativeFileSessionHandler`.
- * [BC BREAK] `SessionStorageInterface` methods removed: `write()`, `read()` and
-   `remove()`.  Added `getBag()`, `registerBag()`.  The `NativeSessionStorage` class
-   is a mediator for the session storage internals including the session handlers
-   which do the real work of participating in the internal PHP session workflow.
- * [BC BREAK] Introduced mock implementations of `SessionStorage` to enable unit
-   and functional testing without starting real PHP sessions.  Removed
-   `ArraySessionStorage`, and replaced with `MockArraySessionStorage` for unit
-   tests; removed `FilesystemSessionStorage`, and replaced with`MockFileSessionStorage`
-   for functional tests.  These do not interact with global session ini
-   configuration values, session functions or `$_SESSION` superglobal. This means
-   they can be configured directly allowing multiple instances to work without
-   conflicting in the same PHP process.
- * [BC BREAK] Removed the `close()` method from the `Session` class, as this is
-   now redundant.
- * Deprecated the following methods from the Session class: `setFlash()`, `setFlashes()`
-   `getFlash()`, `hasFlash()`, and `removeFlash()`. Use `getFlashBag()` instead
-   which returns a `FlashBagInterface`.
- * `Session->clear()` now only clears session attributes as before it cleared
-   flash messages and attributes. `Session->getFlashBag()->all()` clears flashes now.
- * Session data is now managed by `SessionBagInterface` to better encapsulate
-   session data.
- * Refactored session attribute and flash messages system to their own
-  `SessionBagInterface` implementations.
- * Added `FlashBag`. Flashes expire when retrieved by `get()` or `all()`. This
-   implementation is ESI compatible.
- * Added `AutoExpireFlashBag` (default) to replicate Symfony 2.0.x auto expire
-   behaviour of messages auto expiring after one page page load.  Messages must
-   be retrieved by `get()` or `all()`.
- * Added `Symfony\Component\HttpFoundation\Attribute\AttributeBag` to replicate
-   attributes storage behaviour from 2.0.x (default).
- * Added `Symfony\Component\HttpFoundation\Attribute\NamespacedAttributeBag` for
-   namespace session attributes.
- * Flash API can stores messages in an array so there may be multiple messages
-   per flash type.  The old `Session` class API remains without BC break as it
-   will allow single messages as before.
- * Added basic session meta-data to the session to record session create time,
-   last updated time, and the lifetime of the session cookie that was provided
-   to the client.
- * Request::getClientIp() method doesn't take a parameter anymore but bases
-   itself on the trustProxy parameter.
- * Added isMethod() to Request object.
- * [BC BREAK] The methods `getPathInfo()`, `getBaseUrl()` and `getBasePath()` of
-   a `Request` now all return a raw value (vs a urldecoded value before). Any call
-   to one of these methods must be checked and wrapped in a `rawurldecode()` if
-   needed.
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Cookie.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Cookie.php
deleted file mode 100644
index 466d020..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Cookie.php
+++ /dev/null
@@ -1,210 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Represents a cookie.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- *
- * @api
- */
-class Cookie
-{
-    protected $name;
-    protected $value;
-    protected $domain;
-    protected $expire;
-    protected $path;
-    protected $secure;
-    protected $httpOnly;
-
-    /**
-     * Constructor.
-     *
-     * @param string               $name     The name of the cookie
-     * @param string               $value    The value of the cookie
-     * @param int|string|\DateTime $expire   The time the cookie expires
-     * @param string               $path     The path on the server in which the cookie will be available on
-     * @param string               $domain   The domain that the cookie is available to
-     * @param bool                 $secure   Whether the cookie should only be transmitted over a secure HTTPS connection from the client
-     * @param bool                 $httpOnly Whether the cookie will be made accessible only through the HTTP protocol
-     *
-     * @throws \InvalidArgumentException
-     *
-     * @api
-     */
-    public function __construct($name, $value = null, $expire = 0, $path = '/', $domain = null, $secure = false, $httpOnly = true)
-    {
-        // from PHP source code
-        if (preg_match("/[=,; \t\r\n\013\014]/", $name)) {
-            throw new \InvalidArgumentException(sprintf('The cookie name "%s" contains invalid characters.', $name));
-        }
-
-        if (empty($name)) {
-            throw new \InvalidArgumentException('The cookie name cannot be empty.');
-        }
-
-        // convert expiration time to a Unix timestamp
-        if ($expire instanceof \DateTime) {
-            $expire = $expire->format('U');
-        } elseif (!is_numeric($expire)) {
-            $expire = strtotime($expire);
-
-            if (false === $expire || -1 === $expire) {
-                throw new \InvalidArgumentException('The cookie expiration time is not valid.');
-            }
-        }
-
-        $this->name = $name;
-        $this->value = $value;
-        $this->domain = $domain;
-        $this->expire = $expire;
-        $this->path = empty($path) ? '/' : $path;
-        $this->secure = (bool) $secure;
-        $this->httpOnly = (bool) $httpOnly;
-    }
-
-    /**
-     * Returns the cookie as a string.
-     *
-     * @return string The cookie
-     */
-    public function __toString()
-    {
-        $str = urlencode($this->getName()).'=';
-
-        if ('' === (string) $this->getValue()) {
-            $str .= 'deleted; expires='.gmdate('D, d-M-Y H:i:s T', time() - 31536001);
-        } else {
-            $str .= urlencode($this->getValue());
-
-            if ($this->getExpiresTime() !== 0) {
-                $str .= '; expires='.gmdate('D, d-M-Y H:i:s T', $this->getExpiresTime());
-            }
-        }
-
-        if ($this->path) {
-            $str .= '; path='.$this->path;
-        }
-
-        if ($this->getDomain()) {
-            $str .= '; domain='.$this->getDomain();
-        }
-
-        if (true === $this->isSecure()) {
-            $str .= '; secure';
-        }
-
-        if (true === $this->isHttpOnly()) {
-            $str .= '; httponly';
-        }
-
-        return $str;
-    }
-
-    /**
-     * Gets the name of the cookie.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Gets the value of the cookie.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Gets the domain that the cookie is available to.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getDomain()
-    {
-        return $this->domain;
-    }
-
-    /**
-     * Gets the time the cookie expires.
-     *
-     * @return int
-     *
-     * @api
-     */
-    public function getExpiresTime()
-    {
-        return $this->expire;
-    }
-
-    /**
-     * Gets the path on the server in which the cookie will be available on.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getPath()
-    {
-        return $this->path;
-    }
-
-    /**
-     * Checks whether the cookie should only be transmitted over a secure HTTPS connection from the client.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isSecure()
-    {
-        return $this->secure;
-    }
-
-    /**
-     * Checks whether the cookie will be made accessible only through the HTTP protocol.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isHttpOnly()
-    {
-        return $this->httpOnly;
-    }
-
-    /**
-     * Whether this cookie is about to be cleared.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isCleared()
-    {
-        return $this->expire < time();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ExpressionRequestMatcher.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ExpressionRequestMatcher.php
deleted file mode 100644
index e9c8441..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ExpressionRequestMatcher.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
-
-/**
- * ExpressionRequestMatcher uses an expression to match a Request.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ExpressionRequestMatcher extends RequestMatcher
-{
-    private $language;
-    private $expression;
-
-    public function setExpression(ExpressionLanguage $language, $expression)
-    {
-        $this->language = $language;
-        $this->expression = $expression;
-    }
-
-    public function matches(Request $request)
-    {
-        if (!$this->language) {
-            throw new \LogicException('Unable to match the request as the expression language is not available.');
-        }
-
-        return $this->language->evaluate($this->expression, array(
-            'request' => $request,
-            'method' => $request->getMethod(),
-            'path' => rawurldecode($request->getPathInfo()),
-            'host' => $request->getHost(),
-            'ip' => $request->getClientIp(),
-            'attributes' => $request->attributes->all(),
-        )) && parent::matches($request);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/AccessDeniedException.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/AccessDeniedException.php
deleted file mode 100644
index 41f7a46..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/AccessDeniedException.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\Exception;
-
-/**
- * Thrown when the access on a file was denied.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class AccessDeniedException extends FileException
-{
-    /**
-     * Constructor.
-     *
-     * @param string $path The path to the accessed file
-     */
-    public function __construct($path)
-    {
-        parent::__construct(sprintf('The file %s could not be accessed', $path));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileException.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileException.php
deleted file mode 100644
index fad5133..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\Exception;
-
-/**
- * Thrown when an error occurred in the component File.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class FileException extends \RuntimeException
-{
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileNotFoundException.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileNotFoundException.php
deleted file mode 100644
index ac90d40..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileNotFoundException.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\Exception;
-
-/**
- * Thrown when a file was not found.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class FileNotFoundException extends FileException
-{
-    /**
-     * Constructor.
-     *
-     * @param string $path The path to the file that was not found
-     */
-    public function __construct($path)
-    {
-        parent::__construct(sprintf('The file "%s" does not exist', $path));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UnexpectedTypeException.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UnexpectedTypeException.php
deleted file mode 100644
index 0444b87..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UnexpectedTypeException.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\Exception;
-
-class UnexpectedTypeException extends FileException
-{
-    public function __construct($value, $expectedType)
-    {
-        parent::__construct(sprintf('Expected argument of type %s, %s given', $expectedType, is_object($value) ? get_class($value) : gettype($value)));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UploadException.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UploadException.php
deleted file mode 100644
index 7074e76..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UploadException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\Exception;
-
-/**
- * Thrown when an error occurred during file upload.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class UploadException extends FileException
-{
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/File.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/File.php
deleted file mode 100644
index dc0e2f7..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/File.php
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File;
-
-use Symfony\Component\HttpFoundation\File\Exception\FileException;
-use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
-use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
-use Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser;
-
-/**
- * A file in the file system.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class File extends \SplFileInfo
-{
-    /**
-     * Constructs a new file from the given path.
-     *
-     * @param string $path      The path to the file
-     * @param bool   $checkPath Whether to check the path or not
-     *
-     * @throws FileNotFoundException If the given path is not a file
-     *
-     * @api
-     */
-    public function __construct($path, $checkPath = true)
-    {
-        if ($checkPath && !is_file($path)) {
-            throw new FileNotFoundException($path);
-        }
-
-        parent::__construct($path);
-    }
-
-    /**
-     * Returns the extension based on the mime type.
-     *
-     * If the mime type is unknown, returns null.
-     *
-     * This method uses the mime type as guessed by getMimeType()
-     * to guess the file extension.
-     *
-     * @return string|null The guessed extension or null if it cannot be guessed
-     *
-     * @api
-     *
-     * @see ExtensionGuesser
-     * @see getMimeType()
-     */
-    public function guessExtension()
-    {
-        $type = $this->getMimeType();
-        $guesser = ExtensionGuesser::getInstance();
-
-        return $guesser->guess($type);
-    }
-
-    /**
-     * Returns the mime type of the file.
-     *
-     * The mime type is guessed using a MimeTypeGuesser instance, which uses finfo(),
-     * mime_content_type() and the system binary "file" (in this order), depending on
-     * which of those are available.
-     *
-     * @return string|null The guessed mime type (i.e. "application/pdf")
-     *
-     * @see MimeTypeGuesser
-     *
-     * @api
-     */
-    public function getMimeType()
-    {
-        $guesser = MimeTypeGuesser::getInstance();
-
-        return $guesser->guess($this->getPathname());
-    }
-
-    /**
-     * Returns the extension of the file.
-     *
-     * \SplFileInfo::getExtension() is not available before PHP 5.3.6
-     *
-     * @return string The extension
-     *
-     * @api
-     */
-    public function getExtension()
-    {
-        return pathinfo($this->getBasename(), PATHINFO_EXTENSION);
-    }
-
-    /**
-     * Moves the file to a new location.
-     *
-     * @param string $directory The destination folder
-     * @param string $name      The new file name
-     *
-     * @return File A File object representing the new file
-     *
-     * @throws FileException if the target file could not be created
-     *
-     * @api
-     */
-    public function move($directory, $name = null)
-    {
-        $target = $this->getTargetFile($directory, $name);
-
-        if (!@rename($this->getPathname(), $target)) {
-            $error = error_get_last();
-            throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this->getPathname(), $target, strip_tags($error['message'])));
-        }
-
-        @chmod($target, 0666 & ~umask());
-
-        return $target;
-    }
-
-    protected function getTargetFile($directory, $name = null)
-    {
-        if (!is_dir($directory)) {
-            if (false === @mkdir($directory, 0777, true) && !is_dir($directory)) {
-                throw new FileException(sprintf('Unable to create the "%s" directory', $directory));
-            }
-        } elseif (!is_writable($directory)) {
-            throw new FileException(sprintf('Unable to write in the "%s" directory', $directory));
-        }
-
-        $target = rtrim($directory, '/\\').DIRECTORY_SEPARATOR.(null === $name ? $this->getBasename() : $this->getName($name));
-
-        return new File($target, false);
-    }
-
-    /**
-     * Returns locale independent base name of the given path.
-     *
-     * @param string $name The new file name
-     *
-     * @return string containing
-     */
-    protected function getName($name)
-    {
-        $originalName = str_replace('\\', '/', $name);
-        $pos = strrpos($originalName, '/');
-        $originalName = false === $pos ? $originalName : substr($originalName, $pos + 1);
-
-        return $originalName;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesser.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesser.php
deleted file mode 100644
index ec9b78a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesser.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\MimeType;
-
-/**
- * A singleton mime type to file extension guesser.
- *
- * A default guesser is provided.
- * You can register custom guessers by calling the register()
- * method on the singleton instance:
- *
- *     $guesser = ExtensionGuesser::getInstance();
- *     $guesser->register(new MyCustomExtensionGuesser());
- *
- * The last registered guesser is preferred over previously registered ones.
- */
-class ExtensionGuesser implements ExtensionGuesserInterface
-{
-    /**
-     * The singleton instance.
-     *
-     * @var ExtensionGuesser
-     */
-    private static $instance = null;
-
-    /**
-     * All registered ExtensionGuesserInterface instances.
-     *
-     * @var array
-     */
-    protected $guessers = array();
-
-    /**
-     * Returns the singleton instance.
-     *
-     * @return ExtensionGuesser
-     */
-    public static function getInstance()
-    {
-        if (null === self::$instance) {
-            self::$instance = new self();
-        }
-
-        return self::$instance;
-    }
-
-    /**
-     * Registers all natively provided extension guessers.
-     */
-    private function __construct()
-    {
-        $this->register(new MimeTypeExtensionGuesser());
-    }
-
-    /**
-     * Registers a new extension guesser.
-     *
-     * When guessing, this guesser is preferred over previously registered ones.
-     *
-     * @param ExtensionGuesserInterface $guesser
-     */
-    public function register(ExtensionGuesserInterface $guesser)
-    {
-        array_unshift($this->guessers, $guesser);
-    }
-
-    /**
-     * Tries to guess the extension.
-     *
-     * The mime type is passed to each registered mime type guesser in reverse order
-     * of their registration (last registered is queried first). Once a guesser
-     * returns a value that is not NULL, this method terminates and returns the
-     * value.
-     *
-     * @param string $mimeType The mime type
-     *
-     * @return string The guessed extension or NULL, if none could be guessed
-     */
-    public function guess($mimeType)
-    {
-        foreach ($this->guessers as $guesser) {
-            if (null !== $extension = $guesser->guess($mimeType)) {
-                return $extension;
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesserInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesserInterface.php
deleted file mode 100644
index d19a0e5..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesserInterface.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\MimeType;
-
-/**
- * Guesses the file extension corresponding to a given mime type.
- */
-interface ExtensionGuesserInterface
-{
-    /**
-     * Makes a best guess for a file extension, given a mime type.
-     *
-     * @param string $mimeType The mime type
-     *
-     * @return string The guessed extension or NULL, if none could be guessed
-     */
-    public function guess($mimeType);
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php
deleted file mode 100644
index f917a06..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\MimeType;
-
-use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
-use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException;
-
-/**
- * Guesses the mime type with the binary "file" (only available on *nix).
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class FileBinaryMimeTypeGuesser implements MimeTypeGuesserInterface
-{
-    private $cmd;
-
-    /**
-     * Constructor.
-     *
-     * The $cmd pattern must contain a "%s" string that will be replaced
-     * with the file name to guess.
-     *
-     * The command output must start with the mime type of the file.
-     *
-     * @param string $cmd The command to run to get the mime type of a file
-     */
-    public function __construct($cmd = 'file -b --mime %s 2>/dev/null')
-    {
-        $this->cmd = $cmd;
-    }
-
-    /**
-     * Returns whether this guesser is supported on the current OS.
-     *
-     * @return bool
-     */
-    public static function isSupported()
-    {
-        return '\\' !== DIRECTORY_SEPARATOR && function_exists('passthru') && function_exists('escapeshellarg');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function guess($path)
-    {
-        if (!is_file($path)) {
-            throw new FileNotFoundException($path);
-        }
-
-        if (!is_readable($path)) {
-            throw new AccessDeniedException($path);
-        }
-
-        if (!self::isSupported()) {
-            return;
-        }
-
-        ob_start();
-
-        // need to use --mime instead of -i. see #6641
-        passthru(sprintf($this->cmd, escapeshellarg($path)), $return);
-        if ($return > 0) {
-            ob_end_clean();
-
-            return;
-        }
-
-        $type = trim(ob_get_clean());
-
-        if (!preg_match('#^([a-z0-9\-]+/[a-z0-9\-\.]+)#i', $type, $match)) {
-            // it's not a type, but an error message
-            return;
-        }
-
-        return $match[1];
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileinfoMimeTypeGuesser.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileinfoMimeTypeGuesser.php
deleted file mode 100644
index a7e4ae2..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileinfoMimeTypeGuesser.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\MimeType;
-
-use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
-use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException;
-
-/**
- * Guesses the mime type using the PECL extension FileInfo.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class FileinfoMimeTypeGuesser implements MimeTypeGuesserInterface
-{
-    private $magicFile;
-
-    /**
-     * Constructor.
-     *
-     * @param string $magicFile A magic file to use with the finfo instance
-     *
-     * @link http://www.php.net/manual/en/function.finfo-open.php
-     */
-    public function __construct($magicFile = null)
-    {
-        $this->magicFile = $magicFile;
-    }
-
-    /**
-     * Returns whether this guesser is supported on the current OS/PHP setup.
-     *
-     * @return bool
-     */
-    public static function isSupported()
-    {
-        return function_exists('finfo_open');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function guess($path)
-    {
-        if (!is_file($path)) {
-            throw new FileNotFoundException($path);
-        }
-
-        if (!is_readable($path)) {
-            throw new AccessDeniedException($path);
-        }
-
-        if (!self::isSupported()) {
-            return;
-        }
-
-        if (!$finfo = new \finfo(FILEINFO_MIME_TYPE, $this->magicFile)) {
-            return;
-        }
-
-        return $finfo->file($path);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeExtensionGuesser.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeExtensionGuesser.php
deleted file mode 100644
index 75eeefb..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeExtensionGuesser.php
+++ /dev/null
@@ -1,807 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\MimeType;
-
-/**
- * Provides a best-guess mapping of mime type to file extension.
- */
-class MimeTypeExtensionGuesser implements ExtensionGuesserInterface
-{
-    /**
-     * A map of mime types and their default extensions.
-     *
-     * This list has been placed under the public domain by the Apache HTTPD project.
-     * This list has been updated from upstream on 2013-04-23.
-     *
-     * @see http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
-     *
-     * @var array
-     */
-    protected $defaultExtensions = array(
-        'application/andrew-inset' => 'ez',
-        'application/applixware' => 'aw',
-        'application/atom+xml' => 'atom',
-        'application/atomcat+xml' => 'atomcat',
-        'application/atomsvc+xml' => 'atomsvc',
-        'application/ccxml+xml' => 'ccxml',
-        'application/cdmi-capability' => 'cdmia',
-        'application/cdmi-container' => 'cdmic',
-        'application/cdmi-domain' => 'cdmid',
-        'application/cdmi-object' => 'cdmio',
-        'application/cdmi-queue' => 'cdmiq',
-        'application/cu-seeme' => 'cu',
-        'application/davmount+xml' => 'davmount',
-        'application/docbook+xml' => 'dbk',
-        'application/dssc+der' => 'dssc',
-        'application/dssc+xml' => 'xdssc',
-        'application/ecmascript' => 'ecma',
-        'application/emma+xml' => 'emma',
-        'application/epub+zip' => 'epub',
-        'application/exi' => 'exi',
-        'application/font-tdpfr' => 'pfr',
-        'application/gml+xml' => 'gml',
-        'application/gpx+xml' => 'gpx',
-        'application/gxf' => 'gxf',
-        'application/hyperstudio' => 'stk',
-        'application/inkml+xml' => 'ink',
-        'application/ipfix' => 'ipfix',
-        'application/java-archive' => 'jar',
-        'application/java-serialized-object' => 'ser',
-        'application/java-vm' => 'class',
-        'application/javascript' => 'js',
-        'application/json' => 'json',
-        'application/jsonml+json' => 'jsonml',
-        'application/lost+xml' => 'lostxml',
-        'application/mac-binhex40' => 'hqx',
-        'application/mac-compactpro' => 'cpt',
-        'application/mads+xml' => 'mads',
-        'application/marc' => 'mrc',
-        'application/marcxml+xml' => 'mrcx',
-        'application/mathematica' => 'ma',
-        'application/mathml+xml' => 'mathml',
-        'application/mbox' => 'mbox',
-        'application/mediaservercontrol+xml' => 'mscml',
-        'application/metalink+xml' => 'metalink',
-        'application/metalink4+xml' => 'meta4',
-        'application/mets+xml' => 'mets',
-        'application/mods+xml' => 'mods',
-        'application/mp21' => 'm21',
-        'application/mp4' => 'mp4s',
-        'application/msword' => 'doc',
-        'application/mxf' => 'mxf',
-        'application/octet-stream' => 'bin',
-        'application/oda' => 'oda',
-        'application/oebps-package+xml' => 'opf',
-        'application/ogg' => 'ogx',
-        'application/omdoc+xml' => 'omdoc',
-        'application/onenote' => 'onetoc',
-        'application/oxps' => 'oxps',
-        'application/patch-ops-error+xml' => 'xer',
-        'application/pdf' => 'pdf',
-        'application/pgp-encrypted' => 'pgp',
-        'application/pgp-signature' => 'asc',
-        'application/pics-rules' => 'prf',
-        'application/pkcs10' => 'p10',
-        'application/pkcs7-mime' => 'p7m',
-        'application/pkcs7-signature' => 'p7s',
-        'application/pkcs8' => 'p8',
-        'application/pkix-attr-cert' => 'ac',
-        'application/pkix-cert' => 'cer',
-        'application/pkix-crl' => 'crl',
-        'application/pkix-pkipath' => 'pkipath',
-        'application/pkixcmp' => 'pki',
-        'application/pls+xml' => 'pls',
-        'application/postscript' => 'ai',
-        'application/prs.cww' => 'cww',
-        'application/pskc+xml' => 'pskcxml',
-        'application/rdf+xml' => 'rdf',
-        'application/reginfo+xml' => 'rif',
-        'application/relax-ng-compact-syntax' => 'rnc',
-        'application/resource-lists+xml' => 'rl',
-        'application/resource-lists-diff+xml' => 'rld',
-        'application/rls-services+xml' => 'rs',
-        'application/rpki-ghostbusters' => 'gbr',
-        'application/rpki-manifest' => 'mft',
-        'application/rpki-roa' => 'roa',
-        'application/rsd+xml' => 'rsd',
-        'application/rss+xml' => 'rss',
-        'application/rtf' => 'rtf',
-        'application/sbml+xml' => 'sbml',
-        'application/scvp-cv-request' => 'scq',
-        'application/scvp-cv-response' => 'scs',
-        'application/scvp-vp-request' => 'spq',
-        'application/scvp-vp-response' => 'spp',
-        'application/sdp' => 'sdp',
-        'application/set-payment-initiation' => 'setpay',
-        'application/set-registration-initiation' => 'setreg',
-        'application/shf+xml' => 'shf',
-        'application/smil+xml' => 'smi',
-        'application/sparql-query' => 'rq',
-        'application/sparql-results+xml' => 'srx',
-        'application/srgs' => 'gram',
-        'application/srgs+xml' => 'grxml',
-        'application/sru+xml' => 'sru',
-        'application/ssdl+xml' => 'ssdl',
-        'application/ssml+xml' => 'ssml',
-        'application/tei+xml' => 'tei',
-        'application/thraud+xml' => 'tfi',
-        'application/timestamped-data' => 'tsd',
-        'application/vnd.3gpp.pic-bw-large' => 'plb',
-        'application/vnd.3gpp.pic-bw-small' => 'psb',
-        'application/vnd.3gpp.pic-bw-var' => 'pvb',
-        'application/vnd.3gpp2.tcap' => 'tcap',
-        'application/vnd.3m.post-it-notes' => 'pwn',
-        'application/vnd.accpac.simply.aso' => 'aso',
-        'application/vnd.accpac.simply.imp' => 'imp',
-        'application/vnd.acucobol' => 'acu',
-        'application/vnd.acucorp' => 'atc',
-        'application/vnd.adobe.air-application-installer-package+zip' => 'air',
-        'application/vnd.adobe.formscentral.fcdt' => 'fcdt',
-        'application/vnd.adobe.fxp' => 'fxp',
-        'application/vnd.adobe.xdp+xml' => 'xdp',
-        'application/vnd.adobe.xfdf' => 'xfdf',
-        'application/vnd.ahead.space' => 'ahead',
-        'application/vnd.airzip.filesecure.azf' => 'azf',
-        'application/vnd.airzip.filesecure.azs' => 'azs',
-        'application/vnd.amazon.ebook' => 'azw',
-        'application/vnd.americandynamics.acc' => 'acc',
-        'application/vnd.amiga.ami' => 'ami',
-        'application/vnd.android.package-archive' => 'apk',
-        'application/vnd.anser-web-certificate-issue-initiation' => 'cii',
-        'application/vnd.anser-web-funds-transfer-initiation' => 'fti',
-        'application/vnd.antix.game-component' => 'atx',
-        'application/vnd.apple.installer+xml' => 'mpkg',
-        'application/vnd.apple.mpegurl' => 'm3u8',
-        'application/vnd.aristanetworks.swi' => 'swi',
-        'application/vnd.astraea-software.iota' => 'iota',
-        'application/vnd.audiograph' => 'aep',
-        'application/vnd.blueice.multipass' => 'mpm',
-        'application/vnd.bmi' => 'bmi',
-        'application/vnd.businessobjects' => 'rep',
-        'application/vnd.chemdraw+xml' => 'cdxml',
-        'application/vnd.chipnuts.karaoke-mmd' => 'mmd',
-        'application/vnd.cinderella' => 'cdy',
-        'application/vnd.claymore' => 'cla',
-        'application/vnd.cloanto.rp9' => 'rp9',
-        'application/vnd.clonk.c4group' => 'c4g',
-        'application/vnd.cluetrust.cartomobile-config' => 'c11amc',
-        'application/vnd.cluetrust.cartomobile-config-pkg' => 'c11amz',
-        'application/vnd.commonspace' => 'csp',
-        'application/vnd.contact.cmsg' => 'cdbcmsg',
-        'application/vnd.cosmocaller' => 'cmc',
-        'application/vnd.crick.clicker' => 'clkx',
-        'application/vnd.crick.clicker.keyboard' => 'clkk',
-        'application/vnd.crick.clicker.palette' => 'clkp',
-        'application/vnd.crick.clicker.template' => 'clkt',
-        'application/vnd.crick.clicker.wordbank' => 'clkw',
-        'application/vnd.criticaltools.wbs+xml' => 'wbs',
-        'application/vnd.ctc-posml' => 'pml',
-        'application/vnd.cups-ppd' => 'ppd',
-        'application/vnd.curl.car' => 'car',
-        'application/vnd.curl.pcurl' => 'pcurl',
-        'application/vnd.dart' => 'dart',
-        'application/vnd.data-vision.rdz' => 'rdz',
-        'application/vnd.dece.data' => 'uvf',
-        'application/vnd.dece.ttml+xml' => 'uvt',
-        'application/vnd.dece.unspecified' => 'uvx',
-        'application/vnd.dece.zip' => 'uvz',
-        'application/vnd.denovo.fcselayout-link' => 'fe_launch',
-        'application/vnd.dna' => 'dna',
-        'application/vnd.dolby.mlp' => 'mlp',
-        'application/vnd.dpgraph' => 'dpg',
-        'application/vnd.dreamfactory' => 'dfac',
-        'application/vnd.ds-keypoint' => 'kpxx',
-        'application/vnd.dvb.ait' => 'ait',
-        'application/vnd.dvb.service' => 'svc',
-        'application/vnd.dynageo' => 'geo',
-        'application/vnd.ecowin.chart' => 'mag',
-        'application/vnd.enliven' => 'nml',
-        'application/vnd.epson.esf' => 'esf',
-        'application/vnd.epson.msf' => 'msf',
-        'application/vnd.epson.quickanime' => 'qam',
-        'application/vnd.epson.salt' => 'slt',
-        'application/vnd.epson.ssf' => 'ssf',
-        'application/vnd.eszigno3+xml' => 'es3',
-        'application/vnd.ezpix-album' => 'ez2',
-        'application/vnd.ezpix-package' => 'ez3',
-        'application/vnd.fdf' => 'fdf',
-        'application/vnd.fdsn.mseed' => 'mseed',
-        'application/vnd.fdsn.seed' => 'seed',
-        'application/vnd.flographit' => 'gph',
-        'application/vnd.fluxtime.clip' => 'ftc',
-        'application/vnd.framemaker' => 'fm',
-        'application/vnd.frogans.fnc' => 'fnc',
-        'application/vnd.frogans.ltf' => 'ltf',
-        'application/vnd.fsc.weblaunch' => 'fsc',
-        'application/vnd.fujitsu.oasys' => 'oas',
-        'application/vnd.fujitsu.oasys2' => 'oa2',
-        'application/vnd.fujitsu.oasys3' => 'oa3',
-        'application/vnd.fujitsu.oasysgp' => 'fg5',
-        'application/vnd.fujitsu.oasysprs' => 'bh2',
-        'application/vnd.fujixerox.ddd' => 'ddd',
-        'application/vnd.fujixerox.docuworks' => 'xdw',
-        'application/vnd.fujixerox.docuworks.binder' => 'xbd',
-        'application/vnd.fuzzysheet' => 'fzs',
-        'application/vnd.genomatix.tuxedo' => 'txd',
-        'application/vnd.geogebra.file' => 'ggb',
-        'application/vnd.geogebra.tool' => 'ggt',
-        'application/vnd.geometry-explorer' => 'gex',
-        'application/vnd.geonext' => 'gxt',
-        'application/vnd.geoplan' => 'g2w',
-        'application/vnd.geospace' => 'g3w',
-        'application/vnd.gmx' => 'gmx',
-        'application/vnd.google-earth.kml+xml' => 'kml',
-        'application/vnd.google-earth.kmz' => 'kmz',
-        'application/vnd.grafeq' => 'gqf',
-        'application/vnd.groove-account' => 'gac',
-        'application/vnd.groove-help' => 'ghf',
-        'application/vnd.groove-identity-message' => 'gim',
-        'application/vnd.groove-injector' => 'grv',
-        'application/vnd.groove-tool-message' => 'gtm',
-        'application/vnd.groove-tool-template' => 'tpl',
-        'application/vnd.groove-vcard' => 'vcg',
-        'application/vnd.hal+xml' => 'hal',
-        'application/vnd.handheld-entertainment+xml' => 'zmm',
-        'application/vnd.hbci' => 'hbci',
-        'application/vnd.hhe.lesson-player' => 'les',
-        'application/vnd.hp-hpgl' => 'hpgl',
-        'application/vnd.hp-hpid' => 'hpid',
-        'application/vnd.hp-hps' => 'hps',
-        'application/vnd.hp-jlyt' => 'jlt',
-        'application/vnd.hp-pcl' => 'pcl',
-        'application/vnd.hp-pclxl' => 'pclxl',
-        'application/vnd.hydrostatix.sof-data' => 'sfd-hdstx',
-        'application/vnd.ibm.minipay' => 'mpy',
-        'application/vnd.ibm.modcap' => 'afp',
-        'application/vnd.ibm.rights-management' => 'irm',
-        'application/vnd.ibm.secure-container' => 'sc',
-        'application/vnd.iccprofile' => 'icc',
-        'application/vnd.igloader' => 'igl',
-        'application/vnd.immervision-ivp' => 'ivp',
-        'application/vnd.immervision-ivu' => 'ivu',
-        'application/vnd.insors.igm' => 'igm',
-        'application/vnd.intercon.formnet' => 'xpw',
-        'application/vnd.intergeo' => 'i2g',
-        'application/vnd.intu.qbo' => 'qbo',
-        'application/vnd.intu.qfx' => 'qfx',
-        'application/vnd.ipunplugged.rcprofile' => 'rcprofile',
-        'application/vnd.irepository.package+xml' => 'irp',
-        'application/vnd.is-xpr' => 'xpr',
-        'application/vnd.isac.fcs' => 'fcs',
-        'application/vnd.jam' => 'jam',
-        'application/vnd.jcp.javame.midlet-rms' => 'rms',
-        'application/vnd.jisp' => 'jisp',
-        'application/vnd.joost.joda-archive' => 'joda',
-        'application/vnd.kahootz' => 'ktz',
-        'application/vnd.kde.karbon' => 'karbon',
-        'application/vnd.kde.kchart' => 'chrt',
-        'application/vnd.kde.kformula' => 'kfo',
-        'application/vnd.kde.kivio' => 'flw',
-        'application/vnd.kde.kontour' => 'kon',
-        'application/vnd.kde.kpresenter' => 'kpr',
-        'application/vnd.kde.kspread' => 'ksp',
-        'application/vnd.kde.kword' => 'kwd',
-        'application/vnd.kenameaapp' => 'htke',
-        'application/vnd.kidspiration' => 'kia',
-        'application/vnd.kinar' => 'kne',
-        'application/vnd.koan' => 'skp',
-        'application/vnd.kodak-descriptor' => 'sse',
-        'application/vnd.las.las+xml' => 'lasxml',
-        'application/vnd.llamagraphics.life-balance.desktop' => 'lbd',
-        'application/vnd.llamagraphics.life-balance.exchange+xml' => 'lbe',
-        'application/vnd.lotus-1-2-3' => '123',
-        'application/vnd.lotus-approach' => 'apr',
-        'application/vnd.lotus-freelance' => 'pre',
-        'application/vnd.lotus-notes' => 'nsf',
-        'application/vnd.lotus-organizer' => 'org',
-        'application/vnd.lotus-screencam' => 'scm',
-        'application/vnd.lotus-wordpro' => 'lwp',
-        'application/vnd.macports.portpkg' => 'portpkg',
-        'application/vnd.mcd' => 'mcd',
-        'application/vnd.medcalcdata' => 'mc1',
-        'application/vnd.mediastation.cdkey' => 'cdkey',
-        'application/vnd.mfer' => 'mwf',
-        'application/vnd.mfmp' => 'mfm',
-        'application/vnd.micrografx.flo' => 'flo',
-        'application/vnd.micrografx.igx' => 'igx',
-        'application/vnd.mif' => 'mif',
-        'application/vnd.mobius.daf' => 'daf',
-        'application/vnd.mobius.dis' => 'dis',
-        'application/vnd.mobius.mbk' => 'mbk',
-        'application/vnd.mobius.mqy' => 'mqy',
-        'application/vnd.mobius.msl' => 'msl',
-        'application/vnd.mobius.plc' => 'plc',
-        'application/vnd.mobius.txf' => 'txf',
-        'application/vnd.mophun.application' => 'mpn',
-        'application/vnd.mophun.certificate' => 'mpc',
-        'application/vnd.mozilla.xul+xml' => 'xul',
-        'application/vnd.ms-artgalry' => 'cil',
-        'application/vnd.ms-cab-compressed' => 'cab',
-        'application/vnd.ms-excel' => 'xls',
-        'application/vnd.ms-excel.addin.macroenabled.12' => 'xlam',
-        'application/vnd.ms-excel.sheet.binary.macroenabled.12' => 'xlsb',
-        'application/vnd.ms-excel.sheet.macroenabled.12' => 'xlsm',
-        'application/vnd.ms-excel.template.macroenabled.12' => 'xltm',
-        'application/vnd.ms-fontobject' => 'eot',
-        'application/vnd.ms-htmlhelp' => 'chm',
-        'application/vnd.ms-ims' => 'ims',
-        'application/vnd.ms-lrm' => 'lrm',
-        'application/vnd.ms-officetheme' => 'thmx',
-        'application/vnd.ms-pki.seccat' => 'cat',
-        'application/vnd.ms-pki.stl' => 'stl',
-        'application/vnd.ms-powerpoint' => 'ppt',
-        'application/vnd.ms-powerpoint.addin.macroenabled.12' => 'ppam',
-        'application/vnd.ms-powerpoint.presentation.macroenabled.12' => 'pptm',
-        'application/vnd.ms-powerpoint.slide.macroenabled.12' => 'sldm',
-        'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => 'ppsm',
-        'application/vnd.ms-powerpoint.template.macroenabled.12' => 'potm',
-        'application/vnd.ms-project' => 'mpp',
-        'application/vnd.ms-word.document.macroenabled.12' => 'docm',
-        'application/vnd.ms-word.template.macroenabled.12' => 'dotm',
-        'application/vnd.ms-works' => 'wps',
-        'application/vnd.ms-wpl' => 'wpl',
-        'application/vnd.ms-xpsdocument' => 'xps',
-        'application/vnd.mseq' => 'mseq',
-        'application/vnd.musician' => 'mus',
-        'application/vnd.muvee.style' => 'msty',
-        'application/vnd.mynfc' => 'taglet',
-        'application/vnd.neurolanguage.nlu' => 'nlu',
-        'application/vnd.nitf' => 'ntf',
-        'application/vnd.noblenet-directory' => 'nnd',
-        'application/vnd.noblenet-sealer' => 'nns',
-        'application/vnd.noblenet-web' => 'nnw',
-        'application/vnd.nokia.n-gage.data' => 'ngdat',
-        'application/vnd.nokia.n-gage.symbian.install' => 'n-gage',
-        'application/vnd.nokia.radio-preset' => 'rpst',
-        'application/vnd.nokia.radio-presets' => 'rpss',
-        'application/vnd.novadigm.edm' => 'edm',
-        'application/vnd.novadigm.edx' => 'edx',
-        'application/vnd.novadigm.ext' => 'ext',
-        'application/vnd.oasis.opendocument.chart' => 'odc',
-        'application/vnd.oasis.opendocument.chart-template' => 'otc',
-        'application/vnd.oasis.opendocument.database' => 'odb',
-        'application/vnd.oasis.opendocument.formula' => 'odf',
-        'application/vnd.oasis.opendocument.formula-template' => 'odft',
-        'application/vnd.oasis.opendocument.graphics' => 'odg',
-        'application/vnd.oasis.opendocument.graphics-template' => 'otg',
-        'application/vnd.oasis.opendocument.image' => 'odi',
-        'application/vnd.oasis.opendocument.image-template' => 'oti',
-        'application/vnd.oasis.opendocument.presentation' => 'odp',
-        'application/vnd.oasis.opendocument.presentation-template' => 'otp',
-        'application/vnd.oasis.opendocument.spreadsheet' => 'ods',
-        'application/vnd.oasis.opendocument.spreadsheet-template' => 'ots',
-        'application/vnd.oasis.opendocument.text' => 'odt',
-        'application/vnd.oasis.opendocument.text-master' => 'odm',
-        'application/vnd.oasis.opendocument.text-template' => 'ott',
-        'application/vnd.oasis.opendocument.text-web' => 'oth',
-        'application/vnd.olpc-sugar' => 'xo',
-        'application/vnd.oma.dd2+xml' => 'dd2',
-        'application/vnd.openofficeorg.extension' => 'oxt',
-        'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'pptx',
-        'application/vnd.openxmlformats-officedocument.presentationml.slide' => 'sldx',
-        'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => 'ppsx',
-        'application/vnd.openxmlformats-officedocument.presentationml.template' => 'potx',
-        'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'xlsx',
-        'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => 'xltx',
-        'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'docx',
-        'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => 'dotx',
-        'application/vnd.osgeo.mapguide.package' => 'mgp',
-        'application/vnd.osgi.dp' => 'dp',
-        'application/vnd.osgi.subsystem' => 'esa',
-        'application/vnd.palm' => 'pdb',
-        'application/vnd.pawaafile' => 'paw',
-        'application/vnd.pg.format' => 'str',
-        'application/vnd.pg.osasli' => 'ei6',
-        'application/vnd.picsel' => 'efif',
-        'application/vnd.pmi.widget' => 'wg',
-        'application/vnd.pocketlearn' => 'plf',
-        'application/vnd.powerbuilder6' => 'pbd',
-        'application/vnd.previewsystems.box' => 'box',
-        'application/vnd.proteus.magazine' => 'mgz',
-        'application/vnd.publishare-delta-tree' => 'qps',
-        'application/vnd.pvi.ptid1' => 'ptid',
-        'application/vnd.quark.quarkxpress' => 'qxd',
-        'application/vnd.realvnc.bed' => 'bed',
-        'application/vnd.recordare.musicxml' => 'mxl',
-        'application/vnd.recordare.musicxml+xml' => 'musicxml',
-        'application/vnd.rig.cryptonote' => 'cryptonote',
-        'application/vnd.rim.cod' => 'cod',
-        'application/vnd.rn-realmedia' => 'rm',
-        'application/vnd.rn-realmedia-vbr' => 'rmvb',
-        'application/vnd.route66.link66+xml' => 'link66',
-        'application/vnd.sailingtracker.track' => 'st',
-        'application/vnd.seemail' => 'see',
-        'application/vnd.sema' => 'sema',
-        'application/vnd.semd' => 'semd',
-        'application/vnd.semf' => 'semf',
-        'application/vnd.shana.informed.formdata' => 'ifm',
-        'application/vnd.shana.informed.formtemplate' => 'itp',
-        'application/vnd.shana.informed.interchange' => 'iif',
-        'application/vnd.shana.informed.package' => 'ipk',
-        'application/vnd.simtech-mindmapper' => 'twd',
-        'application/vnd.smaf' => 'mmf',
-        'application/vnd.smart.teacher' => 'teacher',
-        'application/vnd.solent.sdkm+xml' => 'sdkm',
-        'application/vnd.spotfire.dxp' => 'dxp',
-        'application/vnd.spotfire.sfs' => 'sfs',
-        'application/vnd.stardivision.calc' => 'sdc',
-        'application/vnd.stardivision.draw' => 'sda',
-        'application/vnd.stardivision.impress' => 'sdd',
-        'application/vnd.stardivision.math' => 'smf',
-        'application/vnd.stardivision.writer' => 'sdw',
-        'application/vnd.stardivision.writer-global' => 'sgl',
-        'application/vnd.stepmania.package' => 'smzip',
-        'application/vnd.stepmania.stepchart' => 'sm',
-        'application/vnd.sun.xml.calc' => 'sxc',
-        'application/vnd.sun.xml.calc.template' => 'stc',
-        'application/vnd.sun.xml.draw' => 'sxd',
-        'application/vnd.sun.xml.draw.template' => 'std',
-        'application/vnd.sun.xml.impress' => 'sxi',
-        'application/vnd.sun.xml.impress.template' => 'sti',
-        'application/vnd.sun.xml.math' => 'sxm',
-        'application/vnd.sun.xml.writer' => 'sxw',
-        'application/vnd.sun.xml.writer.global' => 'sxg',
-        'application/vnd.sun.xml.writer.template' => 'stw',
-        'application/vnd.sus-calendar' => 'sus',
-        'application/vnd.svd' => 'svd',
-        'application/vnd.symbian.install' => 'sis',
-        'application/vnd.syncml+xml' => 'xsm',
-        'application/vnd.syncml.dm+wbxml' => 'bdm',
-        'application/vnd.syncml.dm+xml' => 'xdm',
-        'application/vnd.tao.intent-module-archive' => 'tao',
-        'application/vnd.tcpdump.pcap' => 'pcap',
-        'application/vnd.tmobile-livetv' => 'tmo',
-        'application/vnd.trid.tpt' => 'tpt',
-        'application/vnd.triscape.mxs' => 'mxs',
-        'application/vnd.trueapp' => 'tra',
-        'application/vnd.ufdl' => 'ufd',
-        'application/vnd.uiq.theme' => 'utz',
-        'application/vnd.umajin' => 'umj',
-        'application/vnd.unity' => 'unityweb',
-        'application/vnd.uoml+xml' => 'uoml',
-        'application/vnd.vcx' => 'vcx',
-        'application/vnd.visio' => 'vsd',
-        'application/vnd.visionary' => 'vis',
-        'application/vnd.vsf' => 'vsf',
-        'application/vnd.wap.wbxml' => 'wbxml',
-        'application/vnd.wap.wmlc' => 'wmlc',
-        'application/vnd.wap.wmlscriptc' => 'wmlsc',
-        'application/vnd.webturbo' => 'wtb',
-        'application/vnd.wolfram.player' => 'nbp',
-        'application/vnd.wordperfect' => 'wpd',
-        'application/vnd.wqd' => 'wqd',
-        'application/vnd.wt.stf' => 'stf',
-        'application/vnd.xara' => 'xar',
-        'application/vnd.xfdl' => 'xfdl',
-        'application/vnd.yamaha.hv-dic' => 'hvd',
-        'application/vnd.yamaha.hv-script' => 'hvs',
-        'application/vnd.yamaha.hv-voice' => 'hvp',
-        'application/vnd.yamaha.openscoreformat' => 'osf',
-        'application/vnd.yamaha.openscoreformat.osfpvg+xml' => 'osfpvg',
-        'application/vnd.yamaha.smaf-audio' => 'saf',
-        'application/vnd.yamaha.smaf-phrase' => 'spf',
-        'application/vnd.yellowriver-custom-menu' => 'cmp',
-        'application/vnd.zul' => 'zir',
-        'application/vnd.zzazz.deck+xml' => 'zaz',
-        'application/voicexml+xml' => 'vxml',
-        'application/widget' => 'wgt',
-        'application/winhlp' => 'hlp',
-        'application/wsdl+xml' => 'wsdl',
-        'application/wspolicy+xml' => 'wspolicy',
-        'application/x-7z-compressed' => '7z',
-        'application/x-abiword' => 'abw',
-        'application/x-ace-compressed' => 'ace',
-        'application/x-apple-diskimage' => 'dmg',
-        'application/x-authorware-bin' => 'aab',
-        'application/x-authorware-map' => 'aam',
-        'application/x-authorware-seg' => 'aas',
-        'application/x-bcpio' => 'bcpio',
-        'application/x-bittorrent' => 'torrent',
-        'application/x-blorb' => 'blb',
-        'application/x-bzip' => 'bz',
-        'application/x-bzip2' => 'bz2',
-        'application/x-cbr' => 'cbr',
-        'application/x-cdlink' => 'vcd',
-        'application/x-cfs-compressed' => 'cfs',
-        'application/x-chat' => 'chat',
-        'application/x-chess-pgn' => 'pgn',
-        'application/x-conference' => 'nsc',
-        'application/x-cpio' => 'cpio',
-        'application/x-csh' => 'csh',
-        'application/x-debian-package' => 'deb',
-        'application/x-dgc-compressed' => 'dgc',
-        'application/x-director' => 'dir',
-        'application/x-doom' => 'wad',
-        'application/x-dtbncx+xml' => 'ncx',
-        'application/x-dtbook+xml' => 'dtb',
-        'application/x-dtbresource+xml' => 'res',
-        'application/x-dvi' => 'dvi',
-        'application/x-envoy' => 'evy',
-        'application/x-eva' => 'eva',
-        'application/x-font-bdf' => 'bdf',
-        'application/x-font-ghostscript' => 'gsf',
-        'application/x-font-linux-psf' => 'psf',
-        'application/x-font-otf' => 'otf',
-        'application/x-font-pcf' => 'pcf',
-        'application/x-font-snf' => 'snf',
-        'application/x-font-ttf' => 'ttf',
-        'application/x-font-type1' => 'pfa',
-        'application/x-font-woff' => 'woff',
-        'application/x-freearc' => 'arc',
-        'application/x-futuresplash' => 'spl',
-        'application/x-gca-compressed' => 'gca',
-        'application/x-glulx' => 'ulx',
-        'application/x-gnumeric' => 'gnumeric',
-        'application/x-gramps-xml' => 'gramps',
-        'application/x-gtar' => 'gtar',
-        'application/x-hdf' => 'hdf',
-        'application/x-install-instructions' => 'install',
-        'application/x-iso9660-image' => 'iso',
-        'application/x-java-jnlp-file' => 'jnlp',
-        'application/x-latex' => 'latex',
-        'application/x-lzh-compressed' => 'lzh',
-        'application/x-mie' => 'mie',
-        'application/x-mobipocket-ebook' => 'prc',
-        'application/x-ms-application' => 'application',
-        'application/x-ms-shortcut' => 'lnk',
-        'application/x-ms-wmd' => 'wmd',
-        'application/x-ms-wmz' => 'wmz',
-        'application/x-ms-xbap' => 'xbap',
-        'application/x-msaccess' => 'mdb',
-        'application/x-msbinder' => 'obd',
-        'application/x-mscardfile' => 'crd',
-        'application/x-msclip' => 'clp',
-        'application/x-msdownload' => 'exe',
-        'application/x-msmediaview' => 'mvb',
-        'application/x-msmetafile' => 'wmf',
-        'application/x-msmoney' => 'mny',
-        'application/x-mspublisher' => 'pub',
-        'application/x-msschedule' => 'scd',
-        'application/x-msterminal' => 'trm',
-        'application/x-mswrite' => 'wri',
-        'application/x-netcdf' => 'nc',
-        'application/x-nzb' => 'nzb',
-        'application/x-pkcs12' => 'p12',
-        'application/x-pkcs7-certificates' => 'p7b',
-        'application/x-pkcs7-certreqresp' => 'p7r',
-        'application/x-rar-compressed' => 'rar',
-        'application/x-rar' => 'rar',
-        'application/x-research-info-systems' => 'ris',
-        'application/x-sh' => 'sh',
-        'application/x-shar' => 'shar',
-        'application/x-shockwave-flash' => 'swf',
-        'application/x-silverlight-app' => 'xap',
-        'application/x-sql' => 'sql',
-        'application/x-stuffit' => 'sit',
-        'application/x-stuffitx' => 'sitx',
-        'application/x-subrip' => 'srt',
-        'application/x-sv4cpio' => 'sv4cpio',
-        'application/x-sv4crc' => 'sv4crc',
-        'application/x-t3vm-image' => 't3',
-        'application/x-tads' => 'gam',
-        'application/x-tar' => 'tar',
-        'application/x-tcl' => 'tcl',
-        'application/x-tex' => 'tex',
-        'application/x-tex-tfm' => 'tfm',
-        'application/x-texinfo' => 'texinfo',
-        'application/x-tgif' => 'obj',
-        'application/x-ustar' => 'ustar',
-        'application/x-wais-source' => 'src',
-        'application/x-x509-ca-cert' => 'der',
-        'application/x-xfig' => 'fig',
-        'application/x-xliff+xml' => 'xlf',
-        'application/x-xpinstall' => 'xpi',
-        'application/x-xz' => 'xz',
-        'application/x-zmachine' => 'z1',
-        'application/xaml+xml' => 'xaml',
-        'application/xcap-diff+xml' => 'xdf',
-        'application/xenc+xml' => 'xenc',
-        'application/xhtml+xml' => 'xhtml',
-        'application/xml' => 'xml',
-        'application/xml-dtd' => 'dtd',
-        'application/xop+xml' => 'xop',
-        'application/xproc+xml' => 'xpl',
-        'application/xslt+xml' => 'xslt',
-        'application/xspf+xml' => 'xspf',
-        'application/xv+xml' => 'mxml',
-        'application/yang' => 'yang',
-        'application/yin+xml' => 'yin',
-        'application/zip' => 'zip',
-        'audio/adpcm' => 'adp',
-        'audio/basic' => 'au',
-        'audio/midi' => 'mid',
-        'audio/mp4' => 'mp4a',
-        'audio/mpeg' => 'mpga',
-        'audio/ogg' => 'oga',
-        'audio/s3m' => 's3m',
-        'audio/silk' => 'sil',
-        'audio/vnd.dece.audio' => 'uva',
-        'audio/vnd.digital-winds' => 'eol',
-        'audio/vnd.dra' => 'dra',
-        'audio/vnd.dts' => 'dts',
-        'audio/vnd.dts.hd' => 'dtshd',
-        'audio/vnd.lucent.voice' => 'lvp',
-        'audio/vnd.ms-playready.media.pya' => 'pya',
-        'audio/vnd.nuera.ecelp4800' => 'ecelp4800',
-        'audio/vnd.nuera.ecelp7470' => 'ecelp7470',
-        'audio/vnd.nuera.ecelp9600' => 'ecelp9600',
-        'audio/vnd.rip' => 'rip',
-        'audio/webm' => 'weba',
-        'audio/x-aac' => 'aac',
-        'audio/x-aiff' => 'aif',
-        'audio/x-caf' => 'caf',
-        'audio/x-flac' => 'flac',
-        'audio/x-matroska' => 'mka',
-        'audio/x-mpegurl' => 'm3u',
-        'audio/x-ms-wax' => 'wax',
-        'audio/x-ms-wma' => 'wma',
-        'audio/x-pn-realaudio' => 'ram',
-        'audio/x-pn-realaudio-plugin' => 'rmp',
-        'audio/x-wav' => 'wav',
-        'audio/xm' => 'xm',
-        'chemical/x-cdx' => 'cdx',
-        'chemical/x-cif' => 'cif',
-        'chemical/x-cmdf' => 'cmdf',
-        'chemical/x-cml' => 'cml',
-        'chemical/x-csml' => 'csml',
-        'chemical/x-xyz' => 'xyz',
-        'image/bmp' => 'bmp',
-        'image/x-ms-bmp' => 'bmp',
-        'image/cgm' => 'cgm',
-        'image/g3fax' => 'g3',
-        'image/gif' => 'gif',
-        'image/ief' => 'ief',
-        'image/jpeg' => 'jpeg',
-        'image/ktx' => 'ktx',
-        'image/png' => 'png',
-        'image/prs.btif' => 'btif',
-        'image/sgi' => 'sgi',
-        'image/svg+xml' => 'svg',
-        'image/tiff' => 'tiff',
-        'image/vnd.adobe.photoshop' => 'psd',
-        'image/vnd.dece.graphic' => 'uvi',
-        'image/vnd.dvb.subtitle' => 'sub',
-        'image/vnd.djvu' => 'djvu',
-        'image/vnd.dwg' => 'dwg',
-        'image/vnd.dxf' => 'dxf',
-        'image/vnd.fastbidsheet' => 'fbs',
-        'image/vnd.fpx' => 'fpx',
-        'image/vnd.fst' => 'fst',
-        'image/vnd.fujixerox.edmics-mmr' => 'mmr',
-        'image/vnd.fujixerox.edmics-rlc' => 'rlc',
-        'image/vnd.ms-modi' => 'mdi',
-        'image/vnd.ms-photo' => 'wdp',
-        'image/vnd.net-fpx' => 'npx',
-        'image/vnd.wap.wbmp' => 'wbmp',
-        'image/vnd.xiff' => 'xif',
-        'image/webp' => 'webp',
-        'image/x-3ds' => '3ds',
-        'image/x-cmu-raster' => 'ras',
-        'image/x-cmx' => 'cmx',
-        'image/x-freehand' => 'fh',
-        'image/x-icon' => 'ico',
-        'image/x-mrsid-image' => 'sid',
-        'image/x-pcx' => 'pcx',
-        'image/x-pict' => 'pic',
-        'image/x-portable-anymap' => 'pnm',
-        'image/x-portable-bitmap' => 'pbm',
-        'image/x-portable-graymap' => 'pgm',
-        'image/x-portable-pixmap' => 'ppm',
-        'image/x-rgb' => 'rgb',
-        'image/x-tga' => 'tga',
-        'image/x-xbitmap' => 'xbm',
-        'image/x-xpixmap' => 'xpm',
-        'image/x-xwindowdump' => 'xwd',
-        'message/rfc822' => 'eml',
-        'model/iges' => 'igs',
-        'model/mesh' => 'msh',
-        'model/vnd.collada+xml' => 'dae',
-        'model/vnd.dwf' => 'dwf',
-        'model/vnd.gdl' => 'gdl',
-        'model/vnd.gtw' => 'gtw',
-        'model/vnd.mts' => 'mts',
-        'model/vnd.vtu' => 'vtu',
-        'model/vrml' => 'wrl',
-        'model/x3d+binary' => 'x3db',
-        'model/x3d+vrml' => 'x3dv',
-        'model/x3d+xml' => 'x3d',
-        'text/cache-manifest' => 'appcache',
-        'text/calendar' => 'ics',
-        'text/css' => 'css',
-        'text/csv' => 'csv',
-        'text/html' => 'html',
-        'text/n3' => 'n3',
-        'text/plain' => 'txt',
-        'text/prs.lines.tag' => 'dsc',
-        'text/richtext' => 'rtx',
-        'text/rtf' => 'rtf',
-        'text/sgml' => 'sgml',
-        'text/tab-separated-values' => 'tsv',
-        'text/troff' => 't',
-        'text/turtle' => 'ttl',
-        'text/uri-list' => 'uri',
-        'text/vcard' => 'vcard',
-        'text/vnd.curl' => 'curl',
-        'text/vnd.curl.dcurl' => 'dcurl',
-        'text/vnd.curl.scurl' => 'scurl',
-        'text/vnd.curl.mcurl' => 'mcurl',
-        'text/vnd.dvb.subtitle' => 'sub',
-        'text/vnd.fly' => 'fly',
-        'text/vnd.fmi.flexstor' => 'flx',
-        'text/vnd.graphviz' => 'gv',
-        'text/vnd.in3d.3dml' => '3dml',
-        'text/vnd.in3d.spot' => 'spot',
-        'text/vnd.sun.j2me.app-descriptor' => 'jad',
-        'text/vnd.wap.wml' => 'wml',
-        'text/vnd.wap.wmlscript' => 'wmls',
-        'text/x-asm' => 's',
-        'text/x-c' => 'c',
-        'text/x-fortran' => 'f',
-        'text/x-pascal' => 'p',
-        'text/x-java-source' => 'java',
-        'text/x-opml' => 'opml',
-        'text/x-nfo' => 'nfo',
-        'text/x-setext' => 'etx',
-        'text/x-sfv' => 'sfv',
-        'text/x-uuencode' => 'uu',
-        'text/x-vcalendar' => 'vcs',
-        'text/x-vcard' => 'vcf',
-        'video/3gpp' => '3gp',
-        'video/3gpp2' => '3g2',
-        'video/h261' => 'h261',
-        'video/h263' => 'h263',
-        'video/h264' => 'h264',
-        'video/jpeg' => 'jpgv',
-        'video/jpm' => 'jpm',
-        'video/mj2' => 'mj2',
-        'video/mp4' => 'mp4',
-        'video/mpeg' => 'mpeg',
-        'video/ogg' => 'ogv',
-        'video/quicktime' => 'qt',
-        'video/vnd.dece.hd' => 'uvh',
-        'video/vnd.dece.mobile' => 'uvm',
-        'video/vnd.dece.pd' => 'uvp',
-        'video/vnd.dece.sd' => 'uvs',
-        'video/vnd.dece.video' => 'uvv',
-        'video/vnd.dvb.file' => 'dvb',
-        'video/vnd.fvt' => 'fvt',
-        'video/vnd.mpegurl' => 'mxu',
-        'video/vnd.ms-playready.media.pyv' => 'pyv',
-        'video/vnd.uvvu.mp4' => 'uvu',
-        'video/vnd.vivo' => 'viv',
-        'video/webm' => 'webm',
-        'video/x-f4v' => 'f4v',
-        'video/x-fli' => 'fli',
-        'video/x-flv' => 'flv',
-        'video/x-m4v' => 'm4v',
-        'video/x-matroska' => 'mkv',
-        'video/x-mng' => 'mng',
-        'video/x-ms-asf' => 'asf',
-        'video/x-ms-vob' => 'vob',
-        'video/x-ms-wm' => 'wm',
-        'video/x-ms-wmv' => 'wmv',
-        'video/x-ms-wmx' => 'wmx',
-        'video/x-ms-wvx' => 'wvx',
-        'video/x-msvideo' => 'avi',
-        'video/x-sgi-movie' => 'movie',
-        'video/x-smv' => 'smv',
-        'x-conference/x-cooltalk' => 'ice',
-    );
-
-    /**
-     * {@inheritdoc}
-     */
-    public function guess($mimeType)
-    {
-        return isset($this->defaultExtensions[$mimeType]) ? $this->defaultExtensions[$mimeType] : null;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php
deleted file mode 100644
index 81b2b02..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\MimeType;
-
-use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
-use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException;
-
-/**
- * A singleton mime type guesser.
- *
- * By default, all mime type guessers provided by the framework are installed
- * (if available on the current OS/PHP setup).
- *
- * You can register custom guessers by calling the register() method on the
- * singleton instance. Custom guessers are always called before any default ones.
- *
- *     $guesser = MimeTypeGuesser::getInstance();
- *     $guesser->register(new MyCustomMimeTypeGuesser());
- *
- * If you want to change the order of the default guessers, just re-register your
- * preferred one as a custom one. The last registered guesser is preferred over
- * previously registered ones.
- *
- * Re-registering a built-in guesser also allows you to configure it:
- *
- *     $guesser = MimeTypeGuesser::getInstance();
- *     $guesser->register(new FileinfoMimeTypeGuesser('/path/to/magic/file'));
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class MimeTypeGuesser implements MimeTypeGuesserInterface
-{
-    /**
-     * The singleton instance.
-     *
-     * @var MimeTypeGuesser
-     */
-    private static $instance = null;
-
-    /**
-     * All registered MimeTypeGuesserInterface instances.
-     *
-     * @var array
-     */
-    protected $guessers = array();
-
-    /**
-     * Returns the singleton instance.
-     *
-     * @return MimeTypeGuesser
-     */
-    public static function getInstance()
-    {
-        if (null === self::$instance) {
-            self::$instance = new self();
-        }
-
-        return self::$instance;
-    }
-
-    /**
-     * Registers all natively provided mime type guessers.
-     */
-    private function __construct()
-    {
-        if (FileBinaryMimeTypeGuesser::isSupported()) {
-            $this->register(new FileBinaryMimeTypeGuesser());
-        }
-
-        if (FileinfoMimeTypeGuesser::isSupported()) {
-            $this->register(new FileinfoMimeTypeGuesser());
-        }
-    }
-
-    /**
-     * Registers a new mime type guesser.
-     *
-     * When guessing, this guesser is preferred over previously registered ones.
-     *
-     * @param MimeTypeGuesserInterface $guesser
-     */
-    public function register(MimeTypeGuesserInterface $guesser)
-    {
-        array_unshift($this->guessers, $guesser);
-    }
-
-    /**
-     * Tries to guess the mime type of the given file.
-     *
-     * The file is passed to each registered mime type guesser in reverse order
-     * of their registration (last registered is queried first). Once a guesser
-     * returns a value that is not NULL, this method terminates and returns the
-     * value.
-     *
-     * @param string $path The path to the file
-     *
-     * @return string The mime type or NULL, if none could be guessed
-     *
-     * @throws \LogicException
-     * @throws FileNotFoundException
-     * @throws AccessDeniedException
-     */
-    public function guess($path)
-    {
-        if (!is_file($path)) {
-            throw new FileNotFoundException($path);
-        }
-
-        if (!is_readable($path)) {
-            throw new AccessDeniedException($path);
-        }
-
-        if (!$this->guessers) {
-            $msg = 'Unable to guess the mime type as no guessers are available';
-            if (!FileinfoMimeTypeGuesser::isSupported()) {
-                $msg .= ' (Did you enable the php_fileinfo extension?)';
-            }
-            throw new \LogicException($msg);
-        }
-
-        foreach ($this->guessers as $guesser) {
-            if (null !== $mimeType = $guesser->guess($path)) {
-                return $mimeType;
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesserInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesserInterface.php
deleted file mode 100644
index f8c3ad2..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesserInterface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File\MimeType;
-
-use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
-use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException;
-
-/**
- * Guesses the mime type of a file.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface MimeTypeGuesserInterface
-{
-    /**
-     * Guesses the mime type of the file with the given path.
-     *
-     * @param string $path The path to the file
-     *
-     * @return string The mime type or NULL, if none could be guessed
-     *
-     * @throws FileNotFoundException If the file does not exist
-     * @throws AccessDeniedException If the file could not be read
-     */
-    public function guess($path);
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/UploadedFile.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/UploadedFile.php
deleted file mode 100644
index 0f3f802..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/UploadedFile.php
+++ /dev/null
@@ -1,309 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\File;
-
-use Symfony\Component\HttpFoundation\File\Exception\FileException;
-use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
-use Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser;
-
-/**
- * A file uploaded through a form.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @author Florian Eckerstorfer <florian@eckerstorfer.org>
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class UploadedFile extends File
-{
-    /**
-     * Whether the test mode is activated.
-     *
-     * Local files are used in test mode hence the code should not enforce HTTP uploads.
-     *
-     * @var bool
-     */
-    private $test = false;
-
-    /**
-     * The original name of the uploaded file.
-     *
-     * @var string
-     */
-    private $originalName;
-
-    /**
-     * The mime type provided by the uploader.
-     *
-     * @var string
-     */
-    private $mimeType;
-
-    /**
-     * The file size provided by the uploader.
-     *
-     * @var string
-     */
-    private $size;
-
-    /**
-     * The UPLOAD_ERR_XXX constant provided by the uploader.
-     *
-     * @var int
-     */
-    private $error;
-
-    /**
-     * Accepts the information of the uploaded file as provided by the PHP global $_FILES.
-     *
-     * The file object is only created when the uploaded file is valid (i.e. when the
-     * isValid() method returns true). Otherwise the only methods that could be called
-     * on an UploadedFile instance are:
-     *
-     *   * getClientOriginalName,
-     *   * getClientMimeType,
-     *   * isValid,
-     *   * getError.
-     *
-     * Calling any other method on an non-valid instance will cause an unpredictable result.
-     *
-     * @param string $path         The full temporary path to the file
-     * @param string $originalName The original file name
-     * @param string $mimeType     The type of the file as provided by PHP
-     * @param int    $size         The file size
-     * @param int    $error        The error constant of the upload (one of PHP's UPLOAD_ERR_XXX constants)
-     * @param bool   $test         Whether the test mode is active
-     *
-     * @throws FileException         If file_uploads is disabled
-     * @throws FileNotFoundException If the file does not exist
-     *
-     * @api
-     */
-    public function __construct($path, $originalName, $mimeType = null, $size = null, $error = null, $test = false)
-    {
-        $this->originalName = $this->getName($originalName);
-        $this->mimeType = $mimeType ?: 'application/octet-stream';
-        $this->size = $size;
-        $this->error = $error ?: UPLOAD_ERR_OK;
-        $this->test = (bool) $test;
-
-        parent::__construct($path, UPLOAD_ERR_OK === $this->error);
-    }
-
-    /**
-     * Returns the original file name.
-     *
-     * It is extracted from the request from which the file has been uploaded.
-     * Then it should not be considered as a safe value.
-     *
-     * @return string|null The original name
-     *
-     * @api
-     */
-    public function getClientOriginalName()
-    {
-        return $this->originalName;
-    }
-
-    /**
-     * Returns the original file extension.
-     *
-     * It is extracted from the original file name that was uploaded.
-     * Then it should not be considered as a safe value.
-     *
-     * @return string The extension
-     */
-    public function getClientOriginalExtension()
-    {
-        return pathinfo($this->originalName, PATHINFO_EXTENSION);
-    }
-
-    /**
-     * Returns the file mime type.
-     *
-     * The client mime type is extracted from the request from which the file
-     * was uploaded, so it should not be considered as a safe value.
-     *
-     * For a trusted mime type, use getMimeType() instead (which guesses the mime
-     * type based on the file content).
-     *
-     * @return string|null The mime type
-     *
-     * @see getMimeType()
-     *
-     * @api
-     */
-    public function getClientMimeType()
-    {
-        return $this->mimeType;
-    }
-
-    /**
-     * Returns the extension based on the client mime type.
-     *
-     * If the mime type is unknown, returns null.
-     *
-     * This method uses the mime type as guessed by getClientMimeType()
-     * to guess the file extension. As such, the extension returned
-     * by this method cannot be trusted.
-     *
-     * For a trusted extension, use guessExtension() instead (which guesses
-     * the extension based on the guessed mime type for the file).
-     *
-     * @return string|null The guessed extension or null if it cannot be guessed
-     *
-     * @see guessExtension()
-     * @see getClientMimeType()
-     */
-    public function guessClientExtension()
-    {
-        $type = $this->getClientMimeType();
-        $guesser = ExtensionGuesser::getInstance();
-
-        return $guesser->guess($type);
-    }
-
-    /**
-     * Returns the file size.
-     *
-     * It is extracted from the request from which the file has been uploaded.
-     * Then it should not be considered as a safe value.
-     *
-     * @return int|null The file size
-     *
-     * @api
-     */
-    public function getClientSize()
-    {
-        return $this->size;
-    }
-
-    /**
-     * Returns the upload error.
-     *
-     * If the upload was successful, the constant UPLOAD_ERR_OK is returned.
-     * Otherwise one of the other UPLOAD_ERR_XXX constants is returned.
-     *
-     * @return int The upload error
-     *
-     * @api
-     */
-    public function getError()
-    {
-        return $this->error;
-    }
-
-    /**
-     * Returns whether the file was uploaded successfully.
-     *
-     * @return bool True if the file has been uploaded with HTTP and no error occurred.
-     *
-     * @api
-     */
-    public function isValid()
-    {
-        $isOk = $this->error === UPLOAD_ERR_OK;
-
-        return $this->test ? $isOk : $isOk && is_uploaded_file($this->getPathname());
-    }
-
-    /**
-     * Moves the file to a new location.
-     *
-     * @param string $directory The destination folder
-     * @param string $name      The new file name
-     *
-     * @return File A File object representing the new file
-     *
-     * @throws FileException if, for any reason, the file could not have been moved
-     *
-     * @api
-     */
-    public function move($directory, $name = null)
-    {
-        if ($this->isValid()) {
-            if ($this->test) {
-                return parent::move($directory, $name);
-            }
-
-            $target = $this->getTargetFile($directory, $name);
-
-            if (!@move_uploaded_file($this->getPathname(), $target)) {
-                $error = error_get_last();
-                throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this->getPathname(), $target, strip_tags($error['message'])));
-            }
-
-            @chmod($target, 0666 & ~umask());
-
-            return $target;
-        }
-
-        throw new FileException($this->getErrorMessage());
-    }
-
-    /**
-     * Returns the maximum size of an uploaded file as configured in php.ini.
-     *
-     * @return int The maximum size of an uploaded file in bytes
-     */
-    public static function getMaxFilesize()
-    {
-        $iniMax = strtolower(ini_get('upload_max_filesize'));
-
-        if ('' === $iniMax) {
-            return PHP_INT_MAX;
-        }
-
-        $max = ltrim($iniMax, '+');
-        if (0 === strpos($max, '0x')) {
-            $max = intval($max, 16);
-        } elseif (0 === strpos($max, '0')) {
-            $max = intval($max, 8);
-        } else {
-            $max = (int) $max;
-        }
-
-        switch (substr($iniMax, -1)) {
-            case 't': $max *= 1024;
-            case 'g': $max *= 1024;
-            case 'm': $max *= 1024;
-            case 'k': $max *= 1024;
-        }
-
-        return $max;
-    }
-
-    /**
-     * Returns an informative upload error message.
-     *
-     * @return string The error message regarding the specified error code
-     */
-    public function getErrorMessage()
-    {
-        static $errors = array(
-            UPLOAD_ERR_INI_SIZE => 'The file "%s" exceeds your upload_max_filesize ini directive (limit is %d KiB).',
-            UPLOAD_ERR_FORM_SIZE => 'The file "%s" exceeds the upload limit defined in your form.',
-            UPLOAD_ERR_PARTIAL => 'The file "%s" was only partially uploaded.',
-            UPLOAD_ERR_NO_FILE => 'No file was uploaded.',
-            UPLOAD_ERR_CANT_WRITE => 'The file "%s" could not be written on disk.',
-            UPLOAD_ERR_NO_TMP_DIR => 'File could not be uploaded: missing temporary directory.',
-            UPLOAD_ERR_EXTENSION => 'File upload was stopped by a PHP extension.',
-        );
-
-        $errorCode = $this->error;
-        $maxFilesize = $errorCode === UPLOAD_ERR_INI_SIZE ? self::getMaxFilesize() / 1024 : 0;
-        $message = isset($errors[$errorCode]) ? $errors[$errorCode] : 'The file "%s" was not uploaded due to an unknown error.';
-
-        return sprintf($message, $this->getClientOriginalName(), $maxFilesize);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php
deleted file mode 100644
index 43b8af3..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-
-/**
- * FileBag is a container for uploaded files.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- *
- * @api
- */
-class FileBag extends ParameterBag
-{
-    private static $fileKeys = array('error', 'name', 'size', 'tmp_name', 'type');
-
-    /**
-     * Constructor.
-     *
-     * @param array $parameters An array of HTTP files
-     *
-     * @api
-     */
-    public function __construct(array $parameters = array())
-    {
-        $this->replace($parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function replace(array $files = array())
-    {
-        $this->parameters = array();
-        $this->add($files);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function set($key, $value)
-    {
-        if (!is_array($value) && !$value instanceof UploadedFile) {
-            throw new \InvalidArgumentException('An uploaded file must be an array or an instance of UploadedFile.');
-        }
-
-        parent::set($key, $this->convertFileInformation($value));
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function add(array $files = array())
-    {
-        foreach ($files as $key => $file) {
-            $this->set($key, $file);
-        }
-    }
-
-    /**
-     * Converts uploaded files to UploadedFile instances.
-     *
-     * @param array|UploadedFile $file A (multi-dimensional) array of uploaded file information
-     *
-     * @return array A (multi-dimensional) array of UploadedFile instances
-     */
-    protected function convertFileInformation($file)
-    {
-        if ($file instanceof UploadedFile) {
-            return $file;
-        }
-
-        $file = $this->fixPhpFilesArray($file);
-        if (is_array($file)) {
-            $keys = array_keys($file);
-            sort($keys);
-
-            if ($keys == self::$fileKeys) {
-                if (UPLOAD_ERR_NO_FILE == $file['error']) {
-                    $file = null;
-                } else {
-                    $file = new UploadedFile($file['tmp_name'], $file['name'], $file['type'], $file['size'], $file['error']);
-                }
-            } else {
-                $file = array_map(array($this, 'convertFileInformation'), $file);
-            }
-        }
-
-        return $file;
-    }
-
-    /**
-     * Fixes a malformed PHP $_FILES array.
-     *
-     * PHP has a bug that the format of the $_FILES array differs, depending on
-     * whether the uploaded file fields had normal field names or array-like
-     * field names ("normal" vs. "parent[child]").
-     *
-     * This method fixes the array to look like the "normal" $_FILES array.
-     *
-     * It's safe to pass an already converted array, in which case this method
-     * just returns the original array unmodified.
-     *
-     * @param array $data
-     *
-     * @return array
-     */
-    protected function fixPhpFilesArray($data)
-    {
-        if (!is_array($data)) {
-            return $data;
-        }
-
-        $keys = array_keys($data);
-        sort($keys);
-
-        if (self::$fileKeys != $keys || !isset($data['name']) || !is_array($data['name'])) {
-            return $data;
-        }
-
-        $files = $data;
-        foreach (self::$fileKeys as $k) {
-            unset($files[$k]);
-        }
-
-        foreach ($data['name'] as $key => $name) {
-            $files[$key] = $this->fixPhpFilesArray(array(
-                'error' => $data['error'][$key],
-                'name' => $name,
-                'type' => $data['type'][$key],
-                'tmp_name' => $data['tmp_name'][$key],
-                'size' => $data['size'][$key],
-            ));
-        }
-
-        return $files;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php
deleted file mode 100644
index d3adffa..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php
+++ /dev/null
@@ -1,348 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * HeaderBag is a container for HTTP headers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class HeaderBag implements \IteratorAggregate, \Countable
-{
-    protected $headers = array();
-    protected $cacheControl = array();
-
-    /**
-     * Constructor.
-     *
-     * @param array $headers An array of HTTP headers
-     *
-     * @api
-     */
-    public function __construct(array $headers = array())
-    {
-        foreach ($headers as $key => $values) {
-            $this->set($key, $values);
-        }
-    }
-
-    /**
-     * Returns the headers as a string.
-     *
-     * @return string The headers
-     */
-    public function __toString()
-    {
-        if (!$this->headers) {
-            return '';
-        }
-
-        $max = max(array_map('strlen', array_keys($this->headers))) + 1;
-        $content = '';
-        ksort($this->headers);
-        foreach ($this->headers as $name => $values) {
-            $name = implode('-', array_map('ucfirst', explode('-', $name)));
-            foreach ($values as $value) {
-                $content .= sprintf("%-{$max}s %s\r\n", $name.':', $value);
-            }
-        }
-
-        return $content;
-    }
-
-    /**
-     * Returns the headers.
-     *
-     * @return array An array of headers
-     *
-     * @api
-     */
-    public function all()
-    {
-        return $this->headers;
-    }
-
-    /**
-     * Returns the parameter keys.
-     *
-     * @return array An array of parameter keys
-     *
-     * @api
-     */
-    public function keys()
-    {
-        return array_keys($this->headers);
-    }
-
-    /**
-     * Replaces the current HTTP headers by a new set.
-     *
-     * @param array $headers An array of HTTP headers
-     *
-     * @api
-     */
-    public function replace(array $headers = array())
-    {
-        $this->headers = array();
-        $this->add($headers);
-    }
-
-    /**
-     * Adds new headers the current HTTP headers set.
-     *
-     * @param array $headers An array of HTTP headers
-     *
-     * @api
-     */
-    public function add(array $headers)
-    {
-        foreach ($headers as $key => $values) {
-            $this->set($key, $values);
-        }
-    }
-
-    /**
-     * Returns a header value by name.
-     *
-     * @param string $key     The header name
-     * @param mixed  $default The default value
-     * @param bool   $first   Whether to return the first value or all header values
-     *
-     * @return string|array The first header value if $first is true, an array of values otherwise
-     *
-     * @api
-     */
-    public function get($key, $default = null, $first = true)
-    {
-        $key = strtr(strtolower($key), '_', '-');
-
-        if (!array_key_exists($key, $this->headers)) {
-            if (null === $default) {
-                return $first ? null : array();
-            }
-
-            return $first ? $default : array($default);
-        }
-
-        if ($first) {
-            return count($this->headers[$key]) ? $this->headers[$key][0] : $default;
-        }
-
-        return $this->headers[$key];
-    }
-
-    /**
-     * Sets a header by name.
-     *
-     * @param string       $key     The key
-     * @param string|array $values  The value or an array of values
-     * @param bool         $replace Whether to replace the actual value or not (true by default)
-     *
-     * @api
-     */
-    public function set($key, $values, $replace = true)
-    {
-        $key = strtr(strtolower($key), '_', '-');
-
-        $values = array_values((array) $values);
-
-        if (true === $replace || !isset($this->headers[$key])) {
-            $this->headers[$key] = $values;
-        } else {
-            $this->headers[$key] = array_merge($this->headers[$key], $values);
-        }
-
-        if ('cache-control' === $key) {
-            $this->cacheControl = $this->parseCacheControl($values[0]);
-        }
-    }
-
-    /**
-     * Returns true if the HTTP header is defined.
-     *
-     * @param string $key The HTTP header
-     *
-     * @return bool true if the parameter exists, false otherwise
-     *
-     * @api
-     */
-    public function has($key)
-    {
-        return array_key_exists(strtr(strtolower($key), '_', '-'), $this->headers);
-    }
-
-    /**
-     * Returns true if the given HTTP header contains the given value.
-     *
-     * @param string $key   The HTTP header name
-     * @param string $value The HTTP value
-     *
-     * @return bool true if the value is contained in the header, false otherwise
-     *
-     * @api
-     */
-    public function contains($key, $value)
-    {
-        return in_array($value, $this->get($key, null, false));
-    }
-
-    /**
-     * Removes a header.
-     *
-     * @param string $key The HTTP header name
-     *
-     * @api
-     */
-    public function remove($key)
-    {
-        $key = strtr(strtolower($key), '_', '-');
-
-        unset($this->headers[$key]);
-
-        if ('cache-control' === $key) {
-            $this->cacheControl = array();
-        }
-    }
-
-    /**
-     * Returns the HTTP header value converted to a date.
-     *
-     * @param string    $key     The parameter key
-     * @param \DateTime $default The default value
-     *
-     * @return null|\DateTime The parsed DateTime or the default value if the header does not exist
-     *
-     * @throws \RuntimeException When the HTTP header is not parseable
-     *
-     * @api
-     */
-    public function getDate($key, \DateTime $default = null)
-    {
-        if (null === $value = $this->get($key)) {
-            return $default;
-        }
-
-        if (false === $date = \DateTime::createFromFormat(DATE_RFC2822, $value)) {
-            throw new \RuntimeException(sprintf('The %s HTTP header is not parseable (%s).', $key, $value));
-        }
-
-        return $date;
-    }
-
-    /**
-     * Adds a custom Cache-Control directive.
-     *
-     * @param string $key   The Cache-Control directive name
-     * @param mixed  $value The Cache-Control directive value
-     */
-    public function addCacheControlDirective($key, $value = true)
-    {
-        $this->cacheControl[$key] = $value;
-
-        $this->set('Cache-Control', $this->getCacheControlHeader());
-    }
-
-    /**
-     * Returns true if the Cache-Control directive is defined.
-     *
-     * @param string $key The Cache-Control directive
-     *
-     * @return bool true if the directive exists, false otherwise
-     */
-    public function hasCacheControlDirective($key)
-    {
-        return array_key_exists($key, $this->cacheControl);
-    }
-
-    /**
-     * Returns a Cache-Control directive value by name.
-     *
-     * @param string $key The directive name
-     *
-     * @return mixed|null The directive value if defined, null otherwise
-     */
-    public function getCacheControlDirective($key)
-    {
-        return array_key_exists($key, $this->cacheControl) ? $this->cacheControl[$key] : null;
-    }
-
-    /**
-     * Removes a Cache-Control directive.
-     *
-     * @param string $key The Cache-Control directive
-     */
-    public function removeCacheControlDirective($key)
-    {
-        unset($this->cacheControl[$key]);
-
-        $this->set('Cache-Control', $this->getCacheControlHeader());
-    }
-
-    /**
-     * Returns an iterator for headers.
-     *
-     * @return \ArrayIterator An \ArrayIterator instance
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->headers);
-    }
-
-    /**
-     * Returns the number of headers.
-     *
-     * @return int The number of headers
-     */
-    public function count()
-    {
-        return count($this->headers);
-    }
-
-    protected function getCacheControlHeader()
-    {
-        $parts = array();
-        ksort($this->cacheControl);
-        foreach ($this->cacheControl as $key => $value) {
-            if (true === $value) {
-                $parts[] = $key;
-            } else {
-                if (preg_match('#[^a-zA-Z0-9._-]#', $value)) {
-                    $value = '"'.$value.'"';
-                }
-
-                $parts[] = "$key=$value";
-            }
-        }
-
-        return implode(', ', $parts);
-    }
-
-    /**
-     * Parses a Cache-Control HTTP header.
-     *
-     * @param string $header The value of the Cache-Control HTTP header
-     *
-     * @return array An array representing the attribute values
-     */
-    protected function parseCacheControl($header)
-    {
-        $cacheControl = array();
-        preg_match_all('#([a-zA-Z][a-zA-Z_-]*)\s*(?:=(?:"([^"]*)"|([^ \t",;]*)))?#', $header, $matches, PREG_SET_ORDER);
-        foreach ($matches as $match) {
-            $cacheControl[strtolower($match[1])] = isset($match[3]) ? $match[3] : (isset($match[2]) ? $match[2] : true);
-        }
-
-        return $cacheControl;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/IpUtils.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/IpUtils.php
deleted file mode 100644
index ea68e2e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/IpUtils.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Http utility functions.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class IpUtils
-{
-    /**
-     * This class should not be instantiated.
-     */
-    private function __construct()
-    {
-    }
-
-    /**
-     * Checks if an IPv4 or IPv6 address is contained in the list of given IPs or subnets.
-     *
-     * @param string       $requestIp IP to check
-     * @param string|array $ips       List of IPs or subnets (can be a string if only a single one)
-     *
-     * @return bool Whether the IP is valid
-     */
-    public static function checkIp($requestIp, $ips)
-    {
-        if (!is_array($ips)) {
-            $ips = array($ips);
-        }
-
-        $method = substr_count($requestIp, ':') > 1 ? 'checkIp6' : 'checkIp4';
-
-        foreach ($ips as $ip) {
-            if (self::$method($requestIp, $ip)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Compares two IPv4 addresses.
-     * In case a subnet is given, it checks if it contains the request IP.
-     *
-     * @param string $requestIp IPv4 address to check
-     * @param string $ip        IPv4 address or subnet in CIDR notation
-     *
-     * @return bool Whether the IP is valid
-     */
-    public static function checkIp4($requestIp, $ip)
-    {
-        if (false !== strpos($ip, '/')) {
-            list($address, $netmask) = explode('/', $ip, 2);
-
-            if ($netmask < 1 || $netmask > 32) {
-                return false;
-            }
-        } else {
-            $address = $ip;
-            $netmask = 32;
-        }
-
-        return 0 === substr_compare(sprintf('%032b', ip2long($requestIp)), sprintf('%032b', ip2long($address)), 0, $netmask);
-    }
-
-    /**
-     * Compares two IPv6 addresses.
-     * In case a subnet is given, it checks if it contains the request IP.
-     *
-     * @author David Soria Parra <dsp at php dot net>
-     *
-     * @see https://github.com/dsp/v6tools
-     *
-     * @param string $requestIp IPv6 address to check
-     * @param string $ip        IPv6 address or subnet in CIDR notation
-     *
-     * @return bool Whether the IP is valid
-     *
-     * @throws \RuntimeException When IPV6 support is not enabled
-     */
-    public static function checkIp6($requestIp, $ip)
-    {
-        if (!((extension_loaded('sockets') && defined('AF_INET6')) || @inet_pton('::1'))) {
-            throw new \RuntimeException('Unable to check Ipv6. Check that PHP was not compiled with option "disable-ipv6".');
-        }
-
-        if (false !== strpos($ip, '/')) {
-            list($address, $netmask) = explode('/', $ip, 2);
-
-            if ($netmask < 1 || $netmask > 128) {
-                return false;
-            }
-        } else {
-            $address = $ip;
-            $netmask = 128;
-        }
-
-        $bytesAddr = unpack('n*', inet_pton($address));
-        $bytesTest = unpack('n*', inet_pton($requestIp));
-
-        for ($i = 1, $ceil = ceil($netmask / 16); $i <= $ceil; $i++) {
-            $left = $netmask - 16 * ($i - 1);
-            $left = ($left <= 16) ? $left : 16;
-            $mask = ~(0xffff >> $left) & 0xffff;
-            if (($bytesAddr[$i] & $mask) != ($bytesTest[$i] & $mask)) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php
deleted file mode 100644
index fa80c68..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php
+++ /dev/null
@@ -1,202 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Response represents an HTTP response in JSON format.
- *
- * Note that this class does not force the returned JSON content to be an
- * object. It is however recommended that you do return an object as it
- * protects yourself against XSSI and JSON-JavaScript Hijacking.
- *
- * @see https://www.owasp.org/index.php/OWASP_AJAX_Security_Guidelines#Always_return_JSON_with_an_Object_on_the_outside
- *
- * @author Igor Wiedler <igor@wiedler.ch>
- */
-class JsonResponse extends Response
-{
-    protected $data;
-    protected $callback;
-    protected $encodingOptions;
-
-    /**
-     * Constructor.
-     *
-     * @param mixed $data    The response data
-     * @param int   $status  The response status code
-     * @param array $headers An array of response headers
-     */
-    public function __construct($data = null, $status = 200, $headers = array())
-    {
-        parent::__construct('', $status, $headers);
-
-        if (null === $data) {
-            $data = new \ArrayObject();
-        }
-
-        // Encode <, >, ', &, and " for RFC4627-compliant JSON, which may also be embedded into HTML.
-        $this->encodingOptions = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT;
-
-        $this->setData($data);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create($data = null, $status = 200, $headers = array())
-    {
-        return new static($data, $status, $headers);
-    }
-
-    /**
-     * Sets the JSONP callback.
-     *
-     * @param string|null $callback The JSONP callback or null to use none
-     *
-     * @return JsonResponse
-     *
-     * @throws \InvalidArgumentException When the callback name is not valid
-     */
-    public function setCallback($callback = null)
-    {
-        if (null !== $callback) {
-            // taken from http://www.geekality.net/2011/08/03/valid-javascript-identifier/
-            $pattern = '/^[$_\p{L}][$_\p{L}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{200C}\x{200D}]*+$/u';
-            $parts = explode('.', $callback);
-            foreach ($parts as $part) {
-                if (!preg_match($pattern, $part)) {
-                    throw new \InvalidArgumentException('The callback name is not valid.');
-                }
-            }
-        }
-
-        $this->callback = $callback;
-
-        return $this->update();
-    }
-
-    /**
-     * Sets the data to be sent as JSON.
-     *
-     * @param mixed $data
-     *
-     * @return JsonResponse
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function setData($data = array())
-    {
-        $errorHandler = null;
-        $errorHandler = set_error_handler(function () use (&$errorHandler) {
-            if (JSON_ERROR_NONE !== json_last_error()) {
-                return;
-            }
-
-            if ($errorHandler) {
-                call_user_func_array($errorHandler, func_get_args());
-            }
-        });
-
-        try {
-            // Clear json_last_error()
-            json_encode(null);
-
-            $this->data = json_encode($data, $this->encodingOptions);
-
-            restore_error_handler();
-        } catch (\Exception $exception) {
-            restore_error_handler();
-
-            throw $exception;
-        }
-
-        if (JSON_ERROR_NONE !== json_last_error()) {
-            throw new \InvalidArgumentException($this->transformJsonError());
-        }
-
-        return $this->update();
-    }
-
-    /**
-     * Returns options used while encoding data to JSON.
-     *
-     * @return int
-     */
-    public function getEncodingOptions()
-    {
-        return $this->encodingOptions;
-    }
-
-    /**
-     * Sets options used while encoding data to JSON.
-     *
-     * @param int $encodingOptions
-     *
-     * @return JsonResponse
-     */
-    public function setEncodingOptions($encodingOptions)
-    {
-        $this->encodingOptions = (int) $encodingOptions;
-
-        return $this->setData(json_decode($this->data));
-    }
-
-    /**
-     * Updates the content and headers according to the JSON data and callback.
-     *
-     * @return JsonResponse
-     */
-    protected function update()
-    {
-        if (null !== $this->callback) {
-            // Not using application/javascript for compatibility reasons with older browsers.
-            $this->headers->set('Content-Type', 'text/javascript');
-
-            return $this->setContent(sprintf('/**/%s(%s);', $this->callback, $this->data));
-        }
-
-        // Only set the header when there is none or when it equals 'text/javascript' (from a previous update with callback)
-        // in order to not overwrite a custom definition.
-        if (!$this->headers->has('Content-Type') || 'text/javascript' === $this->headers->get('Content-Type')) {
-            $this->headers->set('Content-Type', 'application/json');
-        }
-
-        return $this->setContent($this->data);
-    }
-
-    private function transformJsonError()
-    {
-        if (function_exists('json_last_error_msg')) {
-            return json_last_error_msg();
-        }
-
-        switch (json_last_error()) {
-            case JSON_ERROR_DEPTH:
-                return 'Maximum stack depth exceeded.';
-
-            case JSON_ERROR_STATE_MISMATCH:
-                return 'Underflow or the modes mismatch.';
-
-            case JSON_ERROR_CTRL_CHAR:
-                return 'Unexpected control character found.';
-
-            case JSON_ERROR_SYNTAX:
-                return 'Syntax error, malformed JSON.';
-
-            case JSON_ERROR_UTF8:
-                return 'Malformed UTF-8 characters, possibly incorrectly encoded.';
-
-            default:
-                return 'Unknown error.';
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/LICENSE b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php
deleted file mode 100644
index 348aab9..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php
+++ /dev/null
@@ -1,319 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * ParameterBag is a container for key/value pairs.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class ParameterBag implements \IteratorAggregate, \Countable
-{
-    /**
-     * Parameter storage.
-     *
-     * @var array
-     */
-    protected $parameters;
-
-    /**
-     * Constructor.
-     *
-     * @param array $parameters An array of parameters
-     *
-     * @api
-     */
-    public function __construct(array $parameters = array())
-    {
-        $this->parameters = $parameters;
-    }
-
-    /**
-     * Returns the parameters.
-     *
-     * @return array An array of parameters
-     *
-     * @api
-     */
-    public function all()
-    {
-        return $this->parameters;
-    }
-
-    /**
-     * Returns the parameter keys.
-     *
-     * @return array An array of parameter keys
-     *
-     * @api
-     */
-    public function keys()
-    {
-        return array_keys($this->parameters);
-    }
-
-    /**
-     * Replaces the current parameters by a new set.
-     *
-     * @param array $parameters An array of parameters
-     *
-     * @api
-     */
-    public function replace(array $parameters = array())
-    {
-        $this->parameters = $parameters;
-    }
-
-    /**
-     * Adds parameters.
-     *
-     * @param array $parameters An array of parameters
-     *
-     * @api
-     */
-    public function add(array $parameters = array())
-    {
-        $this->parameters = array_replace($this->parameters, $parameters);
-    }
-
-    /**
-     * Returns a parameter by name.
-     *
-     * @param string $path    The key
-     * @param mixed  $default The default value if the parameter key does not exist
-     * @param bool   $deep    If true, a path like foo[bar] will find deeper items
-     *
-     * @return mixed
-     *
-     * @throws \InvalidArgumentException
-     *
-     * @api
-     */
-    public function get($path, $default = null, $deep = false)
-    {
-        if (!$deep || false === $pos = strpos($path, '[')) {
-            return array_key_exists($path, $this->parameters) ? $this->parameters[$path] : $default;
-        }
-
-        $root = substr($path, 0, $pos);
-        if (!array_key_exists($root, $this->parameters)) {
-            return $default;
-        }
-
-        $value = $this->parameters[$root];
-        $currentKey = null;
-        for ($i = $pos, $c = strlen($path); $i < $c; $i++) {
-            $char = $path[$i];
-
-            if ('[' === $char) {
-                if (null !== $currentKey) {
-                    throw new \InvalidArgumentException(sprintf('Malformed path. Unexpected "[" at position %d.', $i));
-                }
-
-                $currentKey = '';
-            } elseif (']' === $char) {
-                if (null === $currentKey) {
-                    throw new \InvalidArgumentException(sprintf('Malformed path. Unexpected "]" at position %d.', $i));
-                }
-
-                if (!is_array($value) || !array_key_exists($currentKey, $value)) {
-                    return $default;
-                }
-
-                $value = $value[$currentKey];
-                $currentKey = null;
-            } else {
-                if (null === $currentKey) {
-                    throw new \InvalidArgumentException(sprintf('Malformed path. Unexpected "%s" at position %d.', $char, $i));
-                }
-
-                $currentKey .= $char;
-            }
-        }
-
-        if (null !== $currentKey) {
-            throw new \InvalidArgumentException(sprintf('Malformed path. Path must end with "]".'));
-        }
-
-        return $value;
-    }
-
-    /**
-     * Sets a parameter by name.
-     *
-     * @param string $key   The key
-     * @param mixed  $value The value
-     *
-     * @api
-     */
-    public function set($key, $value)
-    {
-        $this->parameters[$key] = $value;
-    }
-
-    /**
-     * Returns true if the parameter is defined.
-     *
-     * @param string $key The key
-     *
-     * @return bool true if the parameter exists, false otherwise
-     *
-     * @api
-     */
-    public function has($key)
-    {
-        return array_key_exists($key, $this->parameters);
-    }
-
-    /**
-     * Removes a parameter.
-     *
-     * @param string $key The key
-     *
-     * @api
-     */
-    public function remove($key)
-    {
-        unset($this->parameters[$key]);
-    }
-
-    /**
-     * Returns the alphabetic characters of the parameter value.
-     *
-     * @param string $key     The parameter key
-     * @param mixed  $default The default value if the parameter key does not exist
-     * @param bool   $deep    If true, a path like foo[bar] will find deeper items
-     *
-     * @return string The filtered value
-     *
-     * @api
-     */
-    public function getAlpha($key, $default = '', $deep = false)
-    {
-        return preg_replace('/[^[:alpha:]]/', '', $this->get($key, $default, $deep));
-    }
-
-    /**
-     * Returns the alphabetic characters and digits of the parameter value.
-     *
-     * @param string $key     The parameter key
-     * @param mixed  $default The default value if the parameter key does not exist
-     * @param bool   $deep    If true, a path like foo[bar] will find deeper items
-     *
-     * @return string The filtered value
-     *
-     * @api
-     */
-    public function getAlnum($key, $default = '', $deep = false)
-    {
-        return preg_replace('/[^[:alnum:]]/', '', $this->get($key, $default, $deep));
-    }
-
-    /**
-     * Returns the digits of the parameter value.
-     *
-     * @param string $key     The parameter key
-     * @param mixed  $default The default value if the parameter key does not exist
-     * @param bool   $deep    If true, a path like foo[bar] will find deeper items
-     *
-     * @return string The filtered value
-     *
-     * @api
-     */
-    public function getDigits($key, $default = '', $deep = false)
-    {
-        // we need to remove - and + because they're allowed in the filter
-        return str_replace(array('-', '+'), '', $this->filter($key, $default, $deep, FILTER_SANITIZE_NUMBER_INT));
-    }
-
-    /**
-     * Returns the parameter value converted to integer.
-     *
-     * @param string $key     The parameter key
-     * @param mixed  $default The default value if the parameter key does not exist
-     * @param bool   $deep    If true, a path like foo[bar] will find deeper items
-     *
-     * @return int The filtered value
-     *
-     * @api
-     */
-    public function getInt($key, $default = 0, $deep = false)
-    {
-        return (int) $this->get($key, $default, $deep);
-    }
-
-    /**
-     * Returns the parameter value converted to boolean.
-     *
-     * @param string $key     The parameter key
-     * @param mixed  $default The default value if the parameter key does not exist
-     * @param bool   $deep    If true, a path like foo[bar] will find deeper items
-     *
-     * @return bool The filtered value
-     */
-    public function getBoolean($key, $default = false, $deep = false)
-    {
-        return $this->filter($key, $default, $deep, FILTER_VALIDATE_BOOLEAN);
-    }
-
-    /**
-     * Filter key.
-     *
-     * @param string $key     Key.
-     * @param mixed  $default Default = null.
-     * @param bool   $deep    Default = false.
-     * @param int    $filter  FILTER_* constant.
-     * @param mixed  $options Filter options.
-     *
-     * @see http://php.net/manual/en/function.filter-var.php
-     *
-     * @return mixed
-     */
-    public function filter($key, $default = null, $deep = false, $filter = FILTER_DEFAULT, $options = array())
-    {
-        $value = $this->get($key, $default, $deep);
-
-        // Always turn $options into an array - this allows filter_var option shortcuts.
-        if (!is_array($options) && $options) {
-            $options = array('flags' => $options);
-        }
-
-        // Add a convenience check for arrays.
-        if (is_array($value) && !isset($options['flags'])) {
-            $options['flags'] = FILTER_REQUIRE_ARRAY;
-        }
-
-        return filter_var($value, $filter, $options);
-    }
-
-    /**
-     * Returns an iterator for parameters.
-     *
-     * @return \ArrayIterator An \ArrayIterator instance
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->parameters);
-    }
-
-    /**
-     * Returns the number of parameters.
-     *
-     * @return int The number of parameters
-     */
-    public function count()
-    {
-        return count($this->parameters);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/README.md b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/README.md
deleted file mode 100644
index 11ad6ee..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/README.md
+++ /dev/null
@@ -1,56 +0,0 @@
-HttpFoundation Component
-========================
-
-HttpFoundation defines an object-oriented layer for the HTTP specification.
-
-It provides an abstraction for requests, responses, uploaded files, cookies,
-sessions, ...
-
-In this example, we get a Request object from the current PHP global
-variables:
-
-```php
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-$request = Request::createFromGlobals();
-echo $request->getPathInfo();
-```
-
-You can also create a Request directly -- that's interesting for unit testing:
-
-```php
-$request = Request::create('/?foo=bar', 'GET');
-echo $request->getPathInfo();
-```
-
-And here is how to create and send a Response:
-
-```php
-$response = new Response('Not Found', 404, array('Content-Type' => 'text/plain'));
-$response->send();
-```
-
-The Request and the Response classes have many other methods that implement
-the HTTP specification.
-
-Loading
--------
-
-If you are not using Composer but are using PHP 5.3.x, you must add the following to your autoloader:
-
-```php
-// SessionHandlerInterface
-if (!interface_exists('SessionHandlerInterface')) {
-    $loader->registerPrefixFallback(__DIR__.'/../vendor/symfony/src/Symfony/Component/HttpFoundation/Resources/stubs');
-}
-```
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/HttpFoundation/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RedirectResponse.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RedirectResponse.php
deleted file mode 100644
index 5dc0b9e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RedirectResponse.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * RedirectResponse represents an HTTP response doing a redirect.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class RedirectResponse extends Response
-{
-    protected $targetUrl;
-
-    /**
-     * Creates a redirect response so that it conforms to the rules defined for a redirect status code.
-     *
-     * @param string $url     The URL to redirect to
-     * @param int    $status  The status code (302 by default)
-     * @param array  $headers The headers (Location is always set to the given URL)
-     *
-     * @throws \InvalidArgumentException
-     *
-     * @see http://tools.ietf.org/html/rfc2616#section-10.3
-     *
-     * @api
-     */
-    public function __construct($url, $status = 302, $headers = array())
-    {
-        if (empty($url)) {
-            throw new \InvalidArgumentException('Cannot redirect to an empty URL.');
-        }
-
-        parent::__construct('', $status, $headers);
-
-        $this->setTargetUrl($url);
-
-        if (!$this->isRedirect()) {
-            throw new \InvalidArgumentException(sprintf('The HTTP status code is not a redirect ("%s" given).', $status));
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create($url = '', $status = 302, $headers = array())
-    {
-        return new static($url, $status, $headers);
-    }
-
-    /**
-     * Returns the target URL.
-     *
-     * @return string target URL
-     */
-    public function getTargetUrl()
-    {
-        return $this->targetUrl;
-    }
-
-    /**
-     * Sets the redirect target of this response.
-     *
-     * @param string $url The URL to redirect to
-     *
-     * @return RedirectResponse The current response.
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function setTargetUrl($url)
-    {
-        if (empty($url)) {
-            throw new \InvalidArgumentException('Cannot redirect to an empty URL.');
-        }
-
-        $this->targetUrl = $url;
-
-        $this->setContent(
-            sprintf('<!DOCTYPE html>
-<html>
-    <head>
-        <meta charset="UTF-8" />
-        <meta http-equiv="refresh" content="1;url=%1$s" />
-
-        <title>Redirecting to %1$s</title>
-    </head>
-    <body>
-        Redirecting to <a href="%1$s">%1$s</a>.
-    </body>
-</html>', htmlspecialchars($url, ENT_QUOTES, 'UTF-8')));
-
-        $this->headers->set('Location', $url);
-
-        return $this;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php
deleted file mode 100644
index 93ec88e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php
+++ /dev/null
@@ -1,1925 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-use Symfony\Component\HttpFoundation\Session\SessionInterface;
-
-/**
- * Request represents an HTTP request.
- *
- * The methods dealing with URL accept / return a raw path (% encoded):
- *   * getBasePath
- *   * getBaseUrl
- *   * getPathInfo
- *   * getRequestUri
- *   * getUri
- *   * getUriForPath
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class Request
-{
-    const HEADER_CLIENT_IP = 'client_ip';
-    const HEADER_CLIENT_HOST = 'client_host';
-    const HEADER_CLIENT_PROTO = 'client_proto';
-    const HEADER_CLIENT_PORT = 'client_port';
-
-    const METHOD_HEAD = 'HEAD';
-    const METHOD_GET = 'GET';
-    const METHOD_POST = 'POST';
-    const METHOD_PUT = 'PUT';
-    const METHOD_PATCH = 'PATCH';
-    const METHOD_DELETE = 'DELETE';
-    const METHOD_PURGE = 'PURGE';
-    const METHOD_OPTIONS = 'OPTIONS';
-    const METHOD_TRACE = 'TRACE';
-    const METHOD_CONNECT = 'CONNECT';
-
-    protected static $trustedProxies = array();
-
-    /**
-     * @var string[]
-     */
-    protected static $trustedHostPatterns = array();
-
-    /**
-     * @var string[]
-     */
-    protected static $trustedHosts = array();
-
-    /**
-     * Names for headers that can be trusted when
-     * using trusted proxies.
-     *
-     * The default names are non-standard, but widely used
-     * by popular reverse proxies (like Apache mod_proxy or Amazon EC2).
-     */
-    protected static $trustedHeaders = array(
-        self::HEADER_CLIENT_IP => 'X_FORWARDED_FOR',
-        self::HEADER_CLIENT_HOST => 'X_FORWARDED_HOST',
-        self::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO',
-        self::HEADER_CLIENT_PORT => 'X_FORWARDED_PORT',
-    );
-
-    protected static $httpMethodParameterOverride = false;
-
-    /**
-     * Custom parameters.
-     *
-     * @var \Symfony\Component\HttpFoundation\ParameterBag
-     *
-     * @api
-     */
-    public $attributes;
-
-    /**
-     * Request body parameters ($_POST).
-     *
-     * @var \Symfony\Component\HttpFoundation\ParameterBag
-     *
-     * @api
-     */
-    public $request;
-
-    /**
-     * Query string parameters ($_GET).
-     *
-     * @var \Symfony\Component\HttpFoundation\ParameterBag
-     *
-     * @api
-     */
-    public $query;
-
-    /**
-     * Server and execution environment parameters ($_SERVER).
-     *
-     * @var \Symfony\Component\HttpFoundation\ServerBag
-     *
-     * @api
-     */
-    public $server;
-
-    /**
-     * Uploaded files ($_FILES).
-     *
-     * @var \Symfony\Component\HttpFoundation\FileBag
-     *
-     * @api
-     */
-    public $files;
-
-    /**
-     * Cookies ($_COOKIE).
-     *
-     * @var \Symfony\Component\HttpFoundation\ParameterBag
-     *
-     * @api
-     */
-    public $cookies;
-
-    /**
-     * Headers (taken from the $_SERVER).
-     *
-     * @var \Symfony\Component\HttpFoundation\HeaderBag
-     *
-     * @api
-     */
-    public $headers;
-
-    /**
-     * @var string
-     */
-    protected $content;
-
-    /**
-     * @var array
-     */
-    protected $languages;
-
-    /**
-     * @var array
-     */
-    protected $charsets;
-
-    /**
-     * @var array
-     */
-    protected $encodings;
-
-    /**
-     * @var array
-     */
-    protected $acceptableContentTypes;
-
-    /**
-     * @var string
-     */
-    protected $pathInfo;
-
-    /**
-     * @var string
-     */
-    protected $requestUri;
-
-    /**
-     * @var string
-     */
-    protected $baseUrl;
-
-    /**
-     * @var string
-     */
-    protected $basePath;
-
-    /**
-     * @var string
-     */
-    protected $method;
-
-    /**
-     * @var string
-     */
-    protected $format;
-
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\SessionInterface
-     */
-    protected $session;
-
-    /**
-     * @var string
-     */
-    protected $locale;
-
-    /**
-     * @var string
-     */
-    protected $defaultLocale = 'en';
-
-    /**
-     * @var array
-     */
-    protected static $formats;
-
-    protected static $requestFactory;
-
-    /**
-     * Constructor.
-     *
-     * @param array  $query      The GET parameters
-     * @param array  $request    The POST parameters
-     * @param array  $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
-     * @param array  $cookies    The COOKIE parameters
-     * @param array  $files      The FILES parameters
-     * @param array  $server     The SERVER parameters
-     * @param string $content    The raw body data
-     *
-     * @api
-     */
-    public function __construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), $content = null)
-    {
-        $this->initialize($query, $request, $attributes, $cookies, $files, $server, $content);
-    }
-
-    /**
-     * Sets the parameters for this request.
-     *
-     * This method also re-initializes all properties.
-     *
-     * @param array  $query      The GET parameters
-     * @param array  $request    The POST parameters
-     * @param array  $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
-     * @param array  $cookies    The COOKIE parameters
-     * @param array  $files      The FILES parameters
-     * @param array  $server     The SERVER parameters
-     * @param string $content    The raw body data
-     *
-     * @api
-     */
-    public function initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), $content = null)
-    {
-        $this->request = new ParameterBag($request);
-        $this->query = new ParameterBag($query);
-        $this->attributes = new ParameterBag($attributes);
-        $this->cookies = new ParameterBag($cookies);
-        $this->files = new FileBag($files);
-        $this->server = new ServerBag($server);
-        $this->headers = new HeaderBag($this->server->getHeaders());
-
-        $this->content = $content;
-        $this->languages = null;
-        $this->charsets = null;
-        $this->encodings = null;
-        $this->acceptableContentTypes = null;
-        $this->pathInfo = null;
-        $this->requestUri = null;
-        $this->baseUrl = null;
-        $this->basePath = null;
-        $this->method = null;
-        $this->format = null;
-    }
-
-    /**
-     * Creates a new request with values from PHP's super globals.
-     *
-     * @return Request A new request
-     *
-     * @api
-     */
-    public static function createFromGlobals()
-    {
-        // With the php's bug #66606, the php's built-in web server
-        // stores the Content-Type and Content-Length header values in
-        // HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH fields.
-        $server = $_SERVER;
-        if ('cli-server' === php_sapi_name()) {
-            if (array_key_exists('HTTP_CONTENT_LENGTH', $_SERVER)) {
-                $server['CONTENT_LENGTH'] = $_SERVER['HTTP_CONTENT_LENGTH'];
-            }
-            if (array_key_exists('HTTP_CONTENT_TYPE', $_SERVER)) {
-                $server['CONTENT_TYPE'] = $_SERVER['HTTP_CONTENT_TYPE'];
-            }
-        }
-
-        $request = self::createRequestFromFactory($_GET, $_POST, array(), $_COOKIE, $_FILES, $server);
-
-        if (0 === strpos($request->headers->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded')
-            && in_array(strtoupper($request->server->get('REQUEST_METHOD', 'GET')), array('PUT', 'DELETE', 'PATCH'))
-        ) {
-            parse_str($request->getContent(), $data);
-            $request->request = new ParameterBag($data);
-        }
-
-        return $request;
-    }
-
-    /**
-     * Creates a Request based on a given URI and configuration.
-     *
-     * The information contained in the URI always take precedence
-     * over the other information (server and parameters).
-     *
-     * @param string $uri        The URI
-     * @param string $method     The HTTP method
-     * @param array  $parameters The query (GET) or request (POST) parameters
-     * @param array  $cookies    The request cookies ($_COOKIE)
-     * @param array  $files      The request files ($_FILES)
-     * @param array  $server     The server parameters ($_SERVER)
-     * @param string $content    The raw body data
-     *
-     * @return Request A Request instance
-     *
-     * @api
-     */
-    public static function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null)
-    {
-        $server = array_replace(array(
-            'SERVER_NAME' => 'localhost',
-            'SERVER_PORT' => 80,
-            'HTTP_HOST' => 'localhost',
-            'HTTP_USER_AGENT' => 'Symfony/2.X',
-            'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
-            'HTTP_ACCEPT_LANGUAGE' => 'en-us,en;q=0.5',
-            'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
-            'REMOTE_ADDR' => '127.0.0.1',
-            'SCRIPT_NAME' => '',
-            'SCRIPT_FILENAME' => '',
-            'SERVER_PROTOCOL' => 'HTTP/1.1',
-            'REQUEST_TIME' => time(),
-        ), $server);
-
-        $server['PATH_INFO'] = '';
-        $server['REQUEST_METHOD'] = strtoupper($method);
-
-        $components = parse_url($uri);
-        if (isset($components['host'])) {
-            $server['SERVER_NAME'] = $components['host'];
-            $server['HTTP_HOST'] = $components['host'];
-        }
-
-        if (isset($components['scheme'])) {
-            if ('https' === $components['scheme']) {
-                $server['HTTPS'] = 'on';
-                $server['SERVER_PORT'] = 443;
-            } else {
-                unset($server['HTTPS']);
-                $server['SERVER_PORT'] = 80;
-            }
-        }
-
-        if (isset($components['port'])) {
-            $server['SERVER_PORT'] = $components['port'];
-            $server['HTTP_HOST'] = $server['HTTP_HOST'].':'.$components['port'];
-        }
-
-        if (isset($components['user'])) {
-            $server['PHP_AUTH_USER'] = $components['user'];
-        }
-
-        if (isset($components['pass'])) {
-            $server['PHP_AUTH_PW'] = $components['pass'];
-        }
-
-        if (!isset($components['path'])) {
-            $components['path'] = '/';
-        }
-
-        switch (strtoupper($method)) {
-            case 'POST':
-            case 'PUT':
-            case 'DELETE':
-                if (!isset($server['CONTENT_TYPE'])) {
-                    $server['CONTENT_TYPE'] = 'application/x-www-form-urlencoded';
-                }
-                // no break
-            case 'PATCH':
-                $request = $parameters;
-                $query = array();
-                break;
-            default:
-                $request = array();
-                $query = $parameters;
-                break;
-        }
-
-        $queryString = '';
-        if (isset($components['query'])) {
-            parse_str(html_entity_decode($components['query']), $qs);
-
-            if ($query) {
-                $query = array_replace($qs, $query);
-                $queryString = http_build_query($query, '', '&');
-            } else {
-                $query = $qs;
-                $queryString = $components['query'];
-            }
-        } elseif ($query) {
-            $queryString = http_build_query($query, '', '&');
-        }
-
-        $server['REQUEST_URI'] = $components['path'].('' !== $queryString ? '?'.$queryString : '');
-        $server['QUERY_STRING'] = $queryString;
-
-        return self::createRequestFromFactory($query, $request, array(), $cookies, $files, $server, $content);
-    }
-
-    /**
-     * Sets a callable able to create a Request instance.
-     *
-     * This is mainly useful when you need to override the Request class
-     * to keep BC with an existing system. It should not be used for any
-     * other purpose.
-     *
-     * @param callable|null $callable A PHP callable
-     */
-    public static function setFactory($callable)
-    {
-        self::$requestFactory = $callable;
-    }
-
-    /**
-     * Clones a request and overrides some of its parameters.
-     *
-     * @param array $query      The GET parameters
-     * @param array $request    The POST parameters
-     * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
-     * @param array $cookies    The COOKIE parameters
-     * @param array $files      The FILES parameters
-     * @param array $server     The SERVER parameters
-     *
-     * @return Request The duplicated request
-     *
-     * @api
-     */
-    public function duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null)
-    {
-        $dup = clone $this;
-        if ($query !== null) {
-            $dup->query = new ParameterBag($query);
-        }
-        if ($request !== null) {
-            $dup->request = new ParameterBag($request);
-        }
-        if ($attributes !== null) {
-            $dup->attributes = new ParameterBag($attributes);
-        }
-        if ($cookies !== null) {
-            $dup->cookies = new ParameterBag($cookies);
-        }
-        if ($files !== null) {
-            $dup->files = new FileBag($files);
-        }
-        if ($server !== null) {
-            $dup->server = new ServerBag($server);
-            $dup->headers = new HeaderBag($dup->server->getHeaders());
-        }
-        $dup->languages = null;
-        $dup->charsets = null;
-        $dup->encodings = null;
-        $dup->acceptableContentTypes = null;
-        $dup->pathInfo = null;
-        $dup->requestUri = null;
-        $dup->baseUrl = null;
-        $dup->basePath = null;
-        $dup->method = null;
-        $dup->format = null;
-
-        if (!$dup->get('_format') && $this->get('_format')) {
-            $dup->attributes->set('_format', $this->get('_format'));
-        }
-
-        if (!$dup->getRequestFormat(null)) {
-            $dup->setRequestFormat($this->getRequestFormat(null));
-        }
-
-        return $dup;
-    }
-
-    /**
-     * Clones the current request.
-     *
-     * Note that the session is not cloned as duplicated requests
-     * are most of the time sub-requests of the main one.
-     */
-    public function __clone()
-    {
-        $this->query = clone $this->query;
-        $this->request = clone $this->request;
-        $this->attributes = clone $this->attributes;
-        $this->cookies = clone $this->cookies;
-        $this->files = clone $this->files;
-        $this->server = clone $this->server;
-        $this->headers = clone $this->headers;
-    }
-
-    /**
-     * Returns the request as a string.
-     *
-     * @return string The request
-     */
-    public function __toString()
-    {
-        return
-            sprintf('%s %s %s', $this->getMethod(), $this->getRequestUri(), $this->server->get('SERVER_PROTOCOL'))."\r\n".
-            $this->headers."\r\n".
-            $this->getContent();
-    }
-
-    /**
-     * Overrides the PHP global variables according to this request instance.
-     *
-     * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE.
-     * $_FILES is never overridden, see rfc1867
-     *
-     * @api
-     */
-    public function overrideGlobals()
-    {
-        $this->server->set('QUERY_STRING', static::normalizeQueryString(http_build_query($this->query->all(), null, '&')));
-
-        $_GET = $this->query->all();
-        $_POST = $this->request->all();
-        $_SERVER = $this->server->all();
-        $_COOKIE = $this->cookies->all();
-
-        foreach ($this->headers->all() as $key => $value) {
-            $key = strtoupper(str_replace('-', '_', $key));
-            if (in_array($key, array('CONTENT_TYPE', 'CONTENT_LENGTH'))) {
-                $_SERVER[$key] = implode(', ', $value);
-            } else {
-                $_SERVER['HTTP_'.$key] = implode(', ', $value);
-            }
-        }
-
-        $request = array('g' => $_GET, 'p' => $_POST, 'c' => $_COOKIE);
-
-        $requestOrder = ini_get('request_order') ?: ini_get('variables_order');
-        $requestOrder = preg_replace('#[^cgp]#', '', strtolower($requestOrder)) ?: 'gp';
-
-        $_REQUEST = array();
-        foreach (str_split($requestOrder) as $order) {
-            $_REQUEST = array_merge($_REQUEST, $request[$order]);
-        }
-    }
-
-    /**
-     * Sets a list of trusted proxies.
-     *
-     * You should only list the reverse proxies that you manage directly.
-     *
-     * @param array $proxies A list of trusted proxies
-     *
-     * @api
-     */
-    public static function setTrustedProxies(array $proxies)
-    {
-        self::$trustedProxies = $proxies;
-    }
-
-    /**
-     * Gets the list of trusted proxies.
-     *
-     * @return array An array of trusted proxies.
-     */
-    public static function getTrustedProxies()
-    {
-        return self::$trustedProxies;
-    }
-
-    /**
-     * Sets a list of trusted host patterns.
-     *
-     * You should only list the hosts you manage using regexs.
-     *
-     * @param array $hostPatterns A list of trusted host patterns
-     */
-    public static function setTrustedHosts(array $hostPatterns)
-    {
-        self::$trustedHostPatterns = array_map(function ($hostPattern) {
-            return sprintf('{%s}i', str_replace('}', '\\}', $hostPattern));
-        }, $hostPatterns);
-        // we need to reset trusted hosts on trusted host patterns change
-        self::$trustedHosts = array();
-    }
-
-    /**
-     * Gets the list of trusted host patterns.
-     *
-     * @return array An array of trusted host patterns.
-     */
-    public static function getTrustedHosts()
-    {
-        return self::$trustedHostPatterns;
-    }
-
-    /**
-     * Sets the name for trusted headers.
-     *
-     * The following header keys are supported:
-     *
-     *  * Request::HEADER_CLIENT_IP:    defaults to X-Forwarded-For   (see getClientIp())
-     *  * Request::HEADER_CLIENT_HOST:  defaults to X-Forwarded-Host  (see getHost())
-     *  * Request::HEADER_CLIENT_PORT:  defaults to X-Forwarded-Port  (see getPort())
-     *  * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure())
-     *
-     * Setting an empty value allows to disable the trusted header for the given key.
-     *
-     * @param string $key   The header key
-     * @param string $value The header name
-     *
-     * @throws \InvalidArgumentException
-     */
-    public static function setTrustedHeaderName($key, $value)
-    {
-        if (!array_key_exists($key, self::$trustedHeaders)) {
-            throw new \InvalidArgumentException(sprintf('Unable to set the trusted header name for key "%s".', $key));
-        }
-
-        self::$trustedHeaders[$key] = $value;
-    }
-
-    /**
-     * Gets the trusted proxy header name.
-     *
-     * @param string $key The header key
-     *
-     * @return string The header name
-     *
-     * @throws \InvalidArgumentException
-     */
-    public static function getTrustedHeaderName($key)
-    {
-        if (!array_key_exists($key, self::$trustedHeaders)) {
-            throw new \InvalidArgumentException(sprintf('Unable to get the trusted header name for key "%s".', $key));
-        }
-
-        return self::$trustedHeaders[$key];
-    }
-
-    /**
-     * Normalizes a query string.
-     *
-     * It builds a normalized query string, where keys/value pairs are alphabetized,
-     * have consistent escaping and unneeded delimiters are removed.
-     *
-     * @param string $qs Query string
-     *
-     * @return string A normalized query string for the Request
-     */
-    public static function normalizeQueryString($qs)
-    {
-        if ('' == $qs) {
-            return '';
-        }
-
-        $parts = array();
-        $order = array();
-
-        foreach (explode('&', $qs) as $param) {
-            if ('' === $param || '=' === $param[0]) {
-                // Ignore useless delimiters, e.g. "x=y&".
-                // Also ignore pairs with empty key, even if there was a value, e.g. "=value", as such nameless values cannot be retrieved anyway.
-                // PHP also does not include them when building _GET.
-                continue;
-            }
-
-            $keyValuePair = explode('=', $param, 2);
-
-            // GET parameters, that are submitted from a HTML form, encode spaces as "+" by default (as defined in enctype application/x-www-form-urlencoded).
-            // PHP also converts "+" to spaces when filling the global _GET or when using the function parse_str. This is why we use urldecode and then normalize to
-            // RFC 3986 with rawurlencode.
-            $parts[] = isset($keyValuePair[1]) ?
-                rawurlencode(urldecode($keyValuePair[0])).'='.rawurlencode(urldecode($keyValuePair[1])) :
-                rawurlencode(urldecode($keyValuePair[0]));
-            $order[] = urldecode($keyValuePair[0]);
-        }
-
-        array_multisort($order, SORT_ASC, $parts);
-
-        return implode('&', $parts);
-    }
-
-    /**
-     * Enables support for the _method request parameter to determine the intended HTTP method.
-     *
-     * Be warned that enabling this feature might lead to CSRF issues in your code.
-     * Check that you are using CSRF tokens when required.
-     * If the HTTP method parameter override is enabled, an html-form with method "POST" can be altered
-     * and used to send a "PUT" or "DELETE" request via the _method request parameter.
-     * If these methods are not protected against CSRF, this presents a possible vulnerability.
-     *
-     * The HTTP method can only be overridden when the real HTTP method is POST.
-     */
-    public static function enableHttpMethodParameterOverride()
-    {
-        self::$httpMethodParameterOverride = true;
-    }
-
-    /**
-     * Checks whether support for the _method request parameter is enabled.
-     *
-     * @return bool True when the _method request parameter is enabled, false otherwise
-     */
-    public static function getHttpMethodParameterOverride()
-    {
-        return self::$httpMethodParameterOverride;
-    }
-
-    /**
-     * Gets a "parameter" value.
-     *
-     * This method is mainly useful for libraries that want to provide some flexibility.
-     *
-     * Order of precedence: GET, PATH, POST
-     *
-     * Avoid using this method in controllers:
-     *
-     *  * slow
-     *  * prefer to get from a "named" source
-     *
-     * It is better to explicitly get request parameters from the appropriate
-     * public property instead (query, attributes, request).
-     *
-     * @param string $key     the key
-     * @param mixed  $default the default value
-     * @param bool   $deep    is parameter deep in multidimensional array
-     *
-     * @return mixed
-     */
-    public function get($key, $default = null, $deep = false)
-    {
-        if ($this !== $result = $this->query->get($key, $this, $deep)) {
-            return $result;
-        }
-
-        if ($this !== $result = $this->attributes->get($key, $this, $deep)) {
-            return $result;
-        }
-
-        if ($this !== $result = $this->request->get($key, $this, $deep)) {
-            return $result;
-        }
-
-        return $default;
-    }
-
-    /**
-     * Gets the Session.
-     *
-     * @return SessionInterface|null The session
-     *
-     * @api
-     */
-    public function getSession()
-    {
-        return $this->session;
-    }
-
-    /**
-     * Whether the request contains a Session which was started in one of the
-     * previous requests.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function hasPreviousSession()
-    {
-        // the check for $this->session avoids malicious users trying to fake a session cookie with proper name
-        return $this->hasSession() && $this->cookies->has($this->session->getName());
-    }
-
-    /**
-     * Whether the request contains a Session object.
-     *
-     * This method does not give any information about the state of the session object,
-     * like whether the session is started or not. It is just a way to check if this Request
-     * is associated with a Session instance.
-     *
-     * @return bool true when the Request contains a Session object, false otherwise
-     *
-     * @api
-     */
-    public function hasSession()
-    {
-        return null !== $this->session;
-    }
-
-    /**
-     * Sets the Session.
-     *
-     * @param SessionInterface $session The Session
-     *
-     * @api
-     */
-    public function setSession(SessionInterface $session)
-    {
-        $this->session = $session;
-    }
-
-    /**
-     * Returns the client IP addresses.
-     *
-     * In the returned array the most trusted IP address is first, and the
-     * least trusted one last. The "real" client IP address is the last one,
-     * but this is also the least trusted one. Trusted proxies are stripped.
-     *
-     * Use this method carefully; you should use getClientIp() instead.
-     *
-     * @return array The client IP addresses
-     *
-     * @see getClientIp()
-     */
-    public function getClientIps()
-    {
-        $ip = $this->server->get('REMOTE_ADDR');
-
-        if (!$this->isFromTrustedProxy()) {
-            return array($ip);
-        }
-
-        if (!self::$trustedHeaders[self::HEADER_CLIENT_IP] || !$this->headers->has(self::$trustedHeaders[self::HEADER_CLIENT_IP])) {
-            return array($ip);
-        }
-
-        $clientIps = array_map('trim', explode(',', $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_IP])));
-        $clientIps[] = $ip; // Complete the IP chain with the IP the request actually came from
-
-        $ip = $clientIps[0]; // Fallback to this when the client IP falls into the range of trusted proxies
-
-        // Eliminate all IPs from the forwarded IP chain which are trusted proxies
-        foreach ($clientIps as $key => $clientIp) {
-            // Remove port on IPv4 address (unfortunately, it does happen)
-            if (preg_match('{((?:\d+\.){3}\d+)\:\d+}', $clientIp, $match)) {
-                $clientIps[$key] = $clientIp = $match[1];
-            }
-
-            if (IpUtils::checkIp($clientIp, self::$trustedProxies)) {
-                unset($clientIps[$key]);
-            }
-        }
-
-        // Now the IP chain contains only untrusted proxies and the client IP
-        return $clientIps ? array_reverse($clientIps) : array($ip);
-    }
-
-    /**
-     * Returns the client IP address.
-     *
-     * This method can read the client IP address from the "X-Forwarded-For" header
-     * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For"
-     * header value is a comma+space separated list of IP addresses, the left-most
-     * being the original client, and each successive proxy that passed the request
-     * adding the IP address where it received the request from.
-     *
-     * If your reverse proxy uses a different header name than "X-Forwarded-For",
-     * ("Client-Ip" for instance), configure it via "setTrustedHeaderName()" with
-     * the "client-ip" key.
-     *
-     * @return string The client IP address
-     *
-     * @see getClientIps()
-     * @see http://en.wikipedia.org/wiki/X-Forwarded-For
-     *
-     * @api
-     */
-    public function getClientIp()
-    {
-        $ipAddresses = $this->getClientIps();
-
-        return $ipAddresses[0];
-    }
-
-    /**
-     * Returns current script name.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getScriptName()
-    {
-        return $this->server->get('SCRIPT_NAME', $this->server->get('ORIG_SCRIPT_NAME', ''));
-    }
-
-    /**
-     * Returns the path being requested relative to the executed script.
-     *
-     * The path info always starts with a /.
-     *
-     * Suppose this request is instantiated from /mysite on localhost:
-     *
-     *  * http://localhost/mysite              returns an empty string
-     *  * http://localhost/mysite/about        returns '/about'
-     *  * http://localhost/mysite/enco%20ded   returns '/enco%20ded'
-     *  * http://localhost/mysite/about?var=1  returns '/about'
-     *
-     * @return string The raw path (i.e. not urldecoded)
-     *
-     * @api
-     */
-    public function getPathInfo()
-    {
-        if (null === $this->pathInfo) {
-            $this->pathInfo = $this->preparePathInfo();
-        }
-
-        return $this->pathInfo;
-    }
-
-    /**
-     * Returns the root path from which this request is executed.
-     *
-     * Suppose that an index.php file instantiates this request object:
-     *
-     *  * http://localhost/index.php         returns an empty string
-     *  * http://localhost/index.php/page    returns an empty string
-     *  * http://localhost/web/index.php     returns '/web'
-     *  * http://localhost/we%20b/index.php  returns '/we%20b'
-     *
-     * @return string The raw path (i.e. not urldecoded)
-     *
-     * @api
-     */
-    public function getBasePath()
-    {
-        if (null === $this->basePath) {
-            $this->basePath = $this->prepareBasePath();
-        }
-
-        return $this->basePath;
-    }
-
-    /**
-     * Returns the root URL from which this request is executed.
-     *
-     * The base URL never ends with a /.
-     *
-     * This is similar to getBasePath(), except that it also includes the
-     * script filename (e.g. index.php) if one exists.
-     *
-     * @return string The raw URL (i.e. not urldecoded)
-     *
-     * @api
-     */
-    public function getBaseUrl()
-    {
-        if (null === $this->baseUrl) {
-            $this->baseUrl = $this->prepareBaseUrl();
-        }
-
-        return $this->baseUrl;
-    }
-
-    /**
-     * Gets the request's scheme.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getScheme()
-    {
-        return $this->isSecure() ? 'https' : 'http';
-    }
-
-    /**
-     * Returns the port on which the request is made.
-     *
-     * This method can read the client port from the "X-Forwarded-Port" header
-     * when trusted proxies were set via "setTrustedProxies()".
-     *
-     * The "X-Forwarded-Port" header must contain the client port.
-     *
-     * If your reverse proxy uses a different header name than "X-Forwarded-Port",
-     * configure it via "setTrustedHeaderName()" with the "client-port" key.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getPort()
-    {
-        if ($this->isFromTrustedProxy()) {
-            if (self::$trustedHeaders[self::HEADER_CLIENT_PORT] && $port = $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_PORT])) {
-                return $port;
-            }
-
-            if (self::$trustedHeaders[self::HEADER_CLIENT_PROTO] && 'https' === $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_PROTO], 'http')) {
-                return 443;
-            }
-        }
-
-        if ($host = $this->headers->get('HOST')) {
-            if ($host[0] === '[') {
-                $pos = strpos($host, ':', strrpos($host, ']'));
-            } else {
-                $pos = strrpos($host, ':');
-            }
-
-            if (false !== $pos) {
-                return (int) substr($host, $pos + 1);
-            }
-
-            return 'https' === $this->getScheme() ? 443 : 80;
-        }
-
-        return $this->server->get('SERVER_PORT');
-    }
-
-    /**
-     * Returns the user.
-     *
-     * @return string|null
-     */
-    public function getUser()
-    {
-        return $this->headers->get('PHP_AUTH_USER');
-    }
-
-    /**
-     * Returns the password.
-     *
-     * @return string|null
-     */
-    public function getPassword()
-    {
-        return $this->headers->get('PHP_AUTH_PW');
-    }
-
-    /**
-     * Gets the user info.
-     *
-     * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server
-     */
-    public function getUserInfo()
-    {
-        $userinfo = $this->getUser();
-
-        $pass = $this->getPassword();
-        if ('' != $pass) {
-            $userinfo .= ":$pass";
-        }
-
-        return $userinfo;
-    }
-
-    /**
-     * Returns the HTTP host being requested.
-     *
-     * The port name will be appended to the host if it's non-standard.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function getHttpHost()
-    {
-        $scheme = $this->getScheme();
-        $port = $this->getPort();
-
-        if (('http' == $scheme && $port == 80) || ('https' == $scheme && $port == 443)) {
-            return $this->getHost();
-        }
-
-        return $this->getHost().':'.$port;
-    }
-
-    /**
-     * Returns the requested URI (path and query string).
-     *
-     * @return string The raw URI (i.e. not URI decoded)
-     *
-     * @api
-     */
-    public function getRequestUri()
-    {
-        if (null === $this->requestUri) {
-            $this->requestUri = $this->prepareRequestUri();
-        }
-
-        return $this->requestUri;
-    }
-
-    /**
-     * Gets the scheme and HTTP host.
-     *
-     * If the URL was called with basic authentication, the user
-     * and the password are not added to the generated string.
-     *
-     * @return string The scheme and HTTP host
-     */
-    public function getSchemeAndHttpHost()
-    {
-        return $this->getScheme().'://'.$this->getHttpHost();
-    }
-
-    /**
-     * Generates a normalized URI (URL) for the Request.
-     *
-     * @return string A normalized URI (URL) for the Request
-     *
-     * @see getQueryString()
-     *
-     * @api
-     */
-    public function getUri()
-    {
-        if (null !== $qs = $this->getQueryString()) {
-            $qs = '?'.$qs;
-        }
-
-        return $this->getSchemeAndHttpHost().$this->getBaseUrl().$this->getPathInfo().$qs;
-    }
-
-    /**
-     * Generates a normalized URI for the given path.
-     *
-     * @param string $path A path to use instead of the current one
-     *
-     * @return string The normalized URI for the path
-     *
-     * @api
-     */
-    public function getUriForPath($path)
-    {
-        return $this->getSchemeAndHttpHost().$this->getBaseUrl().$path;
-    }
-
-    /**
-     * Generates the normalized query string for the Request.
-     *
-     * It builds a normalized query string, where keys/value pairs are alphabetized
-     * and have consistent escaping.
-     *
-     * @return string|null A normalized query string for the Request
-     *
-     * @api
-     */
-    public function getQueryString()
-    {
-        $qs = static::normalizeQueryString($this->server->get('QUERY_STRING'));
-
-        return '' === $qs ? null : $qs;
-    }
-
-    /**
-     * Checks whether the request is secure or not.
-     *
-     * This method can read the client port from the "X-Forwarded-Proto" header
-     * when trusted proxies were set via "setTrustedProxies()".
-     *
-     * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http".
-     *
-     * If your reverse proxy uses a different header name than "X-Forwarded-Proto"
-     * ("SSL_HTTPS" for instance), configure it via "setTrustedHeaderName()" with
-     * the "client-proto" key.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isSecure()
-    {
-        if ($this->isFromTrustedProxy() && self::$trustedHeaders[self::HEADER_CLIENT_PROTO] && $proto = $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_PROTO])) {
-            return in_array(strtolower(current(explode(',', $proto))), array('https', 'on', 'ssl', '1'));
-        }
-
-        $https = $this->server->get('HTTPS');
-
-        return !empty($https) && 'off' !== strtolower($https);
-    }
-
-    /**
-     * Returns the host name.
-     *
-     * This method can read the client port from the "X-Forwarded-Host" header
-     * when trusted proxies were set via "setTrustedProxies()".
-     *
-     * The "X-Forwarded-Host" header must contain the client host name.
-     *
-     * If your reverse proxy uses a different header name than "X-Forwarded-Host",
-     * configure it via "setTrustedHeaderName()" with the "client-host" key.
-     *
-     * @return string
-     *
-     * @throws \UnexpectedValueException when the host name is invalid
-     *
-     * @api
-     */
-    public function getHost()
-    {
-        if ($this->isFromTrustedProxy() && self::$trustedHeaders[self::HEADER_CLIENT_HOST] && $host = $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_HOST])) {
-            $elements = explode(',', $host);
-
-            $host = $elements[count($elements) - 1];
-        } elseif (!$host = $this->headers->get('HOST')) {
-            if (!$host = $this->server->get('SERVER_NAME')) {
-                $host = $this->server->get('SERVER_ADDR', '');
-            }
-        }
-
-        // trim and remove port number from host
-        // host is lowercase as per RFC 952/2181
-        $host = strtolower(preg_replace('/:\d+$/', '', trim($host)));
-
-        // as the host can come from the user (HTTP_HOST and depending on the configuration, SERVER_NAME too can come from the user)
-        // check that it does not contain forbidden characters (see RFC 952 and RFC 2181)
-        // use preg_replace() instead of preg_match() to prevent DoS attacks with long host names
-        if ($host && '' !== preg_replace('/(?:^\[)?[a-zA-Z0-9-:\]_]+\.?/', '', $host)) {
-            throw new \UnexpectedValueException(sprintf('Invalid Host "%s"', $host));
-        }
-
-        if (count(self::$trustedHostPatterns) > 0) {
-            // to avoid host header injection attacks, you should provide a list of trusted host patterns
-
-            if (in_array($host, self::$trustedHosts)) {
-                return $host;
-            }
-
-            foreach (self::$trustedHostPatterns as $pattern) {
-                if (preg_match($pattern, $host)) {
-                    self::$trustedHosts[] = $host;
-
-                    return $host;
-                }
-            }
-
-            throw new \UnexpectedValueException(sprintf('Untrusted Host "%s"', $host));
-        }
-
-        return $host;
-    }
-
-    /**
-     * Sets the request method.
-     *
-     * @param string $method
-     *
-     * @api
-     */
-    public function setMethod($method)
-    {
-        $this->method = null;
-        $this->server->set('REQUEST_METHOD', $method);
-    }
-
-    /**
-     * Gets the request "intended" method.
-     *
-     * If the X-HTTP-Method-Override header is set, and if the method is a POST,
-     * then it is used to determine the "real" intended HTTP method.
-     *
-     * The _method request parameter can also be used to determine the HTTP method,
-     * but only if enableHttpMethodParameterOverride() has been called.
-     *
-     * The method is always an uppercased string.
-     *
-     * @return string The request method
-     *
-     * @api
-     *
-     * @see getRealMethod()
-     */
-    public function getMethod()
-    {
-        if (null === $this->method) {
-            $this->method = strtoupper($this->server->get('REQUEST_METHOD', 'GET'));
-
-            if ('POST' === $this->method) {
-                if ($method = $this->headers->get('X-HTTP-METHOD-OVERRIDE')) {
-                    $this->method = strtoupper($method);
-                } elseif (self::$httpMethodParameterOverride) {
-                    $this->method = strtoupper($this->request->get('_method', $this->query->get('_method', 'POST')));
-                }
-            }
-        }
-
-        return $this->method;
-    }
-
-    /**
-     * Gets the "real" request method.
-     *
-     * @return string The request method
-     *
-     * @see getMethod()
-     */
-    public function getRealMethod()
-    {
-        return strtoupper($this->server->get('REQUEST_METHOD', 'GET'));
-    }
-
-    /**
-     * Gets the mime type associated with the format.
-     *
-     * @param string $format The format
-     *
-     * @return string The associated mime type (null if not found)
-     *
-     * @api
-     */
-    public function getMimeType($format)
-    {
-        if (null === static::$formats) {
-            static::initializeFormats();
-        }
-
-        return isset(static::$formats[$format]) ? static::$formats[$format][0] : null;
-    }
-
-    /**
-     * Gets the format associated with the mime type.
-     *
-     * @param string $mimeType The associated mime type
-     *
-     * @return string|null The format (null if not found)
-     *
-     * @api
-     */
-    public function getFormat($mimeType)
-    {
-        if (false !== $pos = strpos($mimeType, ';')) {
-            $mimeType = substr($mimeType, 0, $pos);
-        }
-
-        if (null === static::$formats) {
-            static::initializeFormats();
-        }
-
-        foreach (static::$formats as $format => $mimeTypes) {
-            if (in_array($mimeType, (array) $mimeTypes)) {
-                return $format;
-            }
-        }
-    }
-
-    /**
-     * Associates a format with mime types.
-     *
-     * @param string       $format    The format
-     * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type)
-     *
-     * @api
-     */
-    public function setFormat($format, $mimeTypes)
-    {
-        if (null === static::$formats) {
-            static::initializeFormats();
-        }
-
-        static::$formats[$format] = is_array($mimeTypes) ? $mimeTypes : array($mimeTypes);
-    }
-
-    /**
-     * Gets the request format.
-     *
-     * Here is the process to determine the format:
-     *
-     *  * format defined by the user (with setRequestFormat())
-     *  * _format request parameter
-     *  * $default
-     *
-     * @param string $default The default format
-     *
-     * @return string The request format
-     *
-     * @api
-     */
-    public function getRequestFormat($default = 'html')
-    {
-        if (null === $this->format) {
-            $this->format = $this->get('_format', $default);
-        }
-
-        return $this->format;
-    }
-
-    /**
-     * Sets the request format.
-     *
-     * @param string $format The request format.
-     *
-     * @api
-     */
-    public function setRequestFormat($format)
-    {
-        $this->format = $format;
-    }
-
-    /**
-     * Gets the format associated with the request.
-     *
-     * @return string|null The format (null if no content type is present)
-     *
-     * @api
-     */
-    public function getContentType()
-    {
-        return $this->getFormat($this->headers->get('CONTENT_TYPE'));
-    }
-
-    /**
-     * Sets the default locale.
-     *
-     * @param string $locale
-     *
-     * @api
-     */
-    public function setDefaultLocale($locale)
-    {
-        $this->defaultLocale = $locale;
-
-        if (null === $this->locale) {
-            $this->setPhpDefaultLocale($locale);
-        }
-    }
-
-    /**
-     * Get the default locale.
-     *
-     * @return string
-     */
-    public function getDefaultLocale()
-    {
-        return $this->defaultLocale;
-    }
-
-    /**
-     * Sets the locale.
-     *
-     * @param string $locale
-     *
-     * @api
-     */
-    public function setLocale($locale)
-    {
-        $this->setPhpDefaultLocale($this->locale = $locale);
-    }
-
-    /**
-     * Get the locale.
-     *
-     * @return string
-     */
-    public function getLocale()
-    {
-        return null === $this->locale ? $this->defaultLocale : $this->locale;
-    }
-
-    /**
-     * Checks if the request method is of specified type.
-     *
-     * @param string $method Uppercase request method (GET, POST etc).
-     *
-     * @return bool
-     */
-    public function isMethod($method)
-    {
-        return $this->getMethod() === strtoupper($method);
-    }
-
-    /**
-     * Checks whether the method is safe or not.
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isMethodSafe()
-    {
-        return in_array($this->getMethod(), array('GET', 'HEAD'));
-    }
-
-    /**
-     * Returns the request body content.
-     *
-     * @param bool $asResource If true, a resource will be returned
-     *
-     * @return string|resource The request body content or a resource to read the body stream.
-     *
-     * @throws \LogicException
-     */
-    public function getContent($asResource = false)
-    {
-        if (false === $this->content || (true === $asResource && null !== $this->content)) {
-            throw new \LogicException('getContent() can only be called once when using the resource return type.');
-        }
-
-        if (true === $asResource) {
-            $this->content = false;
-
-            return fopen('php://input', 'rb');
-        }
-
-        if (null === $this->content) {
-            $this->content = file_get_contents('php://input');
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * Gets the Etags.
-     *
-     * @return array The entity tags
-     */
-    public function getETags()
-    {
-        return preg_split('/\s*,\s*/', $this->headers->get('if_none_match'), null, PREG_SPLIT_NO_EMPTY);
-    }
-
-    /**
-     * @return bool
-     */
-    public function isNoCache()
-    {
-        return $this->headers->hasCacheControlDirective('no-cache') || 'no-cache' == $this->headers->get('Pragma');
-    }
-
-    /**
-     * Returns the preferred language.
-     *
-     * @param array $locales An array of ordered available locales
-     *
-     * @return string|null The preferred locale
-     *
-     * @api
-     */
-    public function getPreferredLanguage(array $locales = null)
-    {
-        $preferredLanguages = $this->getLanguages();
-
-        if (empty($locales)) {
-            return isset($preferredLanguages[0]) ? $preferredLanguages[0] : null;
-        }
-
-        if (!$preferredLanguages) {
-            return $locales[0];
-        }
-
-        $extendedPreferredLanguages = array();
-        foreach ($preferredLanguages as $language) {
-            $extendedPreferredLanguages[] = $language;
-            if (false !== $position = strpos($language, '_')) {
-                $superLanguage = substr($language, 0, $position);
-                if (!in_array($superLanguage, $preferredLanguages)) {
-                    $extendedPreferredLanguages[] = $superLanguage;
-                }
-            }
-        }
-
-        $preferredLanguages = array_values(array_intersect($extendedPreferredLanguages, $locales));
-
-        return isset($preferredLanguages[0]) ? $preferredLanguages[0] : $locales[0];
-    }
-
-    /**
-     * Gets a list of languages acceptable by the client browser.
-     *
-     * @return array Languages ordered in the user browser preferences
-     *
-     * @api
-     */
-    public function getLanguages()
-    {
-        if (null !== $this->languages) {
-            return $this->languages;
-        }
-
-        $languages = AcceptHeader::fromString($this->headers->get('Accept-Language'))->all();
-        $this->languages = array();
-        foreach (array_keys($languages) as $lang) {
-            if (strstr($lang, '-')) {
-                $codes = explode('-', $lang);
-                if ('i' === $codes[0]) {
-                    // Language not listed in ISO 639 that are not variants
-                    // of any listed language, which can be registered with the
-                    // i-prefix, such as i-cherokee
-                    if (count($codes) > 1) {
-                        $lang = $codes[1];
-                    }
-                } else {
-                    for ($i = 0, $max = count($codes); $i < $max; $i++) {
-                        if ($i === 0) {
-                            $lang = strtolower($codes[0]);
-                        } else {
-                            $lang .= '_'.strtoupper($codes[$i]);
-                        }
-                    }
-                }
-            }
-
-            $this->languages[] = $lang;
-        }
-
-        return $this->languages;
-    }
-
-    /**
-     * Gets a list of charsets acceptable by the client browser.
-     *
-     * @return array List of charsets in preferable order
-     *
-     * @api
-     */
-    public function getCharsets()
-    {
-        if (null !== $this->charsets) {
-            return $this->charsets;
-        }
-
-        return $this->charsets = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Charset'))->all());
-    }
-
-    /**
-     * Gets a list of encodings acceptable by the client browser.
-     *
-     * @return array List of encodings in preferable order
-     */
-    public function getEncodings()
-    {
-        if (null !== $this->encodings) {
-            return $this->encodings;
-        }
-
-        return $this->encodings = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Encoding'))->all());
-    }
-
-    /**
-     * Gets a list of content types acceptable by the client browser.
-     *
-     * @return array List of content types in preferable order
-     *
-     * @api
-     */
-    public function getAcceptableContentTypes()
-    {
-        if (null !== $this->acceptableContentTypes) {
-            return $this->acceptableContentTypes;
-        }
-
-        return $this->acceptableContentTypes = array_keys(AcceptHeader::fromString($this->headers->get('Accept'))->all());
-    }
-
-    /**
-     * Returns true if the request is a XMLHttpRequest.
-     *
-     * It works if your JavaScript library sets an X-Requested-With HTTP header.
-     * It is known to work with common JavaScript frameworks:
-     *
-     * @link http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript
-     *
-     * @return bool true if the request is an XMLHttpRequest, false otherwise
-     *
-     * @api
-     */
-    public function isXmlHttpRequest()
-    {
-        return 'XMLHttpRequest' == $this->headers->get('X-Requested-With');
-    }
-
-    /*
-     * The following methods are derived from code of the Zend Framework (1.10dev - 2010-01-24)
-     *
-     * Code subject to the new BSD license (http://framework.zend.com/license/new-bsd).
-     *
-     * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
-     */
-
-    protected function prepareRequestUri()
-    {
-        $requestUri = '';
-
-        if ($this->headers->has('X_ORIGINAL_URL')) {
-            // IIS with Microsoft Rewrite Module
-            $requestUri = $this->headers->get('X_ORIGINAL_URL');
-            $this->headers->remove('X_ORIGINAL_URL');
-            $this->server->remove('HTTP_X_ORIGINAL_URL');
-            $this->server->remove('UNENCODED_URL');
-            $this->server->remove('IIS_WasUrlRewritten');
-        } elseif ($this->headers->has('X_REWRITE_URL')) {
-            // IIS with ISAPI_Rewrite
-            $requestUri = $this->headers->get('X_REWRITE_URL');
-            $this->headers->remove('X_REWRITE_URL');
-        } elseif ($this->server->get('IIS_WasUrlRewritten') == '1' && $this->server->get('UNENCODED_URL') != '') {
-            // IIS7 with URL Rewrite: make sure we get the unencoded URL (double slash problem)
-            $requestUri = $this->server->get('UNENCODED_URL');
-            $this->server->remove('UNENCODED_URL');
-            $this->server->remove('IIS_WasUrlRewritten');
-        } elseif ($this->server->has('REQUEST_URI')) {
-            $requestUri = $this->server->get('REQUEST_URI');
-            // HTTP proxy reqs setup request URI with scheme and host [and port] + the URL path, only use URL path
-            $schemeAndHttpHost = $this->getSchemeAndHttpHost();
-            if (strpos($requestUri, $schemeAndHttpHost) === 0) {
-                $requestUri = substr($requestUri, strlen($schemeAndHttpHost));
-            }
-        } elseif ($this->server->has('ORIG_PATH_INFO')) {
-            // IIS 5.0, PHP as CGI
-            $requestUri = $this->server->get('ORIG_PATH_INFO');
-            if ('' != $this->server->get('QUERY_STRING')) {
-                $requestUri .= '?'.$this->server->get('QUERY_STRING');
-            }
-            $this->server->remove('ORIG_PATH_INFO');
-        }
-
-        // normalize the request URI to ease creating sub-requests from this request
-        $this->server->set('REQUEST_URI', $requestUri);
-
-        return $requestUri;
-    }
-
-    /**
-     * Prepares the base URL.
-     *
-     * @return string
-     */
-    protected function prepareBaseUrl()
-    {
-        $filename = basename($this->server->get('SCRIPT_FILENAME'));
-
-        if (basename($this->server->get('SCRIPT_NAME')) === $filename) {
-            $baseUrl = $this->server->get('SCRIPT_NAME');
-        } elseif (basename($this->server->get('PHP_SELF')) === $filename) {
-            $baseUrl = $this->server->get('PHP_SELF');
-        } elseif (basename($this->server->get('ORIG_SCRIPT_NAME')) === $filename) {
-            $baseUrl = $this->server->get('ORIG_SCRIPT_NAME'); // 1and1 shared hosting compatibility
-        } else {
-            // Backtrack up the script_filename to find the portion matching
-            // php_self
-            $path = $this->server->get('PHP_SELF', '');
-            $file = $this->server->get('SCRIPT_FILENAME', '');
-            $segs = explode('/', trim($file, '/'));
-            $segs = array_reverse($segs);
-            $index = 0;
-            $last = count($segs);
-            $baseUrl = '';
-            do {
-                $seg = $segs[$index];
-                $baseUrl = '/'.$seg.$baseUrl;
-                ++$index;
-            } while ($last > $index && (false !== $pos = strpos($path, $baseUrl)) && 0 != $pos);
-        }
-
-        // Does the baseUrl have anything in common with the request_uri?
-        $requestUri = $this->getRequestUri();
-
-        if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, $baseUrl)) {
-            // full $baseUrl matches
-            return $prefix;
-        }
-
-        if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, dirname($baseUrl).'/')) {
-            // directory portion of $baseUrl matches
-            return rtrim($prefix, '/');
-        }
-
-        $truncatedRequestUri = $requestUri;
-        if (false !== $pos = strpos($requestUri, '?')) {
-            $truncatedRequestUri = substr($requestUri, 0, $pos);
-        }
-
-        $basename = basename($baseUrl);
-        if (empty($basename) || !strpos(rawurldecode($truncatedRequestUri), $basename)) {
-            // no match whatsoever; set it blank
-            return '';
-        }
-
-        // If using mod_rewrite or ISAPI_Rewrite strip the script filename
-        // out of baseUrl. $pos !== 0 makes sure it is not matching a value
-        // from PATH_INFO or QUERY_STRING
-        if (strlen($requestUri) >= strlen($baseUrl) && (false !== $pos = strpos($requestUri, $baseUrl)) && $pos !== 0) {
-            $baseUrl = substr($requestUri, 0, $pos + strlen($baseUrl));
-        }
-
-        return rtrim($baseUrl, '/');
-    }
-
-    /**
-     * Prepares the base path.
-     *
-     * @return string base path
-     */
-    protected function prepareBasePath()
-    {
-        $filename = basename($this->server->get('SCRIPT_FILENAME'));
-        $baseUrl = $this->getBaseUrl();
-        if (empty($baseUrl)) {
-            return '';
-        }
-
-        if (basename($baseUrl) === $filename) {
-            $basePath = dirname($baseUrl);
-        } else {
-            $basePath = $baseUrl;
-        }
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $basePath = str_replace('\\', '/', $basePath);
-        }
-
-        return rtrim($basePath, '/');
-    }
-
-    /**
-     * Prepares the path info.
-     *
-     * @return string path info
-     */
-    protected function preparePathInfo()
-    {
-        $baseUrl = $this->getBaseUrl();
-
-        if (null === ($requestUri = $this->getRequestUri())) {
-            return '/';
-        }
-
-        $pathInfo = '/';
-
-        // Remove the query string from REQUEST_URI
-        if ($pos = strpos($requestUri, '?')) {
-            $requestUri = substr($requestUri, 0, $pos);
-        }
-
-        if (null !== $baseUrl && false === $pathInfo = substr($requestUri, strlen($baseUrl))) {
-            // If substr() returns false then PATH_INFO is set to an empty string
-            return '/';
-        } elseif (null === $baseUrl) {
-            return $requestUri;
-        }
-
-        return (string) $pathInfo;
-    }
-
-    /**
-     * Initializes HTTP request formats.
-     */
-    protected static function initializeFormats()
-    {
-        static::$formats = array(
-            'html' => array('text/html', 'application/xhtml+xml'),
-            'txt' => array('text/plain'),
-            'js' => array('application/javascript', 'application/x-javascript', 'text/javascript'),
-            'css' => array('text/css'),
-            'json' => array('application/json', 'application/x-json'),
-            'xml' => array('text/xml', 'application/xml', 'application/x-xml'),
-            'rdf' => array('application/rdf+xml'),
-            'atom' => array('application/atom+xml'),
-            'rss' => array('application/rss+xml'),
-            'form' => array('application/x-www-form-urlencoded'),
-        );
-    }
-
-    /**
-     * Sets the default PHP locale.
-     *
-     * @param string $locale
-     */
-    private function setPhpDefaultLocale($locale)
-    {
-        // if either the class Locale doesn't exist, or an exception is thrown when
-        // setting the default locale, the intl module is not installed, and
-        // the call can be ignored:
-        try {
-            if (class_exists('Locale', false)) {
-                \Locale::setDefault($locale);
-            }
-        } catch (\Exception $e) {
-        }
-    }
-
-    /*
-     * Returns the prefix as encoded in the string when the string starts with
-     * the given prefix, false otherwise.
-     *
-     * @param string $string The urlencoded string
-     * @param string $prefix The prefix not encoded
-     *
-     * @return string|false The prefix as it is encoded in $string, or false
-     */
-    private function getUrlencodedPrefix($string, $prefix)
-    {
-        if (0 !== strpos(rawurldecode($string), $prefix)) {
-            return false;
-        }
-
-        $len = strlen($prefix);
-
-        if (preg_match(sprintf('#^(%%[[:xdigit:]]{2}|.){%d}#', $len), $string, $match)) {
-            return $match[0];
-        }
-
-        return false;
-    }
-
-    private static function createRequestFromFactory(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), $content = null)
-    {
-        if (self::$requestFactory) {
-            $request = call_user_func(self::$requestFactory, $query, $request, $attributes, $cookies, $files, $server, $content);
-
-            if (!$request instanceof Request) {
-                throw new \LogicException('The Request factory must return an instance of Symfony\Component\HttpFoundation\Request.');
-            }
-
-            return $request;
-        }
-
-        return new static($query, $request, $attributes, $cookies, $files, $server, $content);
-    }
-
-    private function isFromTrustedProxy()
-    {
-        return self::$trustedProxies && IpUtils::checkIp($this->server->get('REMOTE_ADDR'), self::$trustedProxies);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcher.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcher.php
deleted file mode 100644
index c571c60..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcher.php
+++ /dev/null
@@ -1,182 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * RequestMatcher compares a pre-defined set of checks against a Request instance.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class RequestMatcher implements RequestMatcherInterface
-{
-    /**
-     * @var string
-     */
-    private $path;
-
-    /**
-     * @var string
-     */
-    private $host;
-
-    /**
-     * @var array
-     */
-    private $methods = array();
-
-    /**
-     * @var string
-     */
-    private $ips = array();
-
-    /**
-     * @var array
-     */
-    private $attributes = array();
-
-    /**
-     * @var string[]
-     */
-    private $schemes = array();
-
-    /**
-     * @param string|null          $path
-     * @param string|null          $host
-     * @param string|string[]|null $methods
-     * @param string|string[]|null $ips
-     * @param array                $attributes
-     * @param string|string[]|null $schemes
-     */
-    public function __construct($path = null, $host = null, $methods = null, $ips = null, array $attributes = array(), $schemes = null)
-    {
-        $this->matchPath($path);
-        $this->matchHost($host);
-        $this->matchMethod($methods);
-        $this->matchIps($ips);
-        $this->matchScheme($schemes);
-
-        foreach ($attributes as $k => $v) {
-            $this->matchAttribute($k, $v);
-        }
-    }
-
-    /**
-     * Adds a check for the HTTP scheme.
-     *
-     * @param string|string[]|null $scheme An HTTP scheme or an array of HTTP schemes
-     */
-    public function matchScheme($scheme)
-    {
-        $this->schemes = array_map('strtolower', (array) $scheme);
-    }
-
-    /**
-     * Adds a check for the URL host name.
-     *
-     * @param string $regexp A Regexp
-     */
-    public function matchHost($regexp)
-    {
-        $this->host = $regexp;
-    }
-
-    /**
-     * Adds a check for the URL path info.
-     *
-     * @param string $regexp A Regexp
-     */
-    public function matchPath($regexp)
-    {
-        $this->path = $regexp;
-    }
-
-    /**
-     * Adds a check for the client IP.
-     *
-     * @param string $ip A specific IP address or a range specified using IP/netmask like 192.168.1.0/24
-     */
-    public function matchIp($ip)
-    {
-        $this->matchIps($ip);
-    }
-
-    /**
-     * Adds a check for the client IP.
-     *
-     * @param string|string[] $ips A specific IP address or a range specified using IP/netmask like 192.168.1.0/24
-     */
-    public function matchIps($ips)
-    {
-        $this->ips = (array) $ips;
-    }
-
-    /**
-     * Adds a check for the HTTP method.
-     *
-     * @param string|string[] $method An HTTP method or an array of HTTP methods
-     */
-    public function matchMethod($method)
-    {
-        $this->methods = array_map('strtoupper', (array) $method);
-    }
-
-    /**
-     * Adds a check for request attribute.
-     *
-     * @param string $key    The request attribute name
-     * @param string $regexp A Regexp
-     */
-    public function matchAttribute($key, $regexp)
-    {
-        $this->attributes[$key] = $regexp;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function matches(Request $request)
-    {
-        if ($this->schemes && !in_array($request->getScheme(), $this->schemes)) {
-            return false;
-        }
-
-        if ($this->methods && !in_array($request->getMethod(), $this->methods)) {
-            return false;
-        }
-
-        foreach ($this->attributes as $key => $pattern) {
-            if (!preg_match('{'.$pattern.'}', $request->attributes->get($key))) {
-                return false;
-            }
-        }
-
-        if (null !== $this->path && !preg_match('{'.$this->path.'}', rawurldecode($request->getPathInfo()))) {
-            return false;
-        }
-
-        if (null !== $this->host && !preg_match('{'.$this->host.'}i', $request->getHost())) {
-            return false;
-        }
-
-        if (IpUtils::checkIp($request->getClientIp(), $this->ips)) {
-            return true;
-        }
-
-        // Note to future implementors: add additional checks above the
-        // foreach above or else your check might not be run!
-        return count($this->ips) === 0;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcherInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcherInterface.php
deleted file mode 100644
index b45f80c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcherInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * RequestMatcherInterface is an interface for strategies to match a Request.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface RequestMatcherInterface
-{
-    /**
-     * Decides whether the rule(s) implemented by the strategy matches the supplied request.
-     *
-     * @param Request $request The request to check for a match
-     *
-     * @return bool true if the request matches, false otherwise
-     *
-     * @api
-     */
-    public function matches(Request $request);
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestStack.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestStack.php
deleted file mode 100644
index 3d9cfd0..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestStack.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Request stack that controls the lifecycle of requests.
- *
- * @author Benjamin Eberlei <kontakt@beberlei.de>
- */
-class RequestStack
-{
-    /**
-     * @var Request[]
-     */
-    private $requests = array();
-
-    /**
-     * Pushes a Request on the stack.
-     *
-     * This method should generally not be called directly as the stack
-     * management should be taken care of by the application itself.
-     */
-    public function push(Request $request)
-    {
-        $this->requests[] = $request;
-    }
-
-    /**
-     * Pops the current request from the stack.
-     *
-     * This operation lets the current request go out of scope.
-     *
-     * This method should generally not be called directly as the stack
-     * management should be taken care of by the application itself.
-     *
-     * @return Request|null
-     */
-    public function pop()
-    {
-        if (!$this->requests) {
-            return;
-        }
-
-        return array_pop($this->requests);
-    }
-
-    /**
-     * @return Request|null
-     */
-    public function getCurrentRequest()
-    {
-        return end($this->requests) ?: null;
-    }
-
-    /**
-     * Gets the master Request.
-     *
-     * Be warned that making your code aware of the master request
-     * might make it un-compatible with other features of your framework
-     * like ESI support.
-     *
-     * @return Request|null
-     */
-    public function getMasterRequest()
-    {
-        if (!$this->requests) {
-            return;
-        }
-
-        return $this->requests[0];
-    }
-
-    /**
-     * Returns the parent request of the current.
-     *
-     * Be warned that making your code aware of the parent request
-     * might make it un-compatible with other features of your framework
-     * like ESI support.
-     *
-     * If current Request is the master request, it returns null.
-     *
-     * @return Request|null
-     */
-    public function getParentRequest()
-    {
-        $pos = count($this->requests) - 2;
-
-        if (!isset($this->requests[$pos])) {
-            return;
-        }
-
-        return $this->requests[$pos];
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php
deleted file mode 100644
index 9baa7bc..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * SessionHandlerInterface for PHP < 5.4.
- *
- * The order in which these methods are invoked by PHP are:
- * 1. open [session_start]
- * 2. read
- * 3. gc [optional depending on probability settings: gc_probability / gc_divisor]
- * 4. destroy [optional when session_regenerate_id(true) is used]
- * 5. write [session_write_close] or destroy [session_destroy]
- * 6. close
- *
- * Extensive documentation can be found at php.net, see links:
- *
- * @see http://php.net/sessionhandlerinterface
- * @see http://php.net/session.customhandler
- * @see http://php.net/session-set-save-handler
- *
- * @author Drak <drak@zikula.org>
- * @author Tobias Schultze <http://tobion.de>
- */
-interface SessionHandlerInterface
-{
-    /**
-     * Re-initializes existing session, or creates a new one.
-     *
-     * @see http://php.net/sessionhandlerinterface.open
-     *
-     * @param string $savePath    Save path
-     * @param string $sessionName Session name, see http://php.net/function.session-name.php
-     *
-     * @return bool true on success, false on failure
-     */
-    public function open($savePath, $sessionName);
-
-    /**
-     * Closes the current session.
-     *
-     * @see http://php.net/sessionhandlerinterface.close
-     *
-     * @return bool true on success, false on failure
-     */
-    public function close();
-
-    /**
-     * Reads the session data.
-     *
-     * @see http://php.net/sessionhandlerinterface.read
-     *
-     * @param string $sessionId Session ID, see http://php.net/function.session-id
-     *
-     * @return string Same session data as passed in write() or empty string when non-existent or on failure
-     */
-    public function read($sessionId);
-
-    /**
-     * Writes the session data to the storage.
-     *
-     * Care, the session ID passed to write() can be different from the one previously
-     * received in read() when the session ID changed due to session_regenerate_id().
-     *
-     * @see http://php.net/sessionhandlerinterface.write
-     *
-     * @param string $sessionId Session ID , see http://php.net/function.session-id
-     * @param string $data      Serialized session data to save
-     *
-     * @return bool true on success, false on failure
-     */
-    public function write($sessionId, $data);
-
-    /**
-     * Destroys a session.
-     *
-     * @see http://php.net/sessionhandlerinterface.destroy
-     *
-     * @param string $sessionId Session ID, see http://php.net/function.session-id
-     *
-     * @return bool true on success, false on failure
-     */
-    public function destroy($sessionId);
-
-    /**
-     * Cleans up expired sessions (garbage collection).
-     *
-     * @see http://php.net/sessionhandlerinterface.gc
-     *
-     * @param string|int $maxlifetime Sessions that have not updated for the last maxlifetime seconds will be removed
-     *
-     * @return bool true on success, false on failure
-     */
-    public function gc($maxlifetime);
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php
deleted file mode 100644
index 0421cee..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php
+++ /dev/null
@@ -1,1275 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * Response represents an HTTP response.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class Response
-{
-    const HTTP_CONTINUE = 100;
-    const HTTP_SWITCHING_PROTOCOLS = 101;
-    const HTTP_PROCESSING = 102;            // RFC2518
-    const HTTP_OK = 200;
-    const HTTP_CREATED = 201;
-    const HTTP_ACCEPTED = 202;
-    const HTTP_NON_AUTHORITATIVE_INFORMATION = 203;
-    const HTTP_NO_CONTENT = 204;
-    const HTTP_RESET_CONTENT = 205;
-    const HTTP_PARTIAL_CONTENT = 206;
-    const HTTP_MULTI_STATUS = 207;          // RFC4918
-    const HTTP_ALREADY_REPORTED = 208;      // RFC5842
-    const HTTP_IM_USED = 226;               // RFC3229
-    const HTTP_MULTIPLE_CHOICES = 300;
-    const HTTP_MOVED_PERMANENTLY = 301;
-    const HTTP_FOUND = 302;
-    const HTTP_SEE_OTHER = 303;
-    const HTTP_NOT_MODIFIED = 304;
-    const HTTP_USE_PROXY = 305;
-    const HTTP_RESERVED = 306;
-    const HTTP_TEMPORARY_REDIRECT = 307;
-    const HTTP_PERMANENTLY_REDIRECT = 308;  // RFC7238
-    const HTTP_BAD_REQUEST = 400;
-    const HTTP_UNAUTHORIZED = 401;
-    const HTTP_PAYMENT_REQUIRED = 402;
-    const HTTP_FORBIDDEN = 403;
-    const HTTP_NOT_FOUND = 404;
-    const HTTP_METHOD_NOT_ALLOWED = 405;
-    const HTTP_NOT_ACCEPTABLE = 406;
-    const HTTP_PROXY_AUTHENTICATION_REQUIRED = 407;
-    const HTTP_REQUEST_TIMEOUT = 408;
-    const HTTP_CONFLICT = 409;
-    const HTTP_GONE = 410;
-    const HTTP_LENGTH_REQUIRED = 411;
-    const HTTP_PRECONDITION_FAILED = 412;
-    const HTTP_REQUEST_ENTITY_TOO_LARGE = 413;
-    const HTTP_REQUEST_URI_TOO_LONG = 414;
-    const HTTP_UNSUPPORTED_MEDIA_TYPE = 415;
-    const HTTP_REQUESTED_RANGE_NOT_SATISFIABLE = 416;
-    const HTTP_EXPECTATION_FAILED = 417;
-    const HTTP_I_AM_A_TEAPOT = 418;                                               // RFC2324
-    const HTTP_UNPROCESSABLE_ENTITY = 422;                                        // RFC4918
-    const HTTP_LOCKED = 423;                                                      // RFC4918
-    const HTTP_FAILED_DEPENDENCY = 424;                                           // RFC4918
-    const HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL = 425;   // RFC2817
-    const HTTP_UPGRADE_REQUIRED = 426;                                            // RFC2817
-    const HTTP_PRECONDITION_REQUIRED = 428;                                       // RFC6585
-    const HTTP_TOO_MANY_REQUESTS = 429;                                           // RFC6585
-    const HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431;                             // RFC6585
-    const HTTP_INTERNAL_SERVER_ERROR = 500;
-    const HTTP_NOT_IMPLEMENTED = 501;
-    const HTTP_BAD_GATEWAY = 502;
-    const HTTP_SERVICE_UNAVAILABLE = 503;
-    const HTTP_GATEWAY_TIMEOUT = 504;
-    const HTTP_VERSION_NOT_SUPPORTED = 505;
-    const HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL = 506;                        // RFC2295
-    const HTTP_INSUFFICIENT_STORAGE = 507;                                        // RFC4918
-    const HTTP_LOOP_DETECTED = 508;                                               // RFC5842
-    const HTTP_NOT_EXTENDED = 510;                                                // RFC2774
-    const HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511;                             // RFC6585
-
-    /**
-     * @var \Symfony\Component\HttpFoundation\ResponseHeaderBag
-     */
-    public $headers;
-
-    /**
-     * @var string
-     */
-    protected $content;
-
-    /**
-     * @var string
-     */
-    protected $version;
-
-    /**
-     * @var int
-     */
-    protected $statusCode;
-
-    /**
-     * @var string
-     */
-    protected $statusText;
-
-    /**
-     * @var string
-     */
-    protected $charset;
-
-    /**
-     * Status codes translation table.
-     *
-     * The list of codes is complete according to the
-     * {@link http://www.iana.org/assignments/http-status-codes/ Hypertext Transfer Protocol (HTTP) Status Code Registry}
-     * (last updated 2012-02-13).
-     *
-     * Unless otherwise noted, the status code is defined in RFC2616.
-     *
-     * @var array
-     */
-    public static $statusTexts = array(
-        100 => 'Continue',
-        101 => 'Switching Protocols',
-        102 => 'Processing',            // RFC2518
-        200 => 'OK',
-        201 => 'Created',
-        202 => 'Accepted',
-        203 => 'Non-Authoritative Information',
-        204 => 'No Content',
-        205 => 'Reset Content',
-        206 => 'Partial Content',
-        207 => 'Multi-Status',          // RFC4918
-        208 => 'Already Reported',      // RFC5842
-        226 => 'IM Used',               // RFC3229
-        300 => 'Multiple Choices',
-        301 => 'Moved Permanently',
-        302 => 'Found',
-        303 => 'See Other',
-        304 => 'Not Modified',
-        305 => 'Use Proxy',
-        306 => 'Reserved',
-        307 => 'Temporary Redirect',
-        308 => 'Permanent Redirect',    // RFC7238
-        400 => 'Bad Request',
-        401 => 'Unauthorized',
-        402 => 'Payment Required',
-        403 => 'Forbidden',
-        404 => 'Not Found',
-        405 => 'Method Not Allowed',
-        406 => 'Not Acceptable',
-        407 => 'Proxy Authentication Required',
-        408 => 'Request Timeout',
-        409 => 'Conflict',
-        410 => 'Gone',
-        411 => 'Length Required',
-        412 => 'Precondition Failed',
-        413 => 'Request Entity Too Large',
-        414 => 'Request-URI Too Long',
-        415 => 'Unsupported Media Type',
-        416 => 'Requested Range Not Satisfiable',
-        417 => 'Expectation Failed',
-        418 => 'I\'m a teapot',                                               // RFC2324
-        422 => 'Unprocessable Entity',                                        // RFC4918
-        423 => 'Locked',                                                      // RFC4918
-        424 => 'Failed Dependency',                                           // RFC4918
-        425 => 'Reserved for WebDAV advanced collections expired proposal',   // RFC2817
-        426 => 'Upgrade Required',                                            // RFC2817
-        428 => 'Precondition Required',                                       // RFC6585
-        429 => 'Too Many Requests',                                           // RFC6585
-        431 => 'Request Header Fields Too Large',                             // RFC6585
-        500 => 'Internal Server Error',
-        501 => 'Not Implemented',
-        502 => 'Bad Gateway',
-        503 => 'Service Unavailable',
-        504 => 'Gateway Timeout',
-        505 => 'HTTP Version Not Supported',
-        506 => 'Variant Also Negotiates (Experimental)',                      // RFC2295
-        507 => 'Insufficient Storage',                                        // RFC4918
-        508 => 'Loop Detected',                                               // RFC5842
-        510 => 'Not Extended',                                                // RFC2774
-        511 => 'Network Authentication Required',                             // RFC6585
-    );
-
-    /**
-     * Constructor.
-     *
-     * @param mixed $content The response content, see setContent()
-     * @param int   $status  The response status code
-     * @param array $headers An array of response headers
-     *
-     * @throws \InvalidArgumentException When the HTTP status code is not valid
-     *
-     * @api
-     */
-    public function __construct($content = '', $status = 200, $headers = array())
-    {
-        $this->headers = new ResponseHeaderBag($headers);
-        $this->setContent($content);
-        $this->setStatusCode($status);
-        $this->setProtocolVersion('1.0');
-        if (!$this->headers->has('Date')) {
-            $this->setDate(new \DateTime(null, new \DateTimeZone('UTC')));
-        }
-    }
-
-    /**
-     * Factory method for chainability.
-     *
-     * Example:
-     *
-     *     return Response::create($body, 200)
-     *         ->setSharedMaxAge(300);
-     *
-     * @param mixed $content The response content, see setContent()
-     * @param int   $status  The response status code
-     * @param array $headers An array of response headers
-     *
-     * @return Response
-     */
-    public static function create($content = '', $status = 200, $headers = array())
-    {
-        return new static($content, $status, $headers);
-    }
-
-    /**
-     * Returns the Response as an HTTP string.
-     *
-     * The string representation of the Response is the same as the
-     * one that will be sent to the client only if the prepare() method
-     * has been called before.
-     *
-     * @return string The Response as an HTTP string
-     *
-     * @see prepare()
-     */
-    public function __toString()
-    {
-        return
-            sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText)."\r\n".
-            $this->headers."\r\n".
-            $this->getContent();
-    }
-
-    /**
-     * Clones the current Response instance.
-     */
-    public function __clone()
-    {
-        $this->headers = clone $this->headers;
-    }
-
-    /**
-     * Prepares the Response before it is sent to the client.
-     *
-     * This method tweaks the Response to ensure that it is
-     * compliant with RFC 2616. Most of the changes are based on
-     * the Request that is "associated" with this Response.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return Response The current response.
-     */
-    public function prepare(Request $request)
-    {
-        $headers = $this->headers;
-
-        if ($this->isInformational() || $this->isEmpty()) {
-            $this->setContent(null);
-            $headers->remove('Content-Type');
-            $headers->remove('Content-Length');
-        } else {
-            // Content-type based on the Request
-            if (!$headers->has('Content-Type')) {
-                $format = $request->getRequestFormat();
-                if (null !== $format && $mimeType = $request->getMimeType($format)) {
-                    $headers->set('Content-Type', $mimeType);
-                }
-            }
-
-            // Fix Content-Type
-            $charset = $this->charset ?: 'UTF-8';
-            if (!$headers->has('Content-Type')) {
-                $headers->set('Content-Type', 'text/html; charset='.$charset);
-            } elseif (0 === stripos($headers->get('Content-Type'), 'text/') && false === stripos($headers->get('Content-Type'), 'charset')) {
-                // add the charset
-                $headers->set('Content-Type', $headers->get('Content-Type').'; charset='.$charset);
-            }
-
-            // Fix Content-Length
-            if ($headers->has('Transfer-Encoding')) {
-                $headers->remove('Content-Length');
-            }
-
-            if ($request->isMethod('HEAD')) {
-                // cf. RFC2616 14.13
-                $length = $headers->get('Content-Length');
-                $this->setContent(null);
-                if ($length) {
-                    $headers->set('Content-Length', $length);
-                }
-            }
-        }
-
-        // Fix protocol
-        if ('HTTP/1.0' != $request->server->get('SERVER_PROTOCOL')) {
-            $this->setProtocolVersion('1.1');
-        }
-
-        // Check if we need to send extra expire info headers
-        if ('1.0' == $this->getProtocolVersion() && 'no-cache' == $this->headers->get('Cache-Control')) {
-            $this->headers->set('pragma', 'no-cache');
-            $this->headers->set('expires', -1);
-        }
-
-        $this->ensureIEOverSSLCompatibility($request);
-
-        return $this;
-    }
-
-    /**
-     * Sends HTTP headers.
-     *
-     * @return Response
-     */
-    public function sendHeaders()
-    {
-        // headers have already been sent by the developer
-        if (headers_sent()) {
-            return $this;
-        }
-
-        // status
-        header(sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText), true, $this->statusCode);
-
-        // headers
-        foreach ($this->headers->allPreserveCase() as $name => $values) {
-            foreach ($values as $value) {
-                header($name.': '.$value, false, $this->statusCode);
-            }
-        }
-
-        // cookies
-        foreach ($this->headers->getCookies() as $cookie) {
-            setcookie($cookie->getName(), $cookie->getValue(), $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly());
-        }
-
-        return $this;
-    }
-
-    /**
-     * Sends content for the current web response.
-     *
-     * @return Response
-     */
-    public function sendContent()
-    {
-        echo $this->content;
-
-        return $this;
-    }
-
-    /**
-     * Sends HTTP headers and content.
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function send()
-    {
-        $this->sendHeaders();
-        $this->sendContent();
-
-        if (function_exists('fastcgi_finish_request')) {
-            fastcgi_finish_request();
-        } elseif ('cli' !== PHP_SAPI) {
-            static::closeOutputBuffers(0, true);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Sets the response content.
-     *
-     * Valid types are strings, numbers, null, and objects that implement a __toString() method.
-     *
-     * @param mixed $content Content that can be cast to string
-     *
-     * @return Response
-     *
-     * @throws \UnexpectedValueException
-     *
-     * @api
-     */
-    public function setContent($content)
-    {
-        if (null !== $content && !is_string($content) && !is_numeric($content) && !is_callable(array($content, '__toString'))) {
-            throw new \UnexpectedValueException(sprintf('The Response content must be a string or object implementing __toString(), "%s" given.', gettype($content)));
-        }
-
-        $this->content = (string) $content;
-
-        return $this;
-    }
-
-    /**
-     * Gets the current response content.
-     *
-     * @return string Content
-     *
-     * @api
-     */
-    public function getContent()
-    {
-        return $this->content;
-    }
-
-    /**
-     * Sets the HTTP protocol version (1.0 or 1.1).
-     *
-     * @param string $version The HTTP protocol version
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setProtocolVersion($version)
-    {
-        $this->version = $version;
-
-        return $this;
-    }
-
-    /**
-     * Gets the HTTP protocol version.
-     *
-     * @return string The HTTP protocol version
-     *
-     * @api
-     */
-    public function getProtocolVersion()
-    {
-        return $this->version;
-    }
-
-    /**
-     * Sets the response status code.
-     *
-     * @param int   $code HTTP status code
-     * @param mixed $text HTTP status text
-     *
-     * If the status text is null it will be automatically populated for the known
-     * status codes and left empty otherwise.
-     *
-     * @return Response
-     *
-     * @throws \InvalidArgumentException When the HTTP status code is not valid
-     *
-     * @api
-     */
-    public function setStatusCode($code, $text = null)
-    {
-        $this->statusCode = $code = (int) $code;
-        if ($this->isInvalid()) {
-            throw new \InvalidArgumentException(sprintf('The HTTP status code "%s" is not valid.', $code));
-        }
-
-        if (null === $text) {
-            $this->statusText = isset(self::$statusTexts[$code]) ? self::$statusTexts[$code] : '';
-
-            return $this;
-        }
-
-        if (false === $text) {
-            $this->statusText = '';
-
-            return $this;
-        }
-
-        $this->statusText = $text;
-
-        return $this;
-    }
-
-    /**
-     * Retrieves the status code for the current web response.
-     *
-     * @return int Status code
-     *
-     * @api
-     */
-    public function getStatusCode()
-    {
-        return $this->statusCode;
-    }
-
-    /**
-     * Sets the response charset.
-     *
-     * @param string $charset Character set
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setCharset($charset)
-    {
-        $this->charset = $charset;
-
-        return $this;
-    }
-
-    /**
-     * Retrieves the response charset.
-     *
-     * @return string Character set
-     *
-     * @api
-     */
-    public function getCharset()
-    {
-        return $this->charset;
-    }
-
-    /**
-     * Returns true if the response is worth caching under any circumstance.
-     *
-     * Responses marked "private" with an explicit Cache-Control directive are
-     * considered uncacheable.
-     *
-     * Responses with neither a freshness lifetime (Expires, max-age) nor cache
-     * validator (Last-Modified, ETag) are considered uncacheable.
-     *
-     * @return bool true if the response is worth caching, false otherwise
-     *
-     * @api
-     */
-    public function isCacheable()
-    {
-        if (!in_array($this->statusCode, array(200, 203, 300, 301, 302, 404, 410))) {
-            return false;
-        }
-
-        if ($this->headers->hasCacheControlDirective('no-store') || $this->headers->getCacheControlDirective('private')) {
-            return false;
-        }
-
-        return $this->isValidateable() || $this->isFresh();
-    }
-
-    /**
-     * Returns true if the response is "fresh".
-     *
-     * Fresh responses may be served from cache without any interaction with the
-     * origin. A response is considered fresh when it includes a Cache-Control/max-age
-     * indicator or Expires header and the calculated age is less than the freshness lifetime.
-     *
-     * @return bool true if the response is fresh, false otherwise
-     *
-     * @api
-     */
-    public function isFresh()
-    {
-        return $this->getTtl() > 0;
-    }
-
-    /**
-     * Returns true if the response includes headers that can be used to validate
-     * the response with the origin server using a conditional GET request.
-     *
-     * @return bool true if the response is validateable, false otherwise
-     *
-     * @api
-     */
-    public function isValidateable()
-    {
-        return $this->headers->has('Last-Modified') || $this->headers->has('ETag');
-    }
-
-    /**
-     * Marks the response as "private".
-     *
-     * It makes the response ineligible for serving other clients.
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setPrivate()
-    {
-        $this->headers->removeCacheControlDirective('public');
-        $this->headers->addCacheControlDirective('private');
-
-        return $this;
-    }
-
-    /**
-     * Marks the response as "public".
-     *
-     * It makes the response eligible for serving other clients.
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setPublic()
-    {
-        $this->headers->addCacheControlDirective('public');
-        $this->headers->removeCacheControlDirective('private');
-
-        return $this;
-    }
-
-    /**
-     * Returns true if the response must be revalidated by caches.
-     *
-     * This method indicates that the response must not be served stale by a
-     * cache in any circumstance without first revalidating with the origin.
-     * When present, the TTL of the response should not be overridden to be
-     * greater than the value provided by the origin.
-     *
-     * @return bool true if the response must be revalidated by a cache, false otherwise
-     *
-     * @api
-     */
-    public function mustRevalidate()
-    {
-        return $this->headers->hasCacheControlDirective('must-revalidate') || $this->headers->has('proxy-revalidate');
-    }
-
-    /**
-     * Returns the Date header as a DateTime instance.
-     *
-     * @return \DateTime A \DateTime instance
-     *
-     * @throws \RuntimeException When the header is not parseable
-     *
-     * @api
-     */
-    public function getDate()
-    {
-        return $this->headers->getDate('Date', new \DateTime());
-    }
-
-    /**
-     * Sets the Date header.
-     *
-     * @param \DateTime $date A \DateTime instance
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setDate(\DateTime $date)
-    {
-        $date->setTimezone(new \DateTimeZone('UTC'));
-        $this->headers->set('Date', $date->format('D, d M Y H:i:s').' GMT');
-
-        return $this;
-    }
-
-    /**
-     * Returns the age of the response.
-     *
-     * @return int The age of the response in seconds
-     */
-    public function getAge()
-    {
-        if (null !== $age = $this->headers->get('Age')) {
-            return (int) $age;
-        }
-
-        return max(time() - $this->getDate()->format('U'), 0);
-    }
-
-    /**
-     * Marks the response stale by setting the Age header to be equal to the maximum age of the response.
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function expire()
-    {
-        if ($this->isFresh()) {
-            $this->headers->set('Age', $this->getMaxAge());
-        }
-
-        return $this;
-    }
-
-    /**
-     * Returns the value of the Expires header as a DateTime instance.
-     *
-     * @return \DateTime|null A DateTime instance or null if the header does not exist
-     *
-     * @api
-     */
-    public function getExpires()
-    {
-        try {
-            return $this->headers->getDate('Expires');
-        } catch (\RuntimeException $e) {
-            // according to RFC 2616 invalid date formats (e.g. "0" and "-1") must be treated as in the past
-            return \DateTime::createFromFormat(DATE_RFC2822, 'Sat, 01 Jan 00 00:00:00 +0000');
-        }
-    }
-
-    /**
-     * Sets the Expires HTTP header with a DateTime instance.
-     *
-     * Passing null as value will remove the header.
-     *
-     * @param \DateTime|null $date A \DateTime instance or null to remove the header
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setExpires(\DateTime $date = null)
-    {
-        if (null === $date) {
-            $this->headers->remove('Expires');
-        } else {
-            $date = clone $date;
-            $date->setTimezone(new \DateTimeZone('UTC'));
-            $this->headers->set('Expires', $date->format('D, d M Y H:i:s').' GMT');
-        }
-
-        return $this;
-    }
-
-    /**
-     * Returns the number of seconds after the time specified in the response's Date
-     * header when the response should no longer be considered fresh.
-     *
-     * First, it checks for a s-maxage directive, then a max-age directive, and then it falls
-     * back on an expires header. It returns null when no maximum age can be established.
-     *
-     * @return int|null Number of seconds
-     *
-     * @api
-     */
-    public function getMaxAge()
-    {
-        if ($this->headers->hasCacheControlDirective('s-maxage')) {
-            return (int) $this->headers->getCacheControlDirective('s-maxage');
-        }
-
-        if ($this->headers->hasCacheControlDirective('max-age')) {
-            return (int) $this->headers->getCacheControlDirective('max-age');
-        }
-
-        if (null !== $this->getExpires()) {
-            return $this->getExpires()->format('U') - $this->getDate()->format('U');
-        }
-    }
-
-    /**
-     * Sets the number of seconds after which the response should no longer be considered fresh.
-     *
-     * This methods sets the Cache-Control max-age directive.
-     *
-     * @param int $value Number of seconds
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setMaxAge($value)
-    {
-        $this->headers->addCacheControlDirective('max-age', $value);
-
-        return $this;
-    }
-
-    /**
-     * Sets the number of seconds after which the response should no longer be considered fresh by shared caches.
-     *
-     * This methods sets the Cache-Control s-maxage directive.
-     *
-     * @param int $value Number of seconds
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setSharedMaxAge($value)
-    {
-        $this->setPublic();
-        $this->headers->addCacheControlDirective('s-maxage', $value);
-
-        return $this;
-    }
-
-    /**
-     * Returns the response's time-to-live in seconds.
-     *
-     * It returns null when no freshness information is present in the response.
-     *
-     * When the responses TTL is <= 0, the response may not be served from cache without first
-     * revalidating with the origin.
-     *
-     * @return int|null The TTL in seconds
-     *
-     * @api
-     */
-    public function getTtl()
-    {
-        if (null !== $maxAge = $this->getMaxAge()) {
-            return $maxAge - $this->getAge();
-        }
-    }
-
-    /**
-     * Sets the response's time-to-live for shared caches.
-     *
-     * This method adjusts the Cache-Control/s-maxage directive.
-     *
-     * @param int $seconds Number of seconds
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setTtl($seconds)
-    {
-        $this->setSharedMaxAge($this->getAge() + $seconds);
-
-        return $this;
-    }
-
-    /**
-     * Sets the response's time-to-live for private/client caches.
-     *
-     * This method adjusts the Cache-Control/max-age directive.
-     *
-     * @param int $seconds Number of seconds
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setClientTtl($seconds)
-    {
-        $this->setMaxAge($this->getAge() + $seconds);
-
-        return $this;
-    }
-
-    /**
-     * Returns the Last-Modified HTTP header as a DateTime instance.
-     *
-     * @return \DateTime|null A DateTime instance or null if the header does not exist
-     *
-     * @throws \RuntimeException When the HTTP header is not parseable
-     *
-     * @api
-     */
-    public function getLastModified()
-    {
-        return $this->headers->getDate('Last-Modified');
-    }
-
-    /**
-     * Sets the Last-Modified HTTP header with a DateTime instance.
-     *
-     * Passing null as value will remove the header.
-     *
-     * @param \DateTime|null $date A \DateTime instance or null to remove the header
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setLastModified(\DateTime $date = null)
-    {
-        if (null === $date) {
-            $this->headers->remove('Last-Modified');
-        } else {
-            $date = clone $date;
-            $date->setTimezone(new \DateTimeZone('UTC'));
-            $this->headers->set('Last-Modified', $date->format('D, d M Y H:i:s').' GMT');
-        }
-
-        return $this;
-    }
-
-    /**
-     * Returns the literal value of the ETag HTTP header.
-     *
-     * @return string|null The ETag HTTP header or null if it does not exist
-     *
-     * @api
-     */
-    public function getEtag()
-    {
-        return $this->headers->get('ETag');
-    }
-
-    /**
-     * Sets the ETag value.
-     *
-     * @param string|null $etag The ETag unique identifier or null to remove the header
-     * @param bool        $weak Whether you want a weak ETag or not
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setEtag($etag = null, $weak = false)
-    {
-        if (null === $etag) {
-            $this->headers->remove('Etag');
-        } else {
-            if (0 !== strpos($etag, '"')) {
-                $etag = '"'.$etag.'"';
-            }
-
-            $this->headers->set('ETag', (true === $weak ? 'W/' : '').$etag);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Sets the response's cache headers (validation and/or expiration).
-     *
-     * Available options are: etag, last_modified, max_age, s_maxage, private, and public.
-     *
-     * @param array $options An array of cache options
-     *
-     * @return Response
-     *
-     * @throws \InvalidArgumentException
-     *
-     * @api
-     */
-    public function setCache(array $options)
-    {
-        if ($diff = array_diff(array_keys($options), array('etag', 'last_modified', 'max_age', 's_maxage', 'private', 'public'))) {
-            throw new \InvalidArgumentException(sprintf('Response does not support the following options: "%s".', implode('", "', array_values($diff))));
-        }
-
-        if (isset($options['etag'])) {
-            $this->setEtag($options['etag']);
-        }
-
-        if (isset($options['last_modified'])) {
-            $this->setLastModified($options['last_modified']);
-        }
-
-        if (isset($options['max_age'])) {
-            $this->setMaxAge($options['max_age']);
-        }
-
-        if (isset($options['s_maxage'])) {
-            $this->setSharedMaxAge($options['s_maxage']);
-        }
-
-        if (isset($options['public'])) {
-            if ($options['public']) {
-                $this->setPublic();
-            } else {
-                $this->setPrivate();
-            }
-        }
-
-        if (isset($options['private'])) {
-            if ($options['private']) {
-                $this->setPrivate();
-            } else {
-                $this->setPublic();
-            }
-        }
-
-        return $this;
-    }
-
-    /**
-     * Modifies the response so that it conforms to the rules defined for a 304 status code.
-     *
-     * This sets the status, removes the body, and discards any headers
-     * that MUST NOT be included in 304 responses.
-     *
-     * @return Response
-     *
-     * @see http://tools.ietf.org/html/rfc2616#section-10.3.5
-     *
-     * @api
-     */
-    public function setNotModified()
-    {
-        $this->setStatusCode(304);
-        $this->setContent(null);
-
-        // remove headers that MUST NOT be included with 304 Not Modified responses
-        foreach (array('Allow', 'Content-Encoding', 'Content-Language', 'Content-Length', 'Content-MD5', 'Content-Type', 'Last-Modified') as $header) {
-            $this->headers->remove($header);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Returns true if the response includes a Vary header.
-     *
-     * @return bool true if the response includes a Vary header, false otherwise
-     *
-     * @api
-     */
-    public function hasVary()
-    {
-        return null !== $this->headers->get('Vary');
-    }
-
-    /**
-     * Returns an array of header names given in the Vary header.
-     *
-     * @return array An array of Vary names
-     *
-     * @api
-     */
-    public function getVary()
-    {
-        if (!$vary = $this->headers->get('Vary', null, false)) {
-            return array();
-        }
-
-        $ret = array();
-        foreach ($vary as $item) {
-            $ret = array_merge($ret, preg_split('/[\s,]+/', $item));
-        }
-
-        return $ret;
-    }
-
-    /**
-     * Sets the Vary header.
-     *
-     * @param string|array $headers
-     * @param bool         $replace Whether to replace the actual value of not (true by default)
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function setVary($headers, $replace = true)
-    {
-        $this->headers->set('Vary', $headers, $replace);
-
-        return $this;
-    }
-
-    /**
-     * Determines if the Response validators (ETag, Last-Modified) match
-     * a conditional value specified in the Request.
-     *
-     * If the Response is not modified, it sets the status code to 304 and
-     * removes the actual content by calling the setNotModified() method.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool true if the Response validators match the Request, false otherwise
-     *
-     * @api
-     */
-    public function isNotModified(Request $request)
-    {
-        if (!$request->isMethodSafe()) {
-            return false;
-        }
-
-        $notModified = false;
-        $lastModified = $this->headers->get('Last-Modified');
-        $modifiedSince = $request->headers->get('If-Modified-Since');
-
-        if ($etags = $request->getEtags()) {
-            $notModified = in_array($this->getEtag(), $etags) || in_array('*', $etags);
-        }
-
-        if ($modifiedSince && $lastModified) {
-            $notModified = strtotime($modifiedSince) >= strtotime($lastModified) && (!$etags || $notModified);
-        }
-
-        if ($notModified) {
-            $this->setNotModified();
-        }
-
-        return $notModified;
-    }
-
-    // http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
-    /**
-     * Is response invalid?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isInvalid()
-    {
-        return $this->statusCode < 100 || $this->statusCode >= 600;
-    }
-
-    /**
-     * Is response informative?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isInformational()
-    {
-        return $this->statusCode >= 100 && $this->statusCode < 200;
-    }
-
-    /**
-     * Is response successful?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isSuccessful()
-    {
-        return $this->statusCode >= 200 && $this->statusCode < 300;
-    }
-
-    /**
-     * Is the response a redirect?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isRedirection()
-    {
-        return $this->statusCode >= 300 && $this->statusCode < 400;
-    }
-
-    /**
-     * Is there a client error?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isClientError()
-    {
-        return $this->statusCode >= 400 && $this->statusCode < 500;
-    }
-
-    /**
-     * Was there a server side error?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isServerError()
-    {
-        return $this->statusCode >= 500 && $this->statusCode < 600;
-    }
-
-    /**
-     * Is the response OK?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isOk()
-    {
-        return 200 === $this->statusCode;
-    }
-
-    /**
-     * Is the response forbidden?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isForbidden()
-    {
-        return 403 === $this->statusCode;
-    }
-
-    /**
-     * Is the response a not found error?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isNotFound()
-    {
-        return 404 === $this->statusCode;
-    }
-
-    /**
-     * Is the response a redirect of some form?
-     *
-     * @param string $location
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isRedirect($location = null)
-    {
-        return in_array($this->statusCode, array(201, 301, 302, 303, 307, 308)) && (null === $location ?: $location == $this->headers->get('Location'));
-    }
-
-    /**
-     * Is the response empty?
-     *
-     * @return bool
-     *
-     * @api
-     */
-    public function isEmpty()
-    {
-        return in_array($this->statusCode, array(204, 304));
-    }
-
-    /**
-     * Cleans or flushes output buffers up to target level.
-     *
-     * Resulting level can be greater than target level if a non-removable buffer has been encountered.
-     *
-     * @param int  $targetLevel The target output buffering level
-     * @param bool $flush       Whether to flush or clean the buffers
-     */
-    public static function closeOutputBuffers($targetLevel, $flush)
-    {
-        $status = ob_get_status(true);
-        $level = count($status);
-
-        while ($level-- > $targetLevel
-            && (!empty($status[$level]['del'])
-                || (isset($status[$level]['flags'])
-                    && ($status[$level]['flags'] & PHP_OUTPUT_HANDLER_REMOVABLE)
-                    && ($status[$level]['flags'] & ($flush ? PHP_OUTPUT_HANDLER_FLUSHABLE : PHP_OUTPUT_HANDLER_CLEANABLE))
-                )
-            )
-        ) {
-            if ($flush) {
-                ob_end_flush();
-            } else {
-                ob_end_clean();
-            }
-        }
-    }
-
-    /**
-     * Checks if we need to remove Cache-Control for SSL encrypted downloads when using IE < 9.
-     *
-     * @link http://support.microsoft.com/kb/323308
-     */
-    protected function ensureIEOverSSLCompatibility(Request $request)
-    {
-        if (false !== stripos($this->headers->get('Content-Disposition'), 'attachment') && preg_match('/MSIE (.*?);/i', $request->server->get('HTTP_USER_AGENT'), $match) == 1 && true === $request->isSecure()) {
-            if ((int) preg_replace('/(MSIE )(.*?);/', '$2', $match[0]) < 9) {
-                $this->headers->remove('Cache-Control');
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ResponseHeaderBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
deleted file mode 100644
index 375d191..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
+++ /dev/null
@@ -1,322 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * ResponseHeaderBag is a container for Response HTTP headers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class ResponseHeaderBag extends HeaderBag
-{
-    const COOKIES_FLAT = 'flat';
-    const COOKIES_ARRAY = 'array';
-
-    const DISPOSITION_ATTACHMENT = 'attachment';
-    const DISPOSITION_INLINE = 'inline';
-
-    /**
-     * @var array
-     */
-    protected $computedCacheControl = array();
-
-    /**
-     * @var array
-     */
-    protected $cookies = array();
-
-    /**
-     * @var array
-     */
-    protected $headerNames = array();
-
-    /**
-     * Constructor.
-     *
-     * @param array $headers An array of HTTP headers
-     *
-     * @api
-     */
-    public function __construct(array $headers = array())
-    {
-        parent::__construct($headers);
-
-        if (!isset($this->headers['cache-control'])) {
-            $this->set('Cache-Control', '');
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        $cookies = '';
-        foreach ($this->getCookies() as $cookie) {
-            $cookies .= 'Set-Cookie: '.$cookie."\r\n";
-        }
-
-        ksort($this->headerNames);
-
-        return parent::__toString().$cookies;
-    }
-
-    /**
-     * Returns the headers, with original capitalizations.
-     *
-     * @return array An array of headers
-     */
-    public function allPreserveCase()
-    {
-        return array_combine($this->headerNames, $this->headers);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function replace(array $headers = array())
-    {
-        $this->headerNames = array();
-
-        parent::replace($headers);
-
-        if (!isset($this->headers['cache-control'])) {
-            $this->set('Cache-Control', '');
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function set($key, $values, $replace = true)
-    {
-        parent::set($key, $values, $replace);
-
-        $uniqueKey = strtr(strtolower($key), '_', '-');
-        $this->headerNames[$uniqueKey] = $key;
-
-        // ensure the cache-control header has sensible defaults
-        if (in_array($uniqueKey, array('cache-control', 'etag', 'last-modified', 'expires'))) {
-            $computed = $this->computeCacheControlValue();
-            $this->headers['cache-control'] = array($computed);
-            $this->headerNames['cache-control'] = 'Cache-Control';
-            $this->computedCacheControl = $this->parseCacheControl($computed);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function remove($key)
-    {
-        parent::remove($key);
-
-        $uniqueKey = strtr(strtolower($key), '_', '-');
-        unset($this->headerNames[$uniqueKey]);
-
-        if ('cache-control' === $uniqueKey) {
-            $this->computedCacheControl = array();
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasCacheControlDirective($key)
-    {
-        return array_key_exists($key, $this->computedCacheControl);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheControlDirective($key)
-    {
-        return array_key_exists($key, $this->computedCacheControl) ? $this->computedCacheControl[$key] : null;
-    }
-
-    /**
-     * Sets a cookie.
-     *
-     * @param Cookie $cookie
-     *
-     * @api
-     */
-    public function setCookie(Cookie $cookie)
-    {
-        $this->cookies[$cookie->getDomain()][$cookie->getPath()][$cookie->getName()] = $cookie;
-    }
-
-    /**
-     * Removes a cookie from the array, but does not unset it in the browser.
-     *
-     * @param string $name
-     * @param string $path
-     * @param string $domain
-     *
-     * @api
-     */
-    public function removeCookie($name, $path = '/', $domain = null)
-    {
-        if (null === $path) {
-            $path = '/';
-        }
-
-        unset($this->cookies[$domain][$path][$name]);
-
-        if (empty($this->cookies[$domain][$path])) {
-            unset($this->cookies[$domain][$path]);
-
-            if (empty($this->cookies[$domain])) {
-                unset($this->cookies[$domain]);
-            }
-        }
-    }
-
-    /**
-     * Returns an array with all cookies.
-     *
-     * @param string $format
-     *
-     * @throws \InvalidArgumentException When the $format is invalid
-     *
-     * @return array
-     *
-     * @api
-     */
-    public function getCookies($format = self::COOKIES_FLAT)
-    {
-        if (!in_array($format, array(self::COOKIES_FLAT, self::COOKIES_ARRAY))) {
-            throw new \InvalidArgumentException(sprintf('Format "%s" invalid (%s).', $format, implode(', ', array(self::COOKIES_FLAT, self::COOKIES_ARRAY))));
-        }
-
-        if (self::COOKIES_ARRAY === $format) {
-            return $this->cookies;
-        }
-
-        $flattenedCookies = array();
-        foreach ($this->cookies as $path) {
-            foreach ($path as $cookies) {
-                foreach ($cookies as $cookie) {
-                    $flattenedCookies[] = $cookie;
-                }
-            }
-        }
-
-        return $flattenedCookies;
-    }
-
-    /**
-     * Clears a cookie in the browser.
-     *
-     * @param string $name
-     * @param string $path
-     * @param string $domain
-     * @param bool   $secure
-     * @param bool   $httpOnly
-     *
-     * @api
-     */
-    public function clearCookie($name, $path = '/', $domain = null, $secure = false, $httpOnly = true)
-    {
-        $this->setCookie(new Cookie($name, null, 1, $path, $domain, $secure, $httpOnly));
-    }
-
-    /**
-     * Generates a HTTP Content-Disposition field-value.
-     *
-     * @param string $disposition      One of "inline" or "attachment"
-     * @param string $filename         A unicode string
-     * @param string $filenameFallback A string containing only ASCII characters that
-     *                                 is semantically equivalent to $filename. If the filename is already ASCII,
-     *                                 it can be omitted, or just copied from $filename
-     *
-     * @return string A string suitable for use as a Content-Disposition field-value.
-     *
-     * @throws \InvalidArgumentException
-     *
-     * @see RFC 6266
-     */
-    public function makeDisposition($disposition, $filename, $filenameFallback = '')
-    {
-        if (!in_array($disposition, array(self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE))) {
-            throw new \InvalidArgumentException(sprintf('The disposition must be either "%s" or "%s".', self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE));
-        }
-
-        if ('' == $filenameFallback) {
-            $filenameFallback = $filename;
-        }
-
-        // filenameFallback is not ASCII.
-        if (!preg_match('/^[\x20-\x7e]*$/', $filenameFallback)) {
-            throw new \InvalidArgumentException('The filename fallback must only contain ASCII characters.');
-        }
-
-        // percent characters aren't safe in fallback.
-        if (false !== strpos($filenameFallback, '%')) {
-            throw new \InvalidArgumentException('The filename fallback cannot contain the "%" character.');
-        }
-
-        // path separators aren't allowed in either.
-        if (false !== strpos($filename, '/') || false !== strpos($filename, '\\') || false !== strpos($filenameFallback, '/') || false !== strpos($filenameFallback, '\\')) {
-            throw new \InvalidArgumentException('The filename and the fallback cannot contain the "/" and "\\" characters.');
-        }
-
-        $output = sprintf('%s; filename="%s"', $disposition, str_replace('"', '\\"', $filenameFallback));
-
-        if ($filename !== $filenameFallback) {
-            $output .= sprintf("; filename*=utf-8''%s", rawurlencode($filename));
-        }
-
-        return $output;
-    }
-
-    /**
-     * Returns the calculated value of the cache-control header.
-     *
-     * This considers several other headers and calculates or modifies the
-     * cache-control header to a sensible, conservative value.
-     *
-     * @return string
-     */
-    protected function computeCacheControlValue()
-    {
-        if (!$this->cacheControl && !$this->has('ETag') && !$this->has('Last-Modified') && !$this->has('Expires')) {
-            return 'no-cache';
-        }
-
-        if (!$this->cacheControl) {
-            // conservative by default
-            return 'private, must-revalidate';
-        }
-
-        $header = $this->getCacheControlHeader();
-        if (isset($this->cacheControl['public']) || isset($this->cacheControl['private'])) {
-            return $header;
-        }
-
-        // public if s-maxage is defined, private otherwise
-        if (!isset($this->cacheControl['s-maxage'])) {
-            return $header.', private';
-        }
-
-        return $header;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php
deleted file mode 100644
index 6a4f2c2..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * ServerBag is a container for HTTP headers from the $_SERVER variable.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- * @author Robert Kiss <kepten@gmail.com>
- */
-class ServerBag extends ParameterBag
-{
-    /**
-     * Gets the HTTP headers.
-     *
-     * @return array
-     */
-    public function getHeaders()
-    {
-        $headers = array();
-        $contentHeaders = array('CONTENT_LENGTH' => true, 'CONTENT_MD5' => true, 'CONTENT_TYPE' => true);
-        foreach ($this->parameters as $key => $value) {
-            if (0 === strpos($key, 'HTTP_')) {
-                $headers[substr($key, 5)] = $value;
-            }
-            // CONTENT_* are not prefixed with HTTP_
-            elseif (isset($contentHeaders[$key])) {
-                $headers[$key] = $value;
-            }
-        }
-
-        if (isset($this->parameters['PHP_AUTH_USER'])) {
-            $headers['PHP_AUTH_USER'] = $this->parameters['PHP_AUTH_USER'];
-            $headers['PHP_AUTH_PW'] = isset($this->parameters['PHP_AUTH_PW']) ? $this->parameters['PHP_AUTH_PW'] : '';
-        } else {
-            /*
-             * php-cgi under Apache does not pass HTTP Basic user/pass to PHP by default
-             * For this workaround to work, add these lines to your .htaccess file:
-             * RewriteCond %{HTTP:Authorization} ^(.+)$
-             * RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
-             *
-             * A sample .htaccess file:
-             * RewriteEngine On
-             * RewriteCond %{HTTP:Authorization} ^(.+)$
-             * RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
-             * RewriteCond %{REQUEST_FILENAME} !-f
-             * RewriteRule ^(.*)$ app.php [QSA,L]
-             */
-
-            $authorizationHeader = null;
-            if (isset($this->parameters['HTTP_AUTHORIZATION'])) {
-                $authorizationHeader = $this->parameters['HTTP_AUTHORIZATION'];
-            } elseif (isset($this->parameters['REDIRECT_HTTP_AUTHORIZATION'])) {
-                $authorizationHeader = $this->parameters['REDIRECT_HTTP_AUTHORIZATION'];
-            }
-
-            if (null !== $authorizationHeader) {
-                if (0 === stripos($authorizationHeader, 'basic ')) {
-                    // Decode AUTHORIZATION header into PHP_AUTH_USER and PHP_AUTH_PW when authorization header is basic
-                    $exploded = explode(':', base64_decode(substr($authorizationHeader, 6)), 2);
-                    if (count($exploded) == 2) {
-                        list($headers['PHP_AUTH_USER'], $headers['PHP_AUTH_PW']) = $exploded;
-                    }
-                } elseif (empty($this->parameters['PHP_AUTH_DIGEST']) && (0 === stripos($authorizationHeader, 'digest '))) {
-                    // In some circumstances PHP_AUTH_DIGEST needs to be set
-                    $headers['PHP_AUTH_DIGEST'] = $authorizationHeader;
-                    $this->parameters['PHP_AUTH_DIGEST'] = $authorizationHeader;
-                }
-            }
-        }
-
-        // PHP_AUTH_USER/PHP_AUTH_PW
-        if (isset($headers['PHP_AUTH_USER'])) {
-            $headers['AUTHORIZATION'] = 'Basic '.base64_encode($headers['PHP_AUTH_USER'].':'.$headers['PHP_AUTH_PW']);
-        } elseif (isset($headers['PHP_AUTH_DIGEST'])) {
-            $headers['AUTHORIZATION'] = $headers['PHP_AUTH_DIGEST'];
-        }
-
-        return $headers;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBag.php
deleted file mode 100644
index af292e3..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBag.php
+++ /dev/null
@@ -1,157 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Attribute;
-
-/**
- * This class relates to session attribute storage.
- */
-class AttributeBag implements AttributeBagInterface, \IteratorAggregate, \Countable
-{
-    private $name = 'attributes';
-
-    /**
-     * @var string
-     */
-    private $storageKey;
-
-    /**
-     * @var array
-     */
-    protected $attributes = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $storageKey The key used to store attributes in the session
-     */
-    public function __construct($storageKey = '_sf2_attributes')
-    {
-        $this->storageKey = $storageKey;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function initialize(array &$attributes)
-    {
-        $this->attributes = &$attributes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStorageKey()
-    {
-        return $this->storageKey;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($name)
-    {
-        return array_key_exists($name, $this->attributes);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($name, $default = null)
-    {
-        return array_key_exists($name, $this->attributes) ? $this->attributes[$name] : $default;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($name, $value)
-    {
-        $this->attributes[$name] = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function all()
-    {
-        return $this->attributes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function replace(array $attributes)
-    {
-        $this->attributes = array();
-        foreach ($attributes as $key => $value) {
-            $this->set($key, $value);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function remove($name)
-    {
-        $retval = null;
-        if (array_key_exists($name, $this->attributes)) {
-            $retval = $this->attributes[$name];
-            unset($this->attributes[$name]);
-        }
-
-        return $retval;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        $return = $this->attributes;
-        $this->attributes = array();
-
-        return $return;
-    }
-
-    /**
-     * Returns an iterator for attributes.
-     *
-     * @return \ArrayIterator An \ArrayIterator instance
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->attributes);
-    }
-
-    /**
-     * Returns the number of attributes.
-     *
-     * @return int The number of attributes
-     */
-    public function count()
-    {
-        return count($this->attributes);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBagInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBagInterface.php
deleted file mode 100644
index 0d8d179..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBagInterface.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Attribute;
-
-use Symfony\Component\HttpFoundation\Session\SessionBagInterface;
-
-/**
- * Attributes store.
- *
- * @author Drak <drak@zikula.org>
- */
-interface AttributeBagInterface extends SessionBagInterface
-{
-    /**
-     * Checks if an attribute is defined.
-     *
-     * @param string $name The attribute name
-     *
-     * @return bool true if the attribute is defined, false otherwise
-     */
-    public function has($name);
-
-    /**
-     * Returns an attribute.
-     *
-     * @param string $name    The attribute name
-     * @param mixed  $default The default value if not found
-     *
-     * @return mixed
-     */
-    public function get($name, $default = null);
-
-    /**
-     * Sets an attribute.
-     *
-     * @param string $name
-     * @param mixed  $value
-     */
-    public function set($name, $value);
-
-    /**
-     * Returns attributes.
-     *
-     * @return array Attributes
-     */
-    public function all();
-
-    /**
-     * Sets attributes.
-     *
-     * @param array $attributes Attributes
-     */
-    public function replace(array $attributes);
-
-    /**
-     * Removes an attribute.
-     *
-     * @param string $name
-     *
-     * @return mixed The removed value or null when it does not exist
-     */
-    public function remove($name);
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/NamespacedAttributeBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/NamespacedAttributeBag.php
deleted file mode 100644
index 562f4c3..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/NamespacedAttributeBag.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Attribute;
-
-/**
- * This class provides structured storage of session attributes using
- * a name spacing character in the key.
- *
- * @author Drak <drak@zikula.org>
- */
-class NamespacedAttributeBag extends AttributeBag
-{
-    /**
-     * Namespace character.
-     *
-     * @var string
-     */
-    private $namespaceCharacter;
-
-    /**
-     * Constructor.
-     *
-     * @param string $storageKey         Session storage key.
-     * @param string $namespaceCharacter Namespace character to use in keys.
-     */
-    public function __construct($storageKey = '_sf2_attributes', $namespaceCharacter = '/')
-    {
-        $this->namespaceCharacter = $namespaceCharacter;
-        parent::__construct($storageKey);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($name)
-    {
-        $attributes = $this->resolveAttributePath($name);
-        $name = $this->resolveKey($name);
-
-        if (null === $attributes) {
-            return false;
-        }
-
-        return array_key_exists($name, $attributes);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($name, $default = null)
-    {
-        $attributes = $this->resolveAttributePath($name);
-        $name = $this->resolveKey($name);
-
-        if (null === $attributes) {
-            return $default;
-        }
-
-        return array_key_exists($name, $attributes) ? $attributes[$name] : $default;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($name, $value)
-    {
-        $attributes = &$this->resolveAttributePath($name, true);
-        $name = $this->resolveKey($name);
-        $attributes[$name] = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function remove($name)
-    {
-        $retval = null;
-        $attributes = &$this->resolveAttributePath($name);
-        $name = $this->resolveKey($name);
-        if (null !== $attributes && array_key_exists($name, $attributes)) {
-            $retval = $attributes[$name];
-            unset($attributes[$name]);
-        }
-
-        return $retval;
-    }
-
-    /**
-     * Resolves a path in attributes property and returns it as a reference.
-     *
-     * This method allows structured namespacing of session attributes.
-     *
-     * @param string $name         Key name
-     * @param bool   $writeContext Write context, default false
-     *
-     * @return array
-     */
-    protected function &resolveAttributePath($name, $writeContext = false)
-    {
-        $array = &$this->attributes;
-        $name = (strpos($name, $this->namespaceCharacter) === 0) ? substr($name, 1) : $name;
-
-        // Check if there is anything to do, else return
-        if (!$name) {
-            return $array;
-        }
-
-        $parts = explode($this->namespaceCharacter, $name);
-        if (count($parts) < 2) {
-            if (!$writeContext) {
-                return $array;
-            }
-
-            $array[$parts[0]] = array();
-
-            return $array;
-        }
-
-        unset($parts[count($parts) - 1]);
-
-        foreach ($parts as $part) {
-            if (null !== $array && !array_key_exists($part, $array)) {
-                $array[$part] = $writeContext ? array() : null;
-            }
-
-            $array = &$array[$part];
-        }
-
-        return $array;
-    }
-
-    /**
-     * Resolves the key from the name.
-     *
-     * This is the last part in a dot separated string.
-     *
-     * @param string $name
-     *
-     * @return string
-     */
-    protected function resolveKey($name)
-    {
-        if (false !== $pos = strrpos($name, $this->namespaceCharacter)) {
-            $name = substr($name, $pos + 1);
-        }
-
-        return $name;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/AutoExpireFlashBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/AutoExpireFlashBag.php
deleted file mode 100644
index b9de5ce..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/AutoExpireFlashBag.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Flash;
-
-/**
- * AutoExpireFlashBag flash message container.
- *
- * @author Drak <drak@zikula.org>
- */
-class AutoExpireFlashBag implements FlashBagInterface
-{
-    private $name = 'flashes';
-
-    /**
-     * Flash messages.
-     *
-     * @var array
-     */
-    private $flashes = array('display' => array(), 'new' => array());
-
-    /**
-     * The storage key for flashes in the session.
-     *
-     * @var string
-     */
-    private $storageKey;
-
-    /**
-     * Constructor.
-     *
-     * @param string $storageKey The key used to store flashes in the session.
-     */
-    public function __construct($storageKey = '_sf2_flashes')
-    {
-        $this->storageKey = $storageKey;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function initialize(array &$flashes)
-    {
-        $this->flashes = &$flashes;
-
-        // The logic: messages from the last request will be stored in new, so we move them to previous
-        // This request we will show what is in 'display'.  What is placed into 'new' this time round will
-        // be moved to display next time round.
-        $this->flashes['display'] = array_key_exists('new', $this->flashes) ? $this->flashes['new'] : array();
-        $this->flashes['new'] = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function add($type, $message)
-    {
-        $this->flashes['new'][$type][] = $message;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function peek($type, array $default = array())
-    {
-        return $this->has($type) ? $this->flashes['display'][$type] : $default;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function peekAll()
-    {
-        return array_key_exists('display', $this->flashes) ? (array) $this->flashes['display'] : array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($type, array $default = array())
-    {
-        $return = $default;
-
-        if (!$this->has($type)) {
-            return $return;
-        }
-
-        if (isset($this->flashes['display'][$type])) {
-            $return = $this->flashes['display'][$type];
-            unset($this->flashes['display'][$type]);
-        }
-
-        return $return;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function all()
-    {
-        $return = $this->flashes['display'];
-        $this->flashes = array('new' => array(), 'display' => array());
-
-        return $return;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setAll(array $messages)
-    {
-        $this->flashes['new'] = $messages;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($type, $messages)
-    {
-        $this->flashes['new'][$type] = (array) $messages;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($type)
-    {
-        return array_key_exists($type, $this->flashes['display']) && $this->flashes['display'][$type];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keys()
-    {
-        return array_keys($this->flashes['display']);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStorageKey()
-    {
-        return $this->storageKey;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        return $this->all();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php
deleted file mode 100644
index ac412d7..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php
+++ /dev/null
@@ -1,180 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Flash;
-
-/**
- * FlashBag flash message container.
- *
- * \IteratorAggregate implementation is deprecated and will be removed in 3.0.
- *
- * @author Drak <drak@zikula.org>
- */
-class FlashBag implements FlashBagInterface, \IteratorAggregate
-{
-    private $name = 'flashes';
-
-    /**
-     * Flash messages.
-     *
-     * @var array
-     */
-    private $flashes = array();
-
-    /**
-     * The storage key for flashes in the session.
-     *
-     * @var string
-     */
-    private $storageKey;
-
-    /**
-     * Constructor.
-     *
-     * @param string $storageKey The key used to store flashes in the session.
-     */
-    public function __construct($storageKey = '_sf2_flashes')
-    {
-        $this->storageKey = $storageKey;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function initialize(array &$flashes)
-    {
-        $this->flashes = &$flashes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function add($type, $message)
-    {
-        $this->flashes[$type][] = $message;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function peek($type, array $default = array())
-    {
-        return $this->has($type) ? $this->flashes[$type] : $default;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function peekAll()
-    {
-        return $this->flashes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($type, array $default = array())
-    {
-        if (!$this->has($type)) {
-            return $default;
-        }
-
-        $return = $this->flashes[$type];
-
-        unset($this->flashes[$type]);
-
-        return $return;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function all()
-    {
-        $return = $this->peekAll();
-        $this->flashes = array();
-
-        return $return;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($type, $messages)
-    {
-        $this->flashes[$type] = (array) $messages;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setAll(array $messages)
-    {
-        $this->flashes = $messages;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($type)
-    {
-        return array_key_exists($type, $this->flashes) && $this->flashes[$type];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keys()
-    {
-        return array_keys($this->flashes);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStorageKey()
-    {
-        return $this->storageKey;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        return $this->all();
-    }
-
-    /**
-     * Returns an iterator for flashes.
-     *
-     * @deprecated Will be removed in 3.0.
-     *
-     * @return \ArrayIterator An \ArrayIterator instance
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->all());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBagInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBagInterface.php
deleted file mode 100644
index be79d9d..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBagInterface.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Flash;
-
-use Symfony\Component\HttpFoundation\Session\SessionBagInterface;
-
-/**
- * FlashBagInterface.
- *
- * @author Drak <drak@zikula.org>
- */
-interface FlashBagInterface extends SessionBagInterface
-{
-    /**
-     * Adds a flash message for type.
-     *
-     * @param string $type
-     * @param string $message
-     */
-    public function add($type, $message);
-
-    /**
-     * Registers a message for a given type.
-     *
-     * @param string       $type
-     * @param string|array $message
-     */
-    public function set($type, $message);
-
-    /**
-     * Gets flash messages for a given type.
-     *
-     * @param string $type    Message category type.
-     * @param array  $default Default value if $type does not exist.
-     *
-     * @return array
-     */
-    public function peek($type, array $default = array());
-
-    /**
-     * Gets all flash messages.
-     *
-     * @return array
-     */
-    public function peekAll();
-
-    /**
-     * Gets and clears flash from the stack.
-     *
-     * @param string $type
-     * @param array  $default Default value if $type does not exist.
-     *
-     * @return array
-     */
-    public function get($type, array $default = array());
-
-    /**
-     * Gets and clears flashes from the stack.
-     *
-     * @return array
-     */
-    public function all();
-
-    /**
-     * Sets all flash messages.
-     */
-    public function setAll(array $messages);
-
-    /**
-     * Has flash messages for a given type?
-     *
-     * @param string $type
-     *
-     * @return bool
-     */
-    public function has($type);
-
-    /**
-     * Returns a list of all defined types.
-     *
-     * @return array
-     */
-    public function keys();
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Session.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Session.php
deleted file mode 100644
index ac626fd..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Session.php
+++ /dev/null
@@ -1,251 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session;
-
-use Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBagInterface;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-
-/**
- * Session.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Drak <drak@zikula.org>
- *
- * @api
- */
-class Session implements SessionInterface, \IteratorAggregate, \Countable
-{
-    /**
-     * Storage driver.
-     *
-     * @var SessionStorageInterface
-     */
-    protected $storage;
-
-    /**
-     * @var string
-     */
-    private $flashName;
-
-    /**
-     * @var string
-     */
-    private $attributeName;
-
-    /**
-     * Constructor.
-     *
-     * @param SessionStorageInterface $storage    A SessionStorageInterface instance.
-     * @param AttributeBagInterface   $attributes An AttributeBagInterface instance, (defaults null for default AttributeBag)
-     * @param FlashBagInterface       $flashes    A FlashBagInterface instance (defaults null for default FlashBag)
-     */
-    public function __construct(SessionStorageInterface $storage = null, AttributeBagInterface $attributes = null, FlashBagInterface $flashes = null)
-    {
-        $this->storage = $storage ?: new NativeSessionStorage();
-
-        $attributes = $attributes ?: new AttributeBag();
-        $this->attributeName = $attributes->getName();
-        $this->registerBag($attributes);
-
-        $flashes = $flashes ?: new FlashBag();
-        $this->flashName = $flashes->getName();
-        $this->registerBag($flashes);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        return $this->storage->start();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($name)
-    {
-        return $this->storage->getBag($this->attributeName)->has($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($name, $default = null)
-    {
-        return $this->storage->getBag($this->attributeName)->get($name, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($name, $value)
-    {
-        $this->storage->getBag($this->attributeName)->set($name, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function all()
-    {
-        return $this->storage->getBag($this->attributeName)->all();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function replace(array $attributes)
-    {
-        $this->storage->getBag($this->attributeName)->replace($attributes);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function remove($name)
-    {
-        return $this->storage->getBag($this->attributeName)->remove($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        $this->storage->getBag($this->attributeName)->clear();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStarted()
-    {
-        return $this->storage->isStarted();
-    }
-
-    /**
-     * Returns an iterator for attributes.
-     *
-     * @return \ArrayIterator An \ArrayIterator instance
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->storage->getBag($this->attributeName)->all());
-    }
-
-    /**
-     * Returns the number of attributes.
-     *
-     * @return int The number of attributes
-     */
-    public function count()
-    {
-        return count($this->storage->getBag($this->attributeName)->all());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function invalidate($lifetime = null)
-    {
-        $this->storage->clear();
-
-        return $this->migrate(true, $lifetime);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function migrate($destroy = false, $lifetime = null)
-    {
-        return $this->storage->regenerate($destroy, $lifetime);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function save()
-    {
-        $this->storage->save();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getId()
-    {
-        return $this->storage->getId();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setId($id)
-    {
-        $this->storage->setId($id);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return $this->storage->getName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setName($name)
-    {
-        $this->storage->setName($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataBag()
-    {
-        return $this->storage->getMetadataBag();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function registerBag(SessionBagInterface $bag)
-    {
-        $this->storage->registerBag($bag);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBag($name)
-    {
-        return $this->storage->getBag($name);
-    }
-
-    /**
-     * Gets the flashbag interface.
-     *
-     * @return FlashBagInterface
-     */
-    public function getFlashBag()
-    {
-        return $this->getBag($this->flashName);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionBagInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionBagInterface.php
deleted file mode 100644
index 182a47d..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionBagInterface.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session;
-
-/**
- * Session Bag store.
- *
- * @author Drak <drak@zikula.org>
- */
-interface SessionBagInterface
-{
-    /**
-     * Gets this bag's name.
-     *
-     * @return string
-     */
-    public function getName();
-
-    /**
-     * Initializes the Bag.
-     *
-     * @param array $array
-     */
-    public function initialize(array &$array);
-
-    /**
-     * Gets the storage key for this bag.
-     *
-     * @return string
-     */
-    public function getStorageKey();
-
-    /**
-     * Clears out data from bag.
-     *
-     * @return mixed Whatever data was contained.
-     */
-    public function clear();
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionInterface.php
deleted file mode 100644
index 773dc7a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionInterface.php
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag;
-
-/**
- * Interface for the session.
- *
- * @author Drak <drak@zikula.org>
- */
-interface SessionInterface
-{
-    /**
-     * Starts the session storage.
-     *
-     * @return bool True if session started.
-     *
-     * @throws \RuntimeException If session fails to start.
-     *
-     * @api
-     */
-    public function start();
-
-    /**
-     * Returns the session ID.
-     *
-     * @return string The session ID.
-     *
-     * @api
-     */
-    public function getId();
-
-    /**
-     * Sets the session ID.
-     *
-     * @param string $id
-     *
-     * @api
-     */
-    public function setId($id);
-
-    /**
-     * Returns the session name.
-     *
-     * @return mixed The session name.
-     *
-     * @api
-     */
-    public function getName();
-
-    /**
-     * Sets the session name.
-     *
-     * @param string $name
-     *
-     * @api
-     */
-    public function setName($name);
-
-    /**
-     * Invalidates the current session.
-     *
-     * Clears all session attributes and flashes and regenerates the
-     * session and deletes the old session from persistence.
-     *
-     * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value
-     *                      will leave the system settings unchanged, 0 sets the cookie
-     *                      to expire with browser session. Time is in seconds, and is
-     *                      not a Unix timestamp.
-     *
-     * @return bool True if session invalidated, false if error.
-     *
-     * @api
-     */
-    public function invalidate($lifetime = null);
-
-    /**
-     * Migrates the current session to a new session id while maintaining all
-     * session attributes.
-     *
-     * @param bool $destroy  Whether to delete the old session or leave it to garbage collection.
-     * @param int  $lifetime Sets the cookie lifetime for the session cookie. A null value
-     *                       will leave the system settings unchanged, 0 sets the cookie
-     *                       to expire with browser session. Time is in seconds, and is
-     *                       not a Unix timestamp.
-     *
-     * @return bool True if session migrated, false if error.
-     *
-     * @api
-     */
-    public function migrate($destroy = false, $lifetime = null);
-
-    /**
-     * Force the session to be saved and closed.
-     *
-     * This method is generally not required for real sessions as
-     * the session will be automatically saved at the end of
-     * code execution.
-     */
-    public function save();
-
-    /**
-     * Checks if an attribute is defined.
-     *
-     * @param string $name The attribute name
-     *
-     * @return bool true if the attribute is defined, false otherwise
-     *
-     * @api
-     */
-    public function has($name);
-
-    /**
-     * Returns an attribute.
-     *
-     * @param string $name    The attribute name
-     * @param mixed  $default The default value if not found.
-     *
-     * @return mixed
-     *
-     * @api
-     */
-    public function get($name, $default = null);
-
-    /**
-     * Sets an attribute.
-     *
-     * @param string $name
-     * @param mixed  $value
-     *
-     * @api
-     */
-    public function set($name, $value);
-
-    /**
-     * Returns attributes.
-     *
-     * @return array Attributes
-     *
-     * @api
-     */
-    public function all();
-
-    /**
-     * Sets attributes.
-     *
-     * @param array $attributes Attributes
-     */
-    public function replace(array $attributes);
-
-    /**
-     * Removes an attribute.
-     *
-     * @param string $name
-     *
-     * @return mixed The removed value or null when it does not exist
-     *
-     * @api
-     */
-    public function remove($name);
-
-    /**
-     * Clears all attributes.
-     *
-     * @api
-     */
-    public function clear();
-
-    /**
-     * Checks if the session was started.
-     *
-     * @return bool
-     */
-    public function isStarted();
-
-    /**
-     * Registers a SessionBagInterface with the session.
-     *
-     * @param SessionBagInterface $bag
-     */
-    public function registerBag(SessionBagInterface $bag);
-
-    /**
-     * Gets a bag instance by name.
-     *
-     * @param string $name
-     *
-     * @return SessionBagInterface
-     */
-    public function getBag($name);
-
-    /**
-     * Gets session meta.
-     *
-     * @return MetadataBag
-     */
-    public function getMetadataBag();
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/LegacyPdoSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/LegacyPdoSessionHandler.php
deleted file mode 100644
index fff8331..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/LegacyPdoSessionHandler.php
+++ /dev/null
@@ -1,268 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * Session handler using a PDO connection to read and write data.
- *
- * Session data is a binary string that can contain non-printable characters like the null byte.
- * For this reason this handler base64 encodes the data to be able to save it in a character column.
- *
- * This version of the PdoSessionHandler does NOT implement locking. So concurrent requests to the
- * same session can result in data loss due to race conditions.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Michael Williams <michael.williams@funsational.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use
- *             {@link PdoSessionHandler} instead.
- */
-class LegacyPdoSessionHandler implements \SessionHandlerInterface
-{
-    /**
-     * @var \PDO PDO instance
-     */
-    private $pdo;
-
-    /**
-     * @var string Table name
-     */
-    private $table;
-
-    /**
-     * @var string Column for session id
-     */
-    private $idCol;
-
-    /**
-     * @var string Column for session data
-     */
-    private $dataCol;
-
-    /**
-     * @var string Column for timestamp
-     */
-    private $timeCol;
-
-    /**
-     * Constructor.
-     *
-     * List of available options:
-     *  * db_table: The name of the table [required]
-     *  * db_id_col: The column where to store the session id [default: sess_id]
-     *  * db_data_col: The column where to store the session data [default: sess_data]
-     *  * db_time_col: The column where to store the timestamp [default: sess_time]
-     *
-     * @param \PDO  $pdo       A \PDO instance
-     * @param array $dbOptions An associative array of DB options
-     *
-     * @throws \InvalidArgumentException When "db_table" option is not provided
-     */
-    public function __construct(\PDO $pdo, array $dbOptions = array())
-    {
-        if (!array_key_exists('db_table', $dbOptions)) {
-            throw new \InvalidArgumentException('You must provide the "db_table" option for a PdoSessionStorage.');
-        }
-        if (\PDO::ERRMODE_EXCEPTION !== $pdo->getAttribute(\PDO::ATTR_ERRMODE)) {
-            throw new \InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION))', __CLASS__));
-        }
-        $this->pdo = $pdo;
-        $dbOptions = array_merge(array(
-            'db_id_col' => 'sess_id',
-            'db_data_col' => 'sess_data',
-            'db_time_col' => 'sess_time',
-        ), $dbOptions);
-
-        $this->table = $dbOptions['db_table'];
-        $this->idCol = $dbOptions['db_id_col'];
-        $this->dataCol = $dbOptions['db_data_col'];
-        $this->timeCol = $dbOptions['db_time_col'];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        // delete the record associated with this id
-        $sql = "DELETE FROM $this->table WHERE $this->idCol = :id";
-
-        try {
-            $stmt = $this->pdo->prepare($sql);
-            $stmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-            $stmt->execute();
-        } catch (\PDOException $e) {
-            throw new \RuntimeException(sprintf('PDOException was thrown when trying to delete a session: %s', $e->getMessage()), 0, $e);
-        }
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        // delete the session records that have expired
-        $sql = "DELETE FROM $this->table WHERE $this->timeCol < :time";
-
-        try {
-            $stmt = $this->pdo->prepare($sql);
-            $stmt->bindValue(':time', time() - $maxlifetime, \PDO::PARAM_INT);
-            $stmt->execute();
-        } catch (\PDOException $e) {
-            throw new \RuntimeException(sprintf('PDOException was thrown when trying to delete expired sessions: %s', $e->getMessage()), 0, $e);
-        }
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        $sql = "SELECT $this->dataCol FROM $this->table WHERE $this->idCol = :id";
-
-        try {
-            $stmt = $this->pdo->prepare($sql);
-            $stmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-            $stmt->execute();
-
-            // We use fetchAll instead of fetchColumn to make sure the DB cursor gets closed
-            $sessionRows = $stmt->fetchAll(\PDO::FETCH_NUM);
-
-            if ($sessionRows) {
-                return base64_decode($sessionRows[0][0]);
-            }
-
-            return '';
-        } catch (\PDOException $e) {
-            throw new \RuntimeException(sprintf('PDOException was thrown when trying to read the session data: %s', $e->getMessage()), 0, $e);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        $encoded = base64_encode($data);
-
-        try {
-            // We use a single MERGE SQL query when supported by the database.
-            $mergeSql = $this->getMergeSql();
-
-            if (null !== $mergeSql) {
-                $mergeStmt = $this->pdo->prepare($mergeSql);
-                $mergeStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-                $mergeStmt->bindParam(':data', $encoded, \PDO::PARAM_STR);
-                $mergeStmt->bindValue(':time', time(), \PDO::PARAM_INT);
-                $mergeStmt->execute();
-
-                return true;
-            }
-
-            $updateStmt = $this->pdo->prepare(
-                "UPDATE $this->table SET $this->dataCol = :data, $this->timeCol = :time WHERE $this->idCol = :id"
-            );
-            $updateStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-            $updateStmt->bindParam(':data', $encoded, \PDO::PARAM_STR);
-            $updateStmt->bindValue(':time', time(), \PDO::PARAM_INT);
-            $updateStmt->execute();
-
-            // When MERGE is not supported, like in Postgres, we have to use this approach that can result in
-            // duplicate key errors when the same session is written simultaneously. We can just catch such an
-            // error and re-execute the update. This is similar to a serializable transaction with retry logic
-            // on serialization failures but without the overhead and without possible false positives due to
-            // longer gap locking.
-            if (!$updateStmt->rowCount()) {
-                try {
-                    $insertStmt = $this->pdo->prepare(
-                        "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->timeCol) VALUES (:id, :data, :time)"
-                    );
-                    $insertStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-                    $insertStmt->bindParam(':data', $encoded, \PDO::PARAM_STR);
-                    $insertStmt->bindValue(':time', time(), \PDO::PARAM_INT);
-                    $insertStmt->execute();
-                } catch (\PDOException $e) {
-                    // Handle integrity violation SQLSTATE 23000 (or a subclass like 23505 in Postgres) for duplicate keys
-                    if (0 === strpos($e->getCode(), '23')) {
-                        $updateStmt->execute();
-                    } else {
-                        throw $e;
-                    }
-                }
-            }
-        } catch (\PDOException $e) {
-            throw new \RuntimeException(sprintf('PDOException was thrown when trying to write the session data: %s', $e->getMessage()), 0, $e);
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns a merge/upsert (i.e. insert or update) SQL query when supported by the database.
-     *
-     * @return string|null The SQL string or null when not supported
-     */
-    private function getMergeSql()
-    {
-        $driver = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME);
-
-        switch ($driver) {
-            case 'mysql':
-                return "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->timeCol) VALUES (:id, :data, :time) ".
-                "ON DUPLICATE KEY UPDATE $this->dataCol = VALUES($this->dataCol), $this->timeCol = VALUES($this->timeCol)";
-            case 'oci':
-                // DUAL is Oracle specific dummy table
-                return "MERGE INTO $this->table USING DUAL ON ($this->idCol = :id) ".
-                "WHEN NOT MATCHED THEN INSERT ($this->idCol, $this->dataCol, $this->timeCol) VALUES (:id, :data, :time) ".
-                "WHEN MATCHED THEN UPDATE SET $this->dataCol = :data, $this->timeCol = :time";
-            case 'sqlsrv' === $driver && version_compare($this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION), '10', '>='):
-                // MERGE is only available since SQL Server 2008 and must be terminated by semicolon
-                // It also requires HOLDLOCK according to http://weblogs.sqlteam.com/dang/archive/2009/01/31/UPSERT-Race-Condition-With-MERGE.aspx
-                return "MERGE INTO $this->table WITH (HOLDLOCK) USING (SELECT 1 AS dummy) AS src ON ($this->idCol = :id) ".
-                "WHEN NOT MATCHED THEN INSERT ($this->idCol, $this->dataCol, $this->timeCol) VALUES (:id, :data, :time) ".
-                "WHEN MATCHED THEN UPDATE SET $this->dataCol = :data, $this->timeCol = :time;";
-            case 'sqlite':
-                return "INSERT OR REPLACE INTO $this->table ($this->idCol, $this->dataCol, $this->timeCol) VALUES (:id, :data, :time)";
-        }
-    }
-
-    /**
-     * Return a PDO instance
-     *
-     * @return \PDO
-     */
-    protected function getConnection()
-    {
-        return $this->pdo;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcacheSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcacheSessionHandler.php
deleted file mode 100644
index 183093f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcacheSessionHandler.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * MemcacheSessionHandler.
- *
- * @author Drak <drak@zikula.org>
- */
-class MemcacheSessionHandler implements \SessionHandlerInterface
-{
-    /**
-     * @var \Memcache Memcache driver.
-     */
-    private $memcache;
-
-    /**
-     * @var int Time to live in seconds
-     */
-    private $ttl;
-
-    /**
-     * @var string Key prefix for shared environments.
-     */
-    private $prefix;
-
-    /**
-     * Constructor.
-     *
-     * List of available options:
-     *  * prefix: The prefix to use for the memcache keys in order to avoid collision
-     *  * expiretime: The time to live in seconds
-     *
-     * @param \Memcache $memcache A \Memcache instance
-     * @param array     $options  An associative array of Memcache options
-     *
-     * @throws \InvalidArgumentException When unsupported options are passed
-     */
-    public function __construct(\Memcache $memcache, array $options = array())
-    {
-        if ($diff = array_diff(array_keys($options), array('prefix', 'expiretime'))) {
-            throw new \InvalidArgumentException(sprintf(
-                'The following options are not supported "%s"', implode(', ', $diff)
-            ));
-        }
-
-        $this->memcache = $memcache;
-        $this->ttl = isset($options['expiretime']) ? (int) $options['expiretime'] : 86400;
-        $this->prefix = isset($options['prefix']) ? $options['prefix'] : 'sf2s';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        return $this->memcache->close();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        return $this->memcache->get($this->prefix.$sessionId) ?: '';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        return $this->memcache->set($this->prefix.$sessionId, $data, 0, time() + $this->ttl);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        return $this->memcache->delete($this->prefix.$sessionId);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        // not required here because memcache will auto expire the records anyhow.
-        return true;
-    }
-
-    /**
-     * Return a Memcache instance
-     *
-     * @return \Memcache
-     */
-    protected function getMemcache()
-    {
-        return $this->memcache;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php
deleted file mode 100644
index 1f9d97e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * MemcachedSessionHandler.
- *
- * Memcached based session storage handler based on the Memcached class
- * provided by the PHP memcached extension.
- *
- * @see http://php.net/memcached
- *
- * @author Drak <drak@zikula.org>
- */
-class MemcachedSessionHandler implements \SessionHandlerInterface
-{
-    /**
-     * @var \Memcached Memcached driver.
-     */
-    private $memcached;
-
-    /**
-     * @var int Time to live in seconds
-     */
-    private $ttl;
-
-    /**
-     * @var string Key prefix for shared environments.
-     */
-    private $prefix;
-
-    /**
-     * Constructor.
-     *
-     * List of available options:
-     *  * prefix: The prefix to use for the memcached keys in order to avoid collision
-     *  * expiretime: The time to live in seconds
-     *
-     * @param \Memcached $memcached A \Memcached instance
-     * @param array      $options   An associative array of Memcached options
-     *
-     * @throws \InvalidArgumentException When unsupported options are passed
-     */
-    public function __construct(\Memcached $memcached, array $options = array())
-    {
-        $this->memcached = $memcached;
-
-        if ($diff = array_diff(array_keys($options), array('prefix', 'expiretime'))) {
-            throw new \InvalidArgumentException(sprintf(
-                'The following options are not supported "%s"', implode(', ', $diff)
-            ));
-        }
-
-        $this->ttl = isset($options['expiretime']) ? (int) $options['expiretime'] : 86400;
-        $this->prefix = isset($options['prefix']) ? $options['prefix'] : 'sf2s';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        return $this->memcached->get($this->prefix.$sessionId) ?: '';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        return $this->memcached->set($this->prefix.$sessionId, $data, time() + $this->ttl);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        return $this->memcached->delete($this->prefix.$sessionId);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        // not required here because memcached will auto expire the records anyhow.
-        return true;
-    }
-
-    /**
-     * Return a Memcached instance
-     *
-     * @return \Memcached
-     */
-    protected function getMemcached()
-    {
-        return $this->memcached;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
deleted file mode 100644
index c820cbc..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * MongoDB session handler.
- *
- * @author Markus Bachmann <markus.bachmann@bachi.biz>
- */
-class MongoDbSessionHandler implements \SessionHandlerInterface
-{
-    /**
-     * @var \Mongo
-     */
-    private $mongo;
-
-    /**
-     * @var \MongoCollection
-     */
-    private $collection;
-
-    /**
-     * @var array
-     */
-    private $options;
-
-    /**
-     * Constructor.
-     *
-     * List of available options:
-     *  * database: The name of the database [required]
-     *  * collection: The name of the collection [required]
-     *  * id_field: The field name for storing the session id [default: _id]
-     *  * data_field: The field name for storing the session data [default: data]
-     *  * time_field: The field name for storing the timestamp [default: time]
-     *  * expiry_field: The field name for storing the expiry-timestamp [default: expires_at]
-     *
-     * It is strongly recommended to put an index on the `expiry_field` for
-     * garbage-collection. Alternatively it's possible to automatically expire
-     * the sessions in the database as described below:
-     *
-     * A TTL collections can be used on MongoDB 2.2+ to cleanup expired sessions
-     * automatically. Such an index can for example look like this:
-     *
-     *     db.<session-collection>.ensureIndex(
-     *         { "<expiry-field>": 1 },
-     *         { "expireAfterSeconds": 0 }
-     *     )
-     *
-     * More details on: http://docs.mongodb.org/manual/tutorial/expire-data/
-     *
-     * If you use such an index, you can drop `gc_probability` to 0 since
-     * no garbage-collection is required.
-     *
-     * @param \Mongo|\MongoClient $mongo   A MongoClient or Mongo instance
-     * @param array               $options An associative array of field options
-     *
-     * @throws \InvalidArgumentException When MongoClient or Mongo instance not provided
-     * @throws \InvalidArgumentException When "database" or "collection" not provided
-     */
-    public function __construct($mongo, array $options)
-    {
-        if (!($mongo instanceof \MongoClient || $mongo instanceof \Mongo)) {
-            throw new \InvalidArgumentException('MongoClient or Mongo instance required');
-        }
-
-        if (!isset($options['database']) || !isset($options['collection'])) {
-            throw new \InvalidArgumentException('You must provide the "database" and "collection" option for MongoDBSessionHandler');
-        }
-
-        $this->mongo = $mongo;
-
-        $this->options = array_merge(array(
-            'id_field' => '_id',
-            'data_field' => 'data',
-            'time_field' => 'time',
-            'expiry_field' => 'expires_at',
-        ), $options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        $this->getCollection()->remove(array(
-            $this->options['id_field'] => $sessionId,
-        ));
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        $this->getCollection()->remove(array(
-            $this->options['expiry_field'] => array('$lt' => new \MongoDate()),
-        ));
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        $expiry = new \MongoDate(time() + (int) ini_get('session.gc_maxlifetime'));
-
-        $fields = array(
-            $this->options['data_field'] => new \MongoBinData($data, \MongoBinData::BYTE_ARRAY),
-            $this->options['time_field'] => new \MongoDate(),
-            $this->options['expiry_field'] => $expiry,
-        );
-
-        $this->getCollection()->update(
-            array($this->options['id_field'] => $sessionId),
-            array('$set' => $fields),
-            array('upsert' => true, 'multiple' => false)
-        );
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        $dbData = $this->getCollection()->findOne(array(
-            $this->options['id_field']   => $sessionId,
-            $this->options['expiry_field'] => array('$gte' => new \MongoDate()),
-        ));
-
-        return null === $dbData ? '' : $dbData[$this->options['data_field']]->bin;
-    }
-
-    /**
-     * Return a "MongoCollection" instance.
-     *
-     * @return \MongoCollection
-     */
-    private function getCollection()
-    {
-        if (null === $this->collection) {
-            $this->collection = $this->mongo->selectCollection($this->options['database'], $this->options['collection']);
-        }
-
-        return $this->collection;
-    }
-
-    /**
-     * Return a Mongo instance
-     *
-     * @return \Mongo
-     */
-    protected function getMongo()
-    {
-        return $this->mongo;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php
deleted file mode 100644
index f39235c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * NativeFileSessionHandler.
- *
- * Native session handler using PHP's built in file storage.
- *
- * @author Drak <drak@zikula.org>
- */
-class NativeFileSessionHandler extends NativeSessionHandler
-{
-    /**
-     * Constructor.
-     *
-     * @param string $savePath Path of directory to save session files.
-     *                         Default null will leave setting as defined by PHP.
-     *                         '/path', 'N;/path', or 'N;octal-mode;/path
-     *
-     * @see http://php.net/session.configuration.php#ini.session.save-path for further details.
-     *
-     * @throws \InvalidArgumentException On invalid $savePath
-     */
-    public function __construct($savePath = null)
-    {
-        if (null === $savePath) {
-            $savePath = ini_get('session.save_path');
-        }
-
-        $baseDir = $savePath;
-
-        if ($count = substr_count($savePath, ';')) {
-            if ($count > 2) {
-                throw new \InvalidArgumentException(sprintf('Invalid argument $savePath \'%s\'', $savePath));
-            }
-
-            // characters after last ';' are the path
-            $baseDir = ltrim(strrchr($savePath, ';'), ';');
-        }
-
-        if ($baseDir && !is_dir($baseDir)) {
-            mkdir($baseDir, 0777, true);
-        }
-
-        ini_set('session.save_path', $savePath);
-        ini_set('session.save_handler', 'files');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeSessionHandler.php
deleted file mode 100644
index 95d5cdb..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeSessionHandler.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-// Adds SessionHandler functionality if available.
-// @see http://php.net/sessionhandler
-if (PHP_VERSION_ID >= 50400) {
-    class NativeSessionHandler extends \SessionHandler
-    {
-    }
-} else {
-    class NativeSessionHandler
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NullSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NullSessionHandler.php
deleted file mode 100644
index d88ce89..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NullSessionHandler.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * NullSessionHandler.
- *
- * Can be used in unit testing or in a situations where persisted sessions are not desired.
- *
- * @author Drak <drak@zikula.org>
- *
- * @api
- */
-class NullSessionHandler implements \SessionHandlerInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        return '';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
deleted file mode 100644
index 32b7396..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
+++ /dev/null
@@ -1,695 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * Session handler using a PDO connection to read and write data.
- *
- * It works with MySQL, PostgreSQL, Oracle, SQL Server and SQLite and implements
- * different locking strategies to handle concurrent access to the same session.
- * Locking is necessary to prevent loss of data due to race conditions and to keep
- * the session data consistent between read() and write(). With locking, requests
- * for the same session will wait until the other one finished writing. For this
- * reason it's best practice to close a session as early as possible to improve
- * concurrency. PHPs internal files session handler also implements locking.
- *
- * Attention: Since SQLite does not support row level locks but locks the whole database,
- * it means only one session can be accessed at a time. Even different sessions would wait
- * for another to finish. So saving session in SQLite should only be considered for
- * development or prototypes.
- *
- * Session data is a binary string that can contain non-printable characters like the null byte.
- * For this reason it must be saved in a binary column in the database like BLOB in MySQL.
- * Saving it in a character column could corrupt the data. You can use createTable()
- * to initialize a correctly defined table.
- *
- * @see http://php.net/sessionhandlerinterface
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Michael Williams <michael.williams@funsational.com>
- * @author Tobias Schultze <http://tobion.de>
- */
-class PdoSessionHandler implements \SessionHandlerInterface
-{
-    /**
-     * No locking is done. This means sessions are prone to loss of data due to
-     * race conditions of concurrent requests to the same session. The last session
-     * write will win in this case. It might be useful when you implement your own
-     * logic to deal with this like an optimistic approach.
-     */
-    const LOCK_NONE = 0;
-
-    /**
-     * Creates an application-level lock on a session. The disadvantage is that the
-     * lock is not enforced by the database and thus other, unaware parts of the
-     * application could still concurrently modify the session. The advantage is it
-     * does not require a transaction.
-     * This mode is not available for SQLite and not yet implemented for oci and sqlsrv.
-     */
-    const LOCK_ADVISORY = 1;
-
-    /**
-     * Issues a real row lock. Since it uses a transaction between opening and
-     * closing a session, you have to be careful when you use same database connection
-     * that you also use for your application logic. This mode is the default because
-     * it's the only reliable solution across DBMSs.
-     */
-    const LOCK_TRANSACTIONAL = 2;
-
-    /**
-     * @var \PDO|null PDO instance or null when not connected yet
-     */
-    private $pdo;
-
-    /**
-     * @var string|null|false DSN string or null for session.save_path or false when lazy connection disabled
-     */
-    private $dsn = false;
-
-    /**
-     * @var string Database driver
-     */
-    private $driver;
-
-    /**
-     * @var string Table name
-     */
-    private $table = 'sessions';
-
-    /**
-     * @var string Column for session id
-     */
-    private $idCol = 'sess_id';
-
-    /**
-     * @var string Column for session data
-     */
-    private $dataCol = 'sess_data';
-
-    /**
-     * @var string Column for lifetime
-     */
-    private $lifetimeCol = 'sess_lifetime';
-
-    /**
-     * @var string Column for timestamp
-     */
-    private $timeCol = 'sess_time';
-
-    /**
-     * @var string Username when lazy-connect
-     */
-    private $username = '';
-
-    /**
-     * @var string Password when lazy-connect
-     */
-    private $password = '';
-
-    /**
-     * @var array Connection options when lazy-connect
-     */
-    private $connectionOptions = array();
-
-    /**
-     * @var int The strategy for locking, see constants
-     */
-    private $lockMode = self::LOCK_TRANSACTIONAL;
-
-    /**
-     * It's an array to support multiple reads before closing which is manual, non-standard usage
-     *
-     * @var \PDOStatement[] An array of statements to release advisory locks
-     */
-    private $unlockStatements = array();
-
-    /**
-     * @var bool True when the current session exists but expired according to session.gc_maxlifetime
-     */
-    private $sessionExpired = false;
-
-    /**
-     * @var bool Whether a transaction is active
-     */
-    private $inTransaction = false;
-
-    /**
-     * @var bool Whether gc() has been called
-     */
-    private $gcCalled = false;
-
-    /**
-     * Constructor.
-     *
-     * You can either pass an existing database connection as PDO instance or
-     * pass a DSN string that will be used to lazy-connect to the database
-     * when the session is actually used. Furthermore it's possible to pass null
-     * which will then use the session.save_path ini setting as PDO DSN parameter.
-     *
-     * List of available options:
-     *  * db_table: The name of the table [default: sessions]
-     *  * db_id_col: The column where to store the session id [default: sess_id]
-     *  * db_data_col: The column where to store the session data [default: sess_data]
-     *  * db_lifetime_col: The column where to store the lifetime [default: sess_lifetime]
-     *  * db_time_col: The column where to store the timestamp [default: sess_time]
-     *  * db_username: The username when lazy-connect [default: '']
-     *  * db_password: The password when lazy-connect [default: '']
-     *  * db_connection_options: An array of driver-specific connection options [default: array()]
-     *  * lock_mode: The strategy for locking, see constants [default: LOCK_TRANSACTIONAL]
-     *
-     * @param \PDO|string|null $pdoOrDsn A \PDO instance or DSN string or null
-     * @param array            $options  An associative array of options
-     *
-     * @throws \InvalidArgumentException When PDO error mode is not PDO::ERRMODE_EXCEPTION
-     */
-    public function __construct($pdoOrDsn = null, array $options = array())
-    {
-        if ($pdoOrDsn instanceof \PDO) {
-            if (\PDO::ERRMODE_EXCEPTION !== $pdoOrDsn->getAttribute(\PDO::ATTR_ERRMODE)) {
-                throw new \InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION))', __CLASS__));
-            }
-
-            $this->pdo = $pdoOrDsn;
-            $this->driver = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME);
-        } else {
-            $this->dsn = $pdoOrDsn;
-        }
-
-        $this->table = isset($options['db_table']) ? $options['db_table'] : $this->table;
-        $this->idCol = isset($options['db_id_col']) ? $options['db_id_col'] : $this->idCol;
-        $this->dataCol = isset($options['db_data_col']) ? $options['db_data_col'] : $this->dataCol;
-        $this->lifetimeCol = isset($options['db_lifetime_col']) ? $options['db_lifetime_col'] : $this->lifetimeCol;
-        $this->timeCol = isset($options['db_time_col']) ? $options['db_time_col'] : $this->timeCol;
-        $this->username = isset($options['db_username']) ? $options['db_username'] : $this->username;
-        $this->password = isset($options['db_password']) ? $options['db_password'] : $this->password;
-        $this->connectionOptions = isset($options['db_connection_options']) ? $options['db_connection_options'] : $this->connectionOptions;
-        $this->lockMode = isset($options['lock_mode']) ? $options['lock_mode'] : $this->lockMode;
-    }
-
-    /**
-     * Creates the table to store sessions which can be called once for setup.
-     *
-     * Session ID is saved in a column of maximum length 128 because that is enough even
-     * for a 512 bit configured session.hash_function like Whirlpool. Session data is
-     * saved in a BLOB. One could also use a shorter inlined varbinary column
-     * if one was sure the data fits into it.
-     *
-     * @throws \PDOException    When the table already exists
-     * @throws \DomainException When an unsupported PDO driver is used
-     */
-    public function createTable()
-    {
-        // connect if we are not yet
-        $this->getConnection();
-
-        switch ($this->driver) {
-            case 'mysql':
-                // We use varbinary for the ID column because it prevents unwanted conversions:
-                // - character set conversions between server and client
-                // - trailing space removal
-                // - case-insensitivity
-                // - language processing like é == e
-                $sql = "CREATE TABLE $this->table ($this->idCol VARBINARY(128) NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol MEDIUMINT NOT NULL, $this->timeCol INTEGER UNSIGNED NOT NULL) COLLATE utf8_bin, ENGINE = InnoDB";
-                break;
-            case 'sqlite':
-                $sql = "CREATE TABLE $this->table ($this->idCol TEXT NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)";
-                break;
-            case 'pgsql':
-                $sql = "CREATE TABLE $this->table ($this->idCol VARCHAR(128) NOT NULL PRIMARY KEY, $this->dataCol BYTEA NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)";
-                break;
-            case 'oci':
-                $sql = "CREATE TABLE $this->table ($this->idCol VARCHAR2(128) NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)";
-                break;
-            case 'sqlsrv':
-                $sql = "CREATE TABLE $this->table ($this->idCol VARCHAR(128) NOT NULL PRIMARY KEY, $this->dataCol VARBINARY(MAX) NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)";
-                break;
-            default:
-                throw new \DomainException(sprintf('Creating the session table is currently not implemented for PDO driver "%s".', $this->driver));
-        }
-
-        try {
-            $this->pdo->exec($sql);
-        } catch (\PDOException $e) {
-            $this->rollback();
-
-            throw $e;
-        }
-    }
-
-    /**
-     * Returns true when the current session exists but expired according to session.gc_maxlifetime.
-     *
-     * Can be used to distinguish between a new session and one that expired due to inactivity.
-     *
-     * @return bool Whether current session expired
-     */
-    public function isSessionExpired()
-    {
-        return $this->sessionExpired;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        if (null === $this->pdo) {
-            $this->connect($this->dsn ?: $savePath);
-        }
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        try {
-            return $this->doRead($sessionId);
-        } catch (\PDOException $e) {
-            $this->rollback();
-
-            throw $e;
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        // We delay gc() to close() so that it is executed outside the transactional and blocking read-write process.
-        // This way, pruning expired sessions does not block them from being started while the current session is used.
-        $this->gcCalled = true;
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        // delete the record associated with this id
-        $sql = "DELETE FROM $this->table WHERE $this->idCol = :id";
-
-        try {
-            $stmt = $this->pdo->prepare($sql);
-            $stmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-            $stmt->execute();
-        } catch (\PDOException $e) {
-            $this->rollback();
-
-            throw $e;
-        }
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        $maxlifetime = (int) ini_get('session.gc_maxlifetime');
-
-        try {
-            // We use a single MERGE SQL query when supported by the database.
-            $mergeSql = $this->getMergeSql();
-
-            if (null !== $mergeSql) {
-                $mergeStmt = $this->pdo->prepare($mergeSql);
-                $mergeStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-                $mergeStmt->bindParam(':data', $data, \PDO::PARAM_LOB);
-                $mergeStmt->bindParam(':lifetime', $maxlifetime, \PDO::PARAM_INT);
-                $mergeStmt->bindValue(':time', time(), \PDO::PARAM_INT);
-                $mergeStmt->execute();
-
-                return true;
-            }
-
-            $updateStmt = $this->pdo->prepare(
-                "UPDATE $this->table SET $this->dataCol = :data, $this->lifetimeCol = :lifetime, $this->timeCol = :time WHERE $this->idCol = :id"
-            );
-            $updateStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-            $updateStmt->bindParam(':data', $data, \PDO::PARAM_LOB);
-            $updateStmt->bindParam(':lifetime', $maxlifetime, \PDO::PARAM_INT);
-            $updateStmt->bindValue(':time', time(), \PDO::PARAM_INT);
-            $updateStmt->execute();
-
-            // When MERGE is not supported, like in Postgres, we have to use this approach that can result in
-            // duplicate key errors when the same session is written simultaneously (given the LOCK_NONE behavior).
-            // We can just catch such an error and re-execute the update. This is similar to a serializable
-            // transaction with retry logic on serialization failures but without the overhead and without possible
-            // false positives due to longer gap locking.
-            if (!$updateStmt->rowCount()) {
-                try {
-                    $insertStmt = $this->pdo->prepare(
-                        "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :lifetime, :time)"
-                    );
-                    $insertStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-                    $insertStmt->bindParam(':data', $data, \PDO::PARAM_LOB);
-                    $insertStmt->bindParam(':lifetime', $maxlifetime, \PDO::PARAM_INT);
-                    $insertStmt->bindValue(':time', time(), \PDO::PARAM_INT);
-                    $insertStmt->execute();
-                } catch (\PDOException $e) {
-                    // Handle integrity violation SQLSTATE 23000 (or a subclass like 23505 in Postgres) for duplicate keys
-                    if (0 === strpos($e->getCode(), '23')) {
-                        $updateStmt->execute();
-                    } else {
-                        throw $e;
-                    }
-                }
-            }
-        } catch (\PDOException $e) {
-            $this->rollback();
-
-            throw $e;
-        }
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        $this->commit();
-
-        while ($unlockStmt = array_shift($this->unlockStatements)) {
-            $unlockStmt->execute();
-        }
-
-        if ($this->gcCalled) {
-            $this->gcCalled = false;
-
-            // delete the session records that have expired
-            $sql = "DELETE FROM $this->table WHERE $this->lifetimeCol + $this->timeCol < :time";
-
-            $stmt = $this->pdo->prepare($sql);
-            $stmt->bindValue(':time', time(), \PDO::PARAM_INT);
-            $stmt->execute();
-        }
-
-        if (false !== $this->dsn) {
-            $this->pdo = null; // only close lazy-connection
-        }
-
-        return true;
-    }
-
-    /**
-     * Lazy-connects to the database.
-     *
-     * @param string $dsn DSN string
-     */
-    private function connect($dsn)
-    {
-        $this->pdo = new \PDO($dsn, $this->username, $this->password, $this->connectionOptions);
-        $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
-        $this->driver = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME);
-    }
-
-    /**
-     * Helper method to begin a transaction.
-     *
-     * Since SQLite does not support row level locks, we have to acquire a reserved lock
-     * on the database immediately. Because of https://bugs.php.net/42766 we have to create
-     * such a transaction manually which also means we cannot use PDO::commit or
-     * PDO::rollback or PDO::inTransaction for SQLite.
-     *
-     * Also MySQLs default isolation, REPEATABLE READ, causes deadlock for different sessions
-     * due to http://www.mysqlperformanceblog.com/2013/12/12/one-more-innodb-gap-lock-to-avoid/ .
-     * So we change it to READ COMMITTED.
-     */
-    private function beginTransaction()
-    {
-        if (!$this->inTransaction) {
-            if ('sqlite' === $this->driver) {
-                $this->pdo->exec('BEGIN IMMEDIATE TRANSACTION');
-            } else {
-                if ('mysql' === $this->driver) {
-                    $this->pdo->exec('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
-                }
-                $this->pdo->beginTransaction();
-            }
-            $this->inTransaction = true;
-        }
-    }
-
-    /**
-     * Helper method to commit a transaction.
-     */
-    private function commit()
-    {
-        if ($this->inTransaction) {
-            try {
-                // commit read-write transaction which also releases the lock
-                if ('sqlite' === $this->driver) {
-                    $this->pdo->exec('COMMIT');
-                } else {
-                    $this->pdo->commit();
-                }
-                $this->inTransaction = false;
-            } catch (\PDOException $e) {
-                $this->rollback();
-
-                throw $e;
-            }
-        }
-    }
-
-    /**
-     * Helper method to rollback a transaction.
-     */
-    private function rollback()
-    {
-        // We only need to rollback if we are in a transaction. Otherwise the resulting
-        // error would hide the real problem why rollback was called. We might not be
-        // in a transaction when not using the transactional locking behavior or when
-        // two callbacks (e.g. destroy and write) are invoked that both fail.
-        if ($this->inTransaction) {
-            if ('sqlite' === $this->driver) {
-                $this->pdo->exec('ROLLBACK');
-            } else {
-                $this->pdo->rollback();
-            }
-            $this->inTransaction = false;
-        }
-    }
-
-    /**
-     * Reads the session data in respect to the different locking strategies.
-     *
-     * We need to make sure we do not return session data that is already considered garbage according
-     * to the session.gc_maxlifetime setting because gc() is called after read() and only sometimes.
-     *
-     * @param string $sessionId Session ID
-     *
-     * @return string The session data
-     */
-    private function doRead($sessionId)
-    {
-        $this->sessionExpired = false;
-
-        if (self::LOCK_ADVISORY === $this->lockMode) {
-            $this->unlockStatements[] = $this->doAdvisoryLock($sessionId);
-        }
-
-        $selectSql = $this->getSelectSql();
-        $selectStmt = $this->pdo->prepare($selectSql);
-        $selectStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-        $selectStmt->execute();
-
-        $sessionRows = $selectStmt->fetchAll(\PDO::FETCH_NUM);
-
-        if ($sessionRows) {
-            if ($sessionRows[0][1] + $sessionRows[0][2] < time()) {
-                $this->sessionExpired = true;
-
-                return '';
-            }
-
-            return is_resource($sessionRows[0][0]) ? stream_get_contents($sessionRows[0][0]) : $sessionRows[0][0];
-        }
-
-        if (self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) {
-            // Exclusive-reading of non-existent rows does not block, so we need to do an insert to block
-            // until other connections to the session are committed.
-            try {
-                $insertStmt = $this->pdo->prepare(
-                    "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :lifetime, :time)"
-                );
-                $insertStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
-                $insertStmt->bindValue(':data', '', \PDO::PARAM_LOB);
-                $insertStmt->bindValue(':lifetime', 0, \PDO::PARAM_INT);
-                $insertStmt->bindValue(':time', time(), \PDO::PARAM_INT);
-                $insertStmt->execute();
-            } catch (\PDOException $e) {
-                // Catch duplicate key error because other connection created the session already.
-                // It would only not be the case when the other connection destroyed the session.
-                if (0 === strpos($e->getCode(), '23')) {
-                    // Retrieve finished session data written by concurrent connection. SELECT
-                    // FOR UPDATE is necessary to avoid deadlock of connection that starts reading
-                    // before we write (transform intention to real lock).
-                    $selectStmt->execute();
-                    $sessionRows = $selectStmt->fetchAll(\PDO::FETCH_NUM);
-
-                    if ($sessionRows) {
-                        return is_resource($sessionRows[0][0]) ? stream_get_contents($sessionRows[0][0]) : $sessionRows[0][0];
-                    }
-
-                    return '';
-                }
-
-                throw $e;
-            }
-        }
-
-        return '';
-    }
-
-    /**
-     * Executes an application-level lock on the database.
-     *
-     * @param string $sessionId Session ID
-     *
-     * @return \PDOStatement The statement that needs to be executed later to release the lock
-     *
-     * @throws \DomainException When an unsupported PDO driver is used
-     *
-     * @todo implement missing advisory locks
-     *       - for oci using DBMS_LOCK.REQUEST
-     *       - for sqlsrv using sp_getapplock with LockOwner = Session
-     */
-    private function doAdvisoryLock($sessionId)
-    {
-        switch ($this->driver) {
-            case 'mysql':
-                // should we handle the return value? 0 on timeout, null on error
-                // we use a timeout of 50 seconds which is also the default for innodb_lock_wait_timeout
-                $stmt = $this->pdo->prepare('SELECT GET_LOCK(:key, 50)');
-                $stmt->bindValue(':key', $sessionId, \PDO::PARAM_STR);
-                $stmt->execute();
-
-                $releaseStmt = $this->pdo->prepare('DO RELEASE_LOCK(:key)');
-                $releaseStmt->bindValue(':key', $sessionId, \PDO::PARAM_STR);
-
-                return $releaseStmt;
-            case 'pgsql':
-                // Obtaining an exclusive session level advisory lock requires an integer key.
-                // So we convert the HEX representation of the session id to an integer.
-                // Since integers are signed, we have to skip one hex char to fit in the range.
-                if (4 === PHP_INT_SIZE) {
-                    $sessionInt1 = hexdec(substr($sessionId, 0, 7));
-                    $sessionInt2 = hexdec(substr($sessionId, 7, 7));
-
-                    $stmt = $this->pdo->prepare('SELECT pg_advisory_lock(:key1, :key2)');
-                    $stmt->bindValue(':key1', $sessionInt1, \PDO::PARAM_INT);
-                    $stmt->bindValue(':key2', $sessionInt2, \PDO::PARAM_INT);
-                    $stmt->execute();
-
-                    $releaseStmt = $this->pdo->prepare('SELECT pg_advisory_unlock(:key1, :key2)');
-                    $releaseStmt->bindValue(':key1', $sessionInt1, \PDO::PARAM_INT);
-                    $releaseStmt->bindValue(':key2', $sessionInt2, \PDO::PARAM_INT);
-                } else {
-                    $sessionBigInt = hexdec(substr($sessionId, 0, 15));
-
-                    $stmt = $this->pdo->prepare('SELECT pg_advisory_lock(:key)');
-                    $stmt->bindValue(':key', $sessionBigInt, \PDO::PARAM_INT);
-                    $stmt->execute();
-
-                    $releaseStmt = $this->pdo->prepare('SELECT pg_advisory_unlock(:key)');
-                    $releaseStmt->bindValue(':key', $sessionBigInt, \PDO::PARAM_INT);
-                }
-
-                return $releaseStmt;
-            case 'sqlite':
-                throw new \DomainException('SQLite does not support advisory locks.');
-            default:
-                throw new \DomainException(sprintf('Advisory locks are currently not implemented for PDO driver "%s".', $this->driver));
-        }
-    }
-
-    /**
-     * Return a locking or nonlocking SQL query to read session information.
-     *
-     * @return string The SQL string
-     *
-     * @throws \DomainException When an unsupported PDO driver is used
-     */
-    private function getSelectSql()
-    {
-        if (self::LOCK_TRANSACTIONAL === $this->lockMode) {
-            $this->beginTransaction();
-
-            switch ($this->driver) {
-                case 'mysql':
-                case 'oci':
-                case 'pgsql':
-                    return "SELECT $this->dataCol, $this->lifetimeCol, $this->timeCol FROM $this->table WHERE $this->idCol = :id FOR UPDATE";
-                case 'sqlsrv':
-                    return "SELECT $this->dataCol, $this->lifetimeCol, $this->timeCol FROM $this->table WITH (UPDLOCK, ROWLOCK) WHERE $this->idCol = :id";
-                case 'sqlite':
-                    // we already locked when starting transaction
-                    break;
-                default:
-                    throw new \DomainException(sprintf('Transactional locks are currently not implemented for PDO driver "%s".', $this->driver));
-            }
-        }
-
-        return "SELECT $this->dataCol, $this->lifetimeCol, $this->timeCol FROM $this->table WHERE $this->idCol = :id";
-    }
-
-    /**
-     * Returns a merge/upsert (i.e. insert or update) SQL query when supported by the database for writing session data.
-     *
-     * @return string|null The SQL string or null when not supported
-     */
-    private function getMergeSql()
-    {
-        switch ($this->driver) {
-            case 'mysql':
-                return "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :lifetime, :time) ".
-                    "ON DUPLICATE KEY UPDATE $this->dataCol = VALUES($this->dataCol), $this->lifetimeCol = VALUES($this->lifetimeCol), $this->timeCol = VALUES($this->timeCol)";
-            case 'oci':
-                // DUAL is Oracle specific dummy table
-                return "MERGE INTO $this->table USING DUAL ON ($this->idCol = :id) ".
-                    "WHEN NOT MATCHED THEN INSERT ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :lifetime, :time) ".
-                    "WHEN MATCHED THEN UPDATE SET $this->dataCol = :data, $this->lifetimeCol = :lifetime, $this->timeCol = :time";
-            case 'sqlsrv' === $this->driver && version_compare($this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION), '10', '>='):
-                // MERGE is only available since SQL Server 2008 and must be terminated by semicolon
-                // It also requires HOLDLOCK according to http://weblogs.sqlteam.com/dang/archive/2009/01/31/UPSERT-Race-Condition-With-MERGE.aspx
-                return "MERGE INTO $this->table WITH (HOLDLOCK) USING (SELECT 1 AS dummy) AS src ON ($this->idCol = :id) ".
-                    "WHEN NOT MATCHED THEN INSERT ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :lifetime, :time) ".
-                    "WHEN MATCHED THEN UPDATE SET $this->dataCol = :data, $this->lifetimeCol = :lifetime, $this->timeCol = :time;";
-            case 'sqlite':
-                return "INSERT OR REPLACE INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :lifetime, :time)";
-        }
-    }
-
-    /**
-     * Return a PDO instance
-     *
-     * @return \PDO
-     */
-    protected function getConnection()
-    {
-        if (null === $this->pdo) {
-            $this->connect($this->dsn ?: ini_get('session.save_path'));
-        }
-
-        return $this->pdo;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/WriteCheckSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/WriteCheckSessionHandler.php
deleted file mode 100644
index d49c36c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/WriteCheckSessionHandler.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
-
-/**
- * Wraps another SessionHandlerInterface to only write the session when it has been modified.
- *
- * @author Adrien Brault <adrien.brault@gmail.com>
- */
-class WriteCheckSessionHandler implements \SessionHandlerInterface
-{
-    /**
-     * @var \SessionHandlerInterface
-     */
-    private $wrappedSessionHandler;
-
-    /**
-     * @var array sessionId => session
-     */
-    private $readSessions;
-
-    public function __construct(\SessionHandlerInterface $wrappedSessionHandler)
-    {
-        $this->wrappedSessionHandler = $wrappedSessionHandler;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        return $this->wrappedSessionHandler->close();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        return $this->wrappedSessionHandler->destroy($sessionId);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        return $this->wrappedSessionHandler->gc($maxlifetime);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        return $this->wrappedSessionHandler->open($savePath, $sessionName);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        $session = $this->wrappedSessionHandler->read($sessionId);
-
-        $this->readSessions[$sessionId] = $session;
-
-        return $session;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        if (isset($this->readSessions[$sessionId]) && $data === $this->readSessions[$sessionId]) {
-            return true;
-        }
-
-        return $this->wrappedSessionHandler->write($sessionId, $data);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php
deleted file mode 100644
index ec7b267..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\SessionBagInterface;
-
-/**
- * Metadata container.
- *
- * Adds metadata to the session.
- *
- * @author Drak <drak@zikula.org>
- */
-class MetadataBag implements SessionBagInterface
-{
-    const CREATED = 'c';
-    const UPDATED = 'u';
-    const LIFETIME = 'l';
-
-    /**
-     * @var string
-     */
-    private $name = '__metadata';
-
-    /**
-     * @var string
-     */
-    private $storageKey;
-
-    /**
-     * @var array
-     */
-    protected $meta = array(self::CREATED => 0, self::UPDATED => 0, self::LIFETIME => 0);
-
-    /**
-     * Unix timestamp.
-     *
-     * @var int
-     */
-    private $lastUsed;
-
-    /**
-     * @var int
-     */
-    private $updateThreshold;
-
-    /**
-     * Constructor.
-     *
-     * @param string $storageKey      The key used to store bag in the session.
-     * @param int    $updateThreshold The time to wait between two UPDATED updates
-     */
-    public function __construct($storageKey = '_sf2_meta', $updateThreshold = 0)
-    {
-        $this->storageKey = $storageKey;
-        $this->updateThreshold = $updateThreshold;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function initialize(array &$array)
-    {
-        $this->meta = &$array;
-
-        if (isset($array[self::CREATED])) {
-            $this->lastUsed = $this->meta[self::UPDATED];
-
-            $timeStamp = time();
-            if ($timeStamp - $array[self::UPDATED] >= $this->updateThreshold) {
-                $this->meta[self::UPDATED] = $timeStamp;
-            }
-        } else {
-            $this->stampCreated();
-        }
-    }
-
-    /**
-     * Gets the lifetime that the session cookie was set with.
-     *
-     * @return int
-     */
-    public function getLifetime()
-    {
-        return $this->meta[self::LIFETIME];
-    }
-
-    /**
-     * Stamps a new session's metadata.
-     *
-     * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value
-     *                      will leave the system settings unchanged, 0 sets the cookie
-     *                      to expire with browser session. Time is in seconds, and is
-     *                      not a Unix timestamp.
-     */
-    public function stampNew($lifetime = null)
-    {
-        $this->stampCreated($lifetime);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStorageKey()
-    {
-        return $this->storageKey;
-    }
-
-    /**
-     * Gets the created timestamp metadata.
-     *
-     * @return int Unix timestamp
-     */
-    public function getCreated()
-    {
-        return $this->meta[self::CREATED];
-    }
-
-    /**
-     * Gets the last used metadata.
-     *
-     * @return int Unix timestamp
-     */
-    public function getLastUsed()
-    {
-        return $this->lastUsed;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        // nothing to do
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Sets name.
-     *
-     * @param string $name
-     */
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    private function stampCreated($lifetime = null)
-    {
-        $timeStamp = time();
-        $this->meta[self::CREATED] = $this->meta[self::UPDATED] = $this->lastUsed = $timeStamp;
-        $this->meta[self::LIFETIME] = (null === $lifetime) ? ini_get('session.cookie_lifetime') : $lifetime;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php
deleted file mode 100644
index f3eeb08..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php
+++ /dev/null
@@ -1,268 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\SessionBagInterface;
-
-/**
- * MockArraySessionStorage mocks the session for unit tests.
- *
- * No PHP session is actually started since a session can be initialized
- * and shutdown only once per PHP execution cycle.
- *
- * When doing functional testing, you should use MockFileSessionStorage instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- * @author Drak <drak@zikula.org>
- */
-class MockArraySessionStorage implements SessionStorageInterface
-{
-    /**
-     * @var string
-     */
-    protected $id = '';
-
-    /**
-     * @var string
-     */
-    protected $name;
-
-    /**
-     * @var bool
-     */
-    protected $started = false;
-
-    /**
-     * @var bool
-     */
-    protected $closed = false;
-
-    /**
-     * @var array
-     */
-    protected $data = array();
-
-    /**
-     * @var MetadataBag
-     */
-    protected $metadataBag;
-
-    /**
-     * @var array
-     */
-    protected $bags;
-
-    /**
-     * Constructor.
-     *
-     * @param string      $name    Session name
-     * @param MetadataBag $metaBag MetadataBag instance.
-     */
-    public function __construct($name = 'MOCKSESSID', MetadataBag $metaBag = null)
-    {
-        $this->name = $name;
-        $this->setMetadataBag($metaBag);
-    }
-
-    /**
-     * Sets the session data.
-     *
-     * @param array $array
-     */
-    public function setSessionData(array $array)
-    {
-        $this->data = $array;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        if ($this->started) {
-            return true;
-        }
-
-        if (empty($this->id)) {
-            $this->id = $this->generateId();
-        }
-
-        $this->loadSession();
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function regenerate($destroy = false, $lifetime = null)
-    {
-        if (!$this->started) {
-            $this->start();
-        }
-
-        $this->metadataBag->stampNew($lifetime);
-        $this->id = $this->generateId();
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getId()
-    {
-        return $this->id;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setId($id)
-    {
-        if ($this->started) {
-            throw new \LogicException('Cannot set session ID after the session has started.');
-        }
-
-        $this->id = $id;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function save()
-    {
-        if (!$this->started || $this->closed) {
-            throw new \RuntimeException('Trying to save a session that was not started yet or was already closed');
-        }
-        // nothing to do since we don't persist the session data
-        $this->closed = false;
-        $this->started = false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        // clear out the bags
-        foreach ($this->bags as $bag) {
-            $bag->clear();
-        }
-
-        // clear out the session
-        $this->data = array();
-
-        // reconnect the bags to the session
-        $this->loadSession();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function registerBag(SessionBagInterface $bag)
-    {
-        $this->bags[$bag->getName()] = $bag;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBag($name)
-    {
-        if (!isset($this->bags[$name])) {
-            throw new \InvalidArgumentException(sprintf('The SessionBagInterface %s is not registered.', $name));
-        }
-
-        if (!$this->started) {
-            $this->start();
-        }
-
-        return $this->bags[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStarted()
-    {
-        return $this->started;
-    }
-
-    /**
-     * Sets the MetadataBag.
-     *
-     * @param MetadataBag $bag
-     */
-    public function setMetadataBag(MetadataBag $bag = null)
-    {
-        if (null === $bag) {
-            $bag = new MetadataBag();
-        }
-
-        $this->metadataBag = $bag;
-    }
-
-    /**
-     * Gets the MetadataBag.
-     *
-     * @return MetadataBag
-     */
-    public function getMetadataBag()
-    {
-        return $this->metadataBag;
-    }
-
-    /**
-     * Generates a session ID.
-     *
-     * This doesn't need to be particularly cryptographically secure since this is just
-     * a mock.
-     *
-     * @return string
-     */
-    protected function generateId()
-    {
-        return hash('sha256', uniqid(mt_rand()));
-    }
-
-    protected function loadSession()
-    {
-        $bags = array_merge($this->bags, array($this->metadataBag));
-
-        foreach ($bags as $bag) {
-            $key = $bag->getStorageKey();
-            $this->data[$key] = isset($this->data[$key]) ? $this->data[$key] : array();
-            $bag->initialize($this->data[$key]);
-        }
-
-        $this->started = true;
-        $this->closed = false;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php
deleted file mode 100644
index 1f4117b..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage;
-
-/**
- * MockFileSessionStorage is used to mock sessions for
- * functional testing when done in a single PHP process.
- *
- * No PHP session is actually started since a session can be initialized
- * and shutdown only once per PHP execution cycle and this class does
- * not pollute any session related globals, including session_*() functions
- * or session.* PHP ini directives.
- *
- * @author Drak <drak@zikula.org>
- */
-class MockFileSessionStorage extends MockArraySessionStorage
-{
-    /**
-     * @var string
-     */
-    private $savePath;
-
-    /**
-     * Constructor.
-     *
-     * @param string      $savePath Path of directory to save session files.
-     * @param string      $name     Session name.
-     * @param MetadataBag $metaBag  MetadataBag instance.
-     */
-    public function __construct($savePath = null, $name = 'MOCKSESSID', MetadataBag $metaBag = null)
-    {
-        if (null === $savePath) {
-            $savePath = sys_get_temp_dir();
-        }
-
-        if (!is_dir($savePath)) {
-            mkdir($savePath, 0777, true);
-        }
-
-        $this->savePath = $savePath;
-
-        parent::__construct($name, $metaBag);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        if ($this->started) {
-            return true;
-        }
-
-        if (!$this->id) {
-            $this->id = $this->generateId();
-        }
-
-        $this->read();
-
-        $this->started = true;
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function regenerate($destroy = false, $lifetime = null)
-    {
-        if (!$this->started) {
-            $this->start();
-        }
-
-        if ($destroy) {
-            $this->destroy();
-        }
-
-        return parent::regenerate($destroy, $lifetime);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function save()
-    {
-        if (!$this->started) {
-            throw new \RuntimeException('Trying to save a session that was not started yet or was already closed');
-        }
-
-        file_put_contents($this->getFilePath(), serialize($this->data));
-
-        // this is needed for Silex, where the session object is re-used across requests
-        // in functional tests. In Symfony, the container is rebooted, so we don't have
-        // this issue
-        $this->started = false;
-    }
-
-    /**
-     * Deletes a session from persistent storage.
-     * Deliberately leaves session data in memory intact.
-     */
-    private function destroy()
-    {
-        if (is_file($this->getFilePath())) {
-            unlink($this->getFilePath());
-        }
-    }
-
-    /**
-     * Calculate path to file.
-     *
-     * @return string File path
-     */
-    private function getFilePath()
-    {
-        return $this->savePath.'/'.$this->id.'.mocksess';
-    }
-
-    /**
-     * Reads session from storage and loads session.
-     */
-    private function read()
-    {
-        $filePath = $this->getFilePath();
-        $this->data = is_readable($filePath) && is_file($filePath) ? unserialize(file_get_contents($filePath)) : array();
-
-        $this->loadSession();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
deleted file mode 100644
index a5bdbe9..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
+++ /dev/null
@@ -1,414 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\SessionBagInterface;
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy;
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy;
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy;
-
-/**
- * This provides a base class for session attribute storage.
- *
- * @author Drak <drak@zikula.org>
- */
-class NativeSessionStorage implements SessionStorageInterface
-{
-    /**
-     * Array of SessionBagInterface.
-     *
-     * @var SessionBagInterface[]
-     */
-    protected $bags;
-
-    /**
-     * @var bool
-     */
-    protected $started = false;
-
-    /**
-     * @var bool
-     */
-    protected $closed = false;
-
-    /**
-     * @var AbstractProxy
-     */
-    protected $saveHandler;
-
-    /**
-     * @var MetadataBag
-     */
-    protected $metadataBag;
-
-    /**
-     * Constructor.
-     *
-     * Depending on how you want the storage driver to behave you probably
-     * want to override this constructor entirely.
-     *
-     * List of options for $options array with their defaults.
-     *
-     * @see http://php.net/session.configuration for options
-     * but we omit 'session.' from the beginning of the keys for convenience.
-     *
-     * ("auto_start", is not supported as it tells PHP to start a session before
-     * PHP starts to execute user-land code. Setting during runtime has no effect).
-     *
-     * cache_limiter, "nocache" (use "0" to prevent headers from being sent entirely).
-     * cookie_domain, ""
-     * cookie_httponly, ""
-     * cookie_lifetime, "0"
-     * cookie_path, "/"
-     * cookie_secure, ""
-     * entropy_file, ""
-     * entropy_length, "0"
-     * gc_divisor, "100"
-     * gc_maxlifetime, "1440"
-     * gc_probability, "1"
-     * hash_bits_per_character, "4"
-     * hash_function, "0"
-     * name, "PHPSESSID"
-     * referer_check, ""
-     * serialize_handler, "php"
-     * use_cookies, "1"
-     * use_only_cookies, "1"
-     * use_trans_sid, "0"
-     * upload_progress.enabled, "1"
-     * upload_progress.cleanup, "1"
-     * upload_progress.prefix, "upload_progress_"
-     * upload_progress.name, "PHP_SESSION_UPLOAD_PROGRESS"
-     * upload_progress.freq, "1%"
-     * upload_progress.min-freq, "1"
-     * url_rewriter.tags, "a=href,area=href,frame=src,form=,fieldset="
-     *
-     * @param array                                                            $options Session configuration options.
-     * @param AbstractProxy|NativeSessionHandler|\SessionHandlerInterface|null $handler
-     * @param MetadataBag                                                      $metaBag MetadataBag.
-     */
-    public function __construct(array $options = array(), $handler = null, MetadataBag $metaBag = null)
-    {
-        session_cache_limiter(''); // disable by default because it's managed by HeaderBag (if used)
-        ini_set('session.use_cookies', 1);
-
-        if (PHP_VERSION_ID >= 50400) {
-            session_register_shutdown();
-        } else {
-            register_shutdown_function('session_write_close');
-        }
-
-        $this->setMetadataBag($metaBag);
-        $this->setOptions($options);
-        $this->setSaveHandler($handler);
-    }
-
-    /**
-     * Gets the save handler instance.
-     *
-     * @return AbstractProxy
-     */
-    public function getSaveHandler()
-    {
-        return $this->saveHandler;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        if ($this->started) {
-            return true;
-        }
-
-        if (PHP_VERSION_ID >= 50400 && \PHP_SESSION_ACTIVE === session_status()) {
-            throw new \RuntimeException('Failed to start the session: already started by PHP.');
-        }
-
-        if (PHP_VERSION_ID < 50400 && !$this->closed && isset($_SESSION) && session_id()) {
-            // not 100% fool-proof, but is the most reliable way to determine if a session is active in PHP 5.3
-            throw new \RuntimeException('Failed to start the session: already started by PHP ($_SESSION is set).');
-        }
-
-        if (ini_get('session.use_cookies') && headers_sent($file, $line)) {
-            throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
-        }
-
-        // ok to try and start the session
-        if (!session_start()) {
-            throw new \RuntimeException('Failed to start the session');
-        }
-
-        $this->loadSession();
-        if (!$this->saveHandler->isWrapper() && !$this->saveHandler->isSessionHandlerInterface()) {
-            // This condition matches only PHP 5.3 with internal save handlers
-            $this->saveHandler->setActive(true);
-        }
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getId()
-    {
-        return $this->saveHandler->getId();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setId($id)
-    {
-        $this->saveHandler->setId($id);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return $this->saveHandler->getName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setName($name)
-    {
-        $this->saveHandler->setName($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function regenerate($destroy = false, $lifetime = null)
-    {
-        if (null !== $lifetime) {
-            ini_set('session.cookie_lifetime', $lifetime);
-        }
-
-        if ($destroy) {
-            $this->metadataBag->stampNew();
-        }
-
-        return session_regenerate_id($destroy);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function save()
-    {
-        session_write_close();
-
-        if (!$this->saveHandler->isWrapper() && !$this->saveHandler->isSessionHandlerInterface()) {
-            // This condition matches only PHP 5.3 with internal save handlers
-            $this->saveHandler->setActive(false);
-        }
-
-        $this->closed = true;
-        $this->started = false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        // clear out the bags
-        foreach ($this->bags as $bag) {
-            $bag->clear();
-        }
-
-        // clear out the session
-        $_SESSION = array();
-
-        // reconnect the bags to the session
-        $this->loadSession();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function registerBag(SessionBagInterface $bag)
-    {
-        $this->bags[$bag->getName()] = $bag;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBag($name)
-    {
-        if (!isset($this->bags[$name])) {
-            throw new \InvalidArgumentException(sprintf('The SessionBagInterface %s is not registered.', $name));
-        }
-
-        if ($this->saveHandler->isActive() && !$this->started) {
-            $this->loadSession();
-        } elseif (!$this->started) {
-            $this->start();
-        }
-
-        return $this->bags[$name];
-    }
-
-    /**
-     * Sets the MetadataBag.
-     *
-     * @param MetadataBag $metaBag
-     */
-    public function setMetadataBag(MetadataBag $metaBag = null)
-    {
-        if (null === $metaBag) {
-            $metaBag = new MetadataBag();
-        }
-
-        $this->metadataBag = $metaBag;
-    }
-
-    /**
-     * Gets the MetadataBag.
-     *
-     * @return MetadataBag
-     */
-    public function getMetadataBag()
-    {
-        return $this->metadataBag;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStarted()
-    {
-        return $this->started;
-    }
-
-    /**
-     * Sets session.* ini variables.
-     *
-     * For convenience we omit 'session.' from the beginning of the keys.
-     * Explicitly ignores other ini keys.
-     *
-     * @param array $options Session ini directives array(key => value).
-     *
-     * @see http://php.net/session.configuration
-     */
-    public function setOptions(array $options)
-    {
-        $validOptions = array_flip(array(
-            'cache_limiter', 'cookie_domain', 'cookie_httponly',
-            'cookie_lifetime', 'cookie_path', 'cookie_secure',
-            'entropy_file', 'entropy_length', 'gc_divisor',
-            'gc_maxlifetime', 'gc_probability', 'hash_bits_per_character',
-            'hash_function', 'name', 'referer_check',
-            'serialize_handler', 'use_cookies',
-            'use_only_cookies', 'use_trans_sid', 'upload_progress.enabled',
-            'upload_progress.cleanup', 'upload_progress.prefix', 'upload_progress.name',
-            'upload_progress.freq', 'upload_progress.min-freq', 'url_rewriter.tags',
-        ));
-
-        foreach ($options as $key => $value) {
-            if (isset($validOptions[$key])) {
-                ini_set('session.'.$key, $value);
-            }
-        }
-    }
-
-    /**
-     * Registers session save handler as a PHP session handler.
-     *
-     * To use internal PHP session save handlers, override this method using ini_set with
-     * session.save_handler and session.save_path e.g.
-     *
-     *     ini_set('session.save_handler', 'files');
-     *     ini_set('session.save_path', /tmp');
-     *
-     * or pass in a NativeSessionHandler instance which configures session.save_handler in the
-     * constructor, for a template see NativeFileSessionHandler or use handlers in
-     * composer package drak/native-session
-     *
-     * @see http://php.net/session-set-save-handler
-     * @see http://php.net/sessionhandlerinterface
-     * @see http://php.net/sessionhandler
-     * @see http://github.com/drak/NativeSession
-     *
-     * @param AbstractProxy|NativeSessionHandler|\SessionHandlerInterface|null $saveHandler
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function setSaveHandler($saveHandler = null)
-    {
-        if (!$saveHandler instanceof AbstractProxy &&
-            !$saveHandler instanceof NativeSessionHandler &&
-            !$saveHandler instanceof \SessionHandlerInterface &&
-            null !== $saveHandler) {
-            throw new \InvalidArgumentException('Must be instance of AbstractProxy or NativeSessionHandler; implement \SessionHandlerInterface; or be null.');
-        }
-
-        // Wrap $saveHandler in proxy and prevent double wrapping of proxy
-        if (!$saveHandler instanceof AbstractProxy && $saveHandler instanceof \SessionHandlerInterface) {
-            $saveHandler = new SessionHandlerProxy($saveHandler);
-        } elseif (!$saveHandler instanceof AbstractProxy) {
-            $saveHandler = PHP_VERSION_ID >= 50400 ?
-                new SessionHandlerProxy(new \SessionHandler()) : new NativeProxy();
-        }
-        $this->saveHandler = $saveHandler;
-
-        if ($this->saveHandler instanceof \SessionHandlerInterface) {
-            if (PHP_VERSION_ID >= 50400) {
-                session_set_save_handler($this->saveHandler, false);
-            } else {
-                session_set_save_handler(
-                    array($this->saveHandler, 'open'),
-                    array($this->saveHandler, 'close'),
-                    array($this->saveHandler, 'read'),
-                    array($this->saveHandler, 'write'),
-                    array($this->saveHandler, 'destroy'),
-                    array($this->saveHandler, 'gc')
-                );
-            }
-        }
-    }
-
-    /**
-     * Load the session with attributes.
-     *
-     * After starting the session, PHP retrieves the session from whatever handlers
-     * are set to (either PHP's internal, or a custom save handler set with session_set_save_handler()).
-     * PHP takes the return value from the read() handler, unserializes it
-     * and populates $_SESSION with the result automatically.
-     *
-     * @param array|null $session
-     */
-    protected function loadSession(array &$session = null)
-    {
-        if (null === $session) {
-            $session = &$_SESSION;
-        }
-
-        $bags = array_merge($this->bags, array($this->metadataBag));
-
-        foreach ($bags as $bag) {
-            $key = $bag->getStorageKey();
-            $session[$key] = isset($session[$key]) ? $session[$key] : array();
-            $bag->initialize($session[$key]);
-        }
-
-        $this->started = true;
-        $this->closed = false;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php
deleted file mode 100644
index ced706f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy;
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeSessionHandler;
-
-/**
- * Allows session to be started by PHP and managed by Symfony.
- *
- * @author Drak <drak@zikula.org>
- */
-class PhpBridgeSessionStorage extends NativeSessionStorage
-{
-    /**
-     * Constructor.
-     *
-     * @param AbstractProxy|NativeSessionHandler|\SessionHandlerInterface|null $handler
-     * @param MetadataBag                                                      $metaBag MetadataBag
-     */
-    public function __construct($handler = null, MetadataBag $metaBag = null)
-    {
-        $this->setMetadataBag($metaBag);
-        $this->setSaveHandler($handler);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        if ($this->started) {
-            return true;
-        }
-
-        $this->loadSession();
-        if (!$this->saveHandler->isWrapper() && !$this->saveHandler->isSessionHandlerInterface()) {
-            // This condition matches only PHP 5.3 + internal save handlers
-            $this->saveHandler->setActive(true);
-        }
-
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        // clear out the bags and nothing else that may be set
-        // since the purpose of this driver is to share a handler
-        foreach ($this->bags as $bag) {
-            $bag->clear();
-        }
-
-        // reconnect the bags to the session
-        $this->loadSession();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php
deleted file mode 100644
index 1036818..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy;
-
-/**
- * AbstractProxy.
- *
- * @author Drak <drak@zikula.org>
- */
-abstract class AbstractProxy
-{
-    /**
-     * Flag if handler wraps an internal PHP session handler (using \SessionHandler).
-     *
-     * @var bool
-     */
-    protected $wrapper = false;
-
-    /**
-     * @var bool
-     */
-    protected $active = false;
-
-    /**
-     * @var string
-     */
-    protected $saveHandlerName;
-
-    /**
-     * Gets the session.save_handler name.
-     *
-     * @return string
-     */
-    public function getSaveHandlerName()
-    {
-        return $this->saveHandlerName;
-    }
-
-    /**
-     * Is this proxy handler and instance of \SessionHandlerInterface.
-     *
-     * @return bool
-     */
-    public function isSessionHandlerInterface()
-    {
-        return ($this instanceof \SessionHandlerInterface);
-    }
-
-    /**
-     * Returns true if this handler wraps an internal PHP session save handler using \SessionHandler.
-     *
-     * @return bool
-     */
-    public function isWrapper()
-    {
-        return $this->wrapper;
-    }
-
-    /**
-     * Has a session started?
-     *
-     * @return bool
-     */
-    public function isActive()
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            return $this->active = \PHP_SESSION_ACTIVE === session_status();
-        }
-
-        return $this->active;
-    }
-
-    /**
-     * Sets the active flag.
-     *
-     * Has no effect under PHP 5.4+ as status is detected
-     * automatically in isActive()
-     *
-     * @internal
-     *
-     * @param bool $flag
-     *
-     * @throws \LogicException
-     */
-    public function setActive($flag)
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            throw new \LogicException('This method is disabled in PHP 5.4.0+');
-        }
-
-        $this->active = (bool) $flag;
-    }
-
-    /**
-     * Gets the session ID.
-     *
-     * @return string
-     */
-    public function getId()
-    {
-        return session_id();
-    }
-
-    /**
-     * Sets the session ID.
-     *
-     * @param string $id
-     *
-     * @throws \LogicException
-     */
-    public function setId($id)
-    {
-        if ($this->isActive()) {
-            throw new \LogicException('Cannot change the ID of an active session');
-        }
-
-        session_id($id);
-    }
-
-    /**
-     * Gets the session name.
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return session_name();
-    }
-
-    /**
-     * Sets the session name.
-     *
-     * @param string $name
-     *
-     * @throws \LogicException
-     */
-    public function setName($name)
-    {
-        if ($this->isActive()) {
-            throw new \LogicException('Cannot change the name of an active session');
-        }
-
-        session_name($name);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/NativeProxy.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/NativeProxy.php
deleted file mode 100644
index 5bb2c71..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/NativeProxy.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy;
-
-/**
- * NativeProxy.
- *
- * This proxy is built-in session handlers in PHP 5.3.x
- *
- * @author Drak <drak@zikula.org>
- */
-class NativeProxy extends AbstractProxy
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        // this makes an educated guess as to what the handler is since it should already be set.
-        $this->saveHandlerName = ini_get('session.save_handler');
-    }
-
-    /**
-     * Returns true if this handler wraps an internal PHP session save handler using \SessionHandler.
-     *
-     * @return bool False.
-     */
-    public function isWrapper()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php
deleted file mode 100644
index 81643c7..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy;
-
-/**
- * SessionHandler proxy.
- *
- * @author Drak <drak@zikula.org>
- */
-class SessionHandlerProxy extends AbstractProxy implements \SessionHandlerInterface
-{
-    /**
-     * @var \SessionHandlerInterface
-     */
-    protected $handler;
-
-    /**
-     * Constructor.
-     *
-     * @param \SessionHandlerInterface $handler
-     */
-    public function __construct(\SessionHandlerInterface $handler)
-    {
-        $this->handler = $handler;
-        $this->wrapper = ($handler instanceof \SessionHandler);
-        $this->saveHandlerName = $this->wrapper ? ini_get('session.save_handler') : 'user';
-    }
-
-    // \SessionHandlerInterface
-
-    /**
-     * {@inheritdoc}
-     */
-    public function open($savePath, $sessionName)
-    {
-        $return = (bool) $this->handler->open($savePath, $sessionName);
-
-        if (true === $return) {
-            $this->active = true;
-        }
-
-        return $return;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        $this->active = false;
-
-        return (bool) $this->handler->close();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($sessionId)
-    {
-        return (string) $this->handler->read($sessionId);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($sessionId, $data)
-    {
-        return (bool) $this->handler->write($sessionId, $data);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function destroy($sessionId)
-    {
-        return (bool) $this->handler->destroy($sessionId);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function gc($maxlifetime)
-    {
-        return (bool) $this->handler->gc($maxlifetime);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php
deleted file mode 100644
index 5dd309c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php
+++ /dev/null
@@ -1,153 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\SessionBagInterface;
-
-/**
- * StorageInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Drak <drak@zikula.org>
- *
- * @api
- */
-interface SessionStorageInterface
-{
-    /**
-     * Starts the session.
-     *
-     * @throws \RuntimeException If something goes wrong starting the session.
-     *
-     * @return bool True if started.
-     *
-     * @api
-     */
-    public function start();
-
-    /**
-     * Checks if the session is started.
-     *
-     * @return bool True if started, false otherwise.
-     */
-    public function isStarted();
-
-    /**
-     * Returns the session ID.
-     *
-     * @return string The session ID or empty.
-     *
-     * @api
-     */
-    public function getId();
-
-    /**
-     * Sets the session ID.
-     *
-     * @param string $id
-     *
-     * @api
-     */
-    public function setId($id);
-
-    /**
-     * Returns the session name.
-     *
-     * @return mixed The session name.
-     *
-     * @api
-     */
-    public function getName();
-
-    /**
-     * Sets the session name.
-     *
-     * @param string $name
-     *
-     * @api
-     */
-    public function setName($name);
-
-    /**
-     * Regenerates id that represents this storage.
-     *
-     * This method must invoke session_regenerate_id($destroy) unless
-     * this interface is used for a storage object designed for unit
-     * or functional testing where a real PHP session would interfere
-     * with testing.
-     *
-     * Note regenerate+destroy should not clear the session data in memory
-     * only delete the session data from persistent storage.
-     *
-     * Care: When regenerating the session ID no locking is involved in PHPs
-     * session design. See https://bugs.php.net/bug.php?id=61470 for a discussion.
-     * So you must make sure the regenerated session is saved BEFORE sending the
-     * headers with the new ID. Symfonys HttpKernel offers a listener for this.
-     * See Symfony\Component\HttpKernel\EventListener\SaveSessionListener.
-     * Otherwise session data could get lost again for concurrent requests with the
-     * new ID. One result could be that you get logged out after just logging in.
-     *
-     * @param bool $destroy  Destroy session when regenerating?
-     * @param int  $lifetime Sets the cookie lifetime for the session cookie. A null value
-     *                       will leave the system settings unchanged, 0 sets the cookie
-     *                       to expire with browser session. Time is in seconds, and is
-     *                       not a Unix timestamp.
-     *
-     * @return bool True if session regenerated, false if error
-     *
-     * @throws \RuntimeException If an error occurs while regenerating this storage
-     *
-     * @api
-     */
-    public function regenerate($destroy = false, $lifetime = null);
-
-    /**
-     * Force the session to be saved and closed.
-     *
-     * This method must invoke session_write_close() unless this interface is
-     * used for a storage object design for unit or functional testing where
-     * a real PHP session would interfere with testing, in which case it
-     * it should actually persist the session data if required.
-     *
-     * @throws \RuntimeException If the session is saved without being started, or if the session
-     *                           is already closed.
-     */
-    public function save();
-
-    /**
-     * Clear all session data in memory.
-     */
-    public function clear();
-
-    /**
-     * Gets a SessionBagInterface by name.
-     *
-     * @param string $name
-     *
-     * @return SessionBagInterface
-     *
-     * @throws \InvalidArgumentException If the bag does not exist
-     */
-    public function getBag($name);
-
-    /**
-     * Registers a SessionBagInterface for use.
-     *
-     * @param SessionBagInterface $bag
-     */
-    public function registerBag(SessionBagInterface $bag);
-
-    /**
-     * @return MetadataBag
-     */
-    public function getMetadataBag();
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/StreamedResponse.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/StreamedResponse.php
deleted file mode 100644
index 38986e8..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/StreamedResponse.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation;
-
-/**
- * StreamedResponse represents a streamed HTTP response.
- *
- * A StreamedResponse uses a callback for its content.
- *
- * The callback should use the standard PHP functions like echo
- * to stream the response back to the client. The flush() method
- * can also be used if needed.
- *
- * @see flush()
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class StreamedResponse extends Response
-{
-    protected $callback;
-    protected $streamed;
-
-    /**
-     * Constructor.
-     *
-     * @param callable|null $callback A valid PHP callback or null to set it later
-     * @param int           $status   The response status code
-     * @param array         $headers  An array of response headers
-     *
-     * @api
-     */
-    public function __construct($callback = null, $status = 200, $headers = array())
-    {
-        parent::__construct(null, $status, $headers);
-
-        if (null !== $callback) {
-            $this->setCallback($callback);
-        }
-        $this->streamed = false;
-    }
-
-    /**
-     * Factory method for chainability
-     *
-     * @param callable|null $callback A valid PHP callback or null to set it later
-     * @param int           $status   The response status code
-     * @param array         $headers  An array of response headers
-     *
-     * @return StreamedResponse
-     */
-    public static function create($callback = null, $status = 200, $headers = array())
-    {
-        return new static($callback, $status, $headers);
-    }
-
-    /**
-     * Sets the PHP callback associated with this Response.
-     *
-     * @param callable $callback A valid PHP callback
-     *
-     * @throws \LogicException
-     */
-    public function setCallback($callback)
-    {
-        if (!is_callable($callback)) {
-            throw new \LogicException('The Response callback must be a valid PHP callable.');
-        }
-        $this->callback = $callback;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * This method only sends the content once.
-     */
-    public function sendContent()
-    {
-        if ($this->streamed) {
-            return;
-        }
-
-        $this->streamed = true;
-
-        if (null === $this->callback) {
-            throw new \LogicException('The Response callback must not be null.');
-        }
-
-        call_user_func($this->callback);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @throws \LogicException when the content is not null
-     */
-    public function setContent($content)
-    {
-        if (null !== $content) {
-            throw new \LogicException('The content cannot be set on a StreamedResponse instance.');
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @return false
-     */
-    public function getContent()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php
deleted file mode 100644
index e4f354f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\AcceptHeaderItem;
-
-class AcceptHeaderItemTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideFromStringData
-     */
-    public function testFromString($string, $value, array $attributes)
-    {
-        $item = AcceptHeaderItem::fromString($string);
-        $this->assertEquals($value, $item->getValue());
-        $this->assertEquals($attributes, $item->getAttributes());
-    }
-
-    public function provideFromStringData()
-    {
-        return array(
-            array(
-                'text/html',
-                'text/html', array(),
-            ),
-            array(
-                '"this;should,not=matter"',
-                'this;should,not=matter', array(),
-            ),
-            array(
-                "text/plain; charset=utf-8;param=\"this;should,not=matter\";\tfootnotes=true",
-                'text/plain', array('charset' => 'utf-8', 'param' => 'this;should,not=matter', 'footnotes' => 'true'),
-            ),
-            array(
-                '"this;should,not=matter";charset=utf-8',
-                'this;should,not=matter', array('charset' => 'utf-8'),
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider provideToStringData
-     */
-    public function testToString($value, array $attributes, $string)
-    {
-        $item = new AcceptHeaderItem($value, $attributes);
-        $this->assertEquals($string, (string) $item);
-    }
-
-    public function provideToStringData()
-    {
-        return array(
-            array(
-                'text/html', array(),
-                'text/html',
-            ),
-            array(
-                'text/plain', array('charset' => 'utf-8', 'param' => 'this;should,not=matter', 'footnotes' => 'true'),
-                'text/plain;charset=utf-8;param="this;should,not=matter";footnotes=true',
-            ),
-        );
-    }
-
-    public function testValue()
-    {
-        $item = new AcceptHeaderItem('value', array());
-        $this->assertEquals('value', $item->getValue());
-
-        $item->setValue('new value');
-        $this->assertEquals('new value', $item->getValue());
-
-        $item->setValue(1);
-        $this->assertEquals('1', $item->getValue());
-    }
-
-    public function testQuality()
-    {
-        $item = new AcceptHeaderItem('value', array());
-        $this->assertEquals(1.0, $item->getQuality());
-
-        $item->setQuality(0.5);
-        $this->assertEquals(0.5, $item->getQuality());
-
-        $item->setAttribute('q', 0.75);
-        $this->assertEquals(0.75, $item->getQuality());
-        $this->assertFalse($item->hasAttribute('q'));
-    }
-
-    public function testAttribute()
-    {
-        $item = new AcceptHeaderItem('value', array());
-        $this->assertEquals(array(), $item->getAttributes());
-        $this->assertFalse($item->hasAttribute('test'));
-        $this->assertNull($item->getAttribute('test'));
-        $this->assertEquals('default', $item->getAttribute('test', 'default'));
-
-        $item->setAttribute('test', 'value');
-        $this->assertEquals(array('test' => 'value'), $item->getAttributes());
-        $this->assertTrue($item->hasAttribute('test'));
-        $this->assertEquals('value', $item->getAttribute('test'));
-        $this->assertEquals('value', $item->getAttribute('test', 'default'));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php
deleted file mode 100644
index 9b3b58e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\AcceptHeader;
-use Symfony\Component\HttpFoundation\AcceptHeaderItem;
-
-class AcceptHeaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testFirst()
-    {
-        $header = AcceptHeader::fromString('text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c');
-        $this->assertSame('text/html', $header->first()->getValue());
-    }
-
-    /**
-     * @dataProvider provideFromStringData
-     */
-    public function testFromString($string, array $items)
-    {
-        $header = AcceptHeader::fromString($string);
-        $parsed = array_values($header->all());
-        // reset index since the fixtures don't have them set
-        foreach ($parsed as $item) {
-            $item->setIndex(0);
-        }
-        $this->assertEquals($items, $parsed);
-    }
-
-    public function provideFromStringData()
-    {
-        return array(
-            array('', array()),
-            array('gzip', array(new AcceptHeaderItem('gzip'))),
-            array('gzip,deflate,sdch', array(new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch'))),
-            array("gzip, deflate\t,sdch", array(new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch'))),
-            array('"this;should,not=matter"', array(new AcceptHeaderItem('this;should,not=matter'))),
-        );
-    }
-
-    /**
-     * @dataProvider provideToStringData
-     */
-    public function testToString(array $items, $string)
-    {
-        $header = new AcceptHeader($items);
-        $this->assertEquals($string, (string) $header);
-    }
-
-    public function provideToStringData()
-    {
-        return array(
-            array(array(), ''),
-            array(array(new AcceptHeaderItem('gzip')), 'gzip'),
-            array(array(new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch')), 'gzip,deflate,sdch'),
-            array(array(new AcceptHeaderItem('this;should,not=matter')), 'this;should,not=matter'),
-        );
-    }
-
-    /**
-     * @dataProvider provideFilterData
-     */
-    public function testFilter($string, $filter, array $values)
-    {
-        $header = AcceptHeader::fromString($string)->filter($filter);
-        $this->assertEquals($values, array_keys($header->all()));
-    }
-
-    public function provideFilterData()
-    {
-        return array(
-            array('fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4', '/fr.*/', array('fr-FR', 'fr')),
-        );
-    }
-
-    /**
-     * @dataProvider provideSortingData
-     */
-    public function testSorting($string, array $values)
-    {
-        $header = AcceptHeader::fromString($string);
-        $this->assertEquals($values, array_keys($header->all()));
-    }
-
-    public function provideSortingData()
-    {
-        return array(
-            'quality has priority' => array('*;q=0.3,ISO-8859-1,utf-8;q=0.7',  array('ISO-8859-1', 'utf-8', '*')),
-            'order matters when q is equal' => array('*;q=0.3,ISO-8859-1;q=0.7,utf-8;q=0.7',  array('ISO-8859-1', 'utf-8', '*')),
-            'order matters when q is equal2' => array('*;q=0.3,utf-8;q=0.7,ISO-8859-1;q=0.7',  array('utf-8', 'ISO-8859-1', '*')),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php
deleted file mode 100644
index 6845118..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ApacheRequest;
-
-class ApacheRequestTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideServerVars
-     */
-    public function testUriMethods($server, $expectedRequestUri, $expectedBaseUrl, $expectedPathInfo)
-    {
-        $request = new ApacheRequest();
-        $request->server->replace($server);
-
-        $this->assertEquals($expectedRequestUri, $request->getRequestUri(), '->getRequestUri() is correct');
-        $this->assertEquals($expectedBaseUrl, $request->getBaseUrl(), '->getBaseUrl() is correct');
-        $this->assertEquals($expectedPathInfo, $request->getPathInfo(), '->getPathInfo() is correct');
-    }
-
-    public function provideServerVars()
-    {
-        return array(
-            array(
-                array(
-                    'REQUEST_URI' => '/foo/app_dev.php/bar',
-                    'SCRIPT_NAME' => '/foo/app_dev.php',
-                    'PATH_INFO' => '/bar',
-                ),
-                '/foo/app_dev.php/bar',
-                '/foo/app_dev.php',
-                '/bar',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/foo/bar',
-                    'SCRIPT_NAME' => '/foo/app_dev.php',
-                ),
-                '/foo/bar',
-                '/foo',
-                '/bar',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/app_dev.php/foo/bar',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                    'PATH_INFO' => '/foo/bar',
-                ),
-                '/app_dev.php/foo/bar',
-                '/app_dev.php',
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/foo/bar',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                ),
-                '/foo/bar',
-                '',
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/app_dev.php',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                ),
-                '/app_dev.php',
-                '/app_dev.php',
-                '/',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                ),
-                '/',
-                '',
-                '/',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
deleted file mode 100644
index 9b3f4d9..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
+++ /dev/null
@@ -1,250 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\BinaryFileResponse;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\ResponseHeaderBag;
-use Symfony\Component\HttpFoundation\Tests\File\FakeFile;
-
-class BinaryFileResponseTest extends ResponseTestCase
-{
-    public function testConstruction()
-    {
-        $file = __DIR__.'/../README.md';
-        $response = new BinaryFileResponse($file, 404, array('X-Header' => 'Foo'), true, null, true, true);
-        $this->assertEquals(404, $response->getStatusCode());
-        $this->assertEquals('Foo', $response->headers->get('X-Header'));
-        $this->assertTrue($response->headers->has('ETag'));
-        $this->assertTrue($response->headers->has('Last-Modified'));
-        $this->assertFalse($response->headers->has('Content-Disposition'));
-
-        $response = BinaryFileResponse::create($file, 404, array(), true, ResponseHeaderBag::DISPOSITION_INLINE);
-        $this->assertEquals(404, $response->getStatusCode());
-        $this->assertFalse($response->headers->has('ETag'));
-        $this->assertEquals('inline; filename="README.md"', $response->headers->get('Content-Disposition'));
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSetContent()
-    {
-        $response = new BinaryFileResponse(__FILE__);
-        $response->setContent('foo');
-    }
-
-    public function testGetContent()
-    {
-        $response = new BinaryFileResponse(__FILE__);
-        $this->assertFalse($response->getContent());
-    }
-
-    /**
-     * @dataProvider provideRanges
-     */
-    public function testRequests($requestRange, $offset, $length, $responseRange)
-    {
-        $response = BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif')->setAutoEtag();
-
-        // do a request to get the ETag
-        $request = Request::create('/');
-        $response->prepare($request);
-        $etag = $response->headers->get('ETag');
-
-        // prepare a request for a range of the testing file
-        $request = Request::create('/');
-        $request->headers->set('If-Range', $etag);
-        $request->headers->set('Range', $requestRange);
-
-        $file = fopen(__DIR__.'/File/Fixtures/test.gif', 'r');
-        fseek($file, $offset);
-        $data = fread($file, $length);
-        fclose($file);
-
-        $this->expectOutputString($data);
-        $response = clone $response;
-        $response->prepare($request);
-        $response->sendContent();
-
-        $this->assertEquals(206, $response->getStatusCode());
-        $this->assertEquals($responseRange, $response->headers->get('Content-Range'));
-    }
-
-    public function provideRanges()
-    {
-        return array(
-            array('bytes=1-4', 1, 4, 'bytes 1-4/35'),
-            array('bytes=-5', 30, 5, 'bytes 30-34/35'),
-            array('bytes=30-', 30, 5, 'bytes 30-34/35'),
-            array('bytes=30-30', 30, 1, 'bytes 30-30/35'),
-            array('bytes=30-34', 30, 5, 'bytes 30-34/35'),
-        );
-    }
-
-    /**
-     * @dataProvider provideFullFileRanges
-     */
-    public function testFullFileRequests($requestRange)
-    {
-        $response = BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif')->setAutoEtag();
-
-        // prepare a request for a range of the testing file
-        $request = Request::create('/');
-        $request->headers->set('Range', $requestRange);
-
-        $file = fopen(__DIR__.'/File/Fixtures/test.gif', 'r');
-        $data = fread($file, 35);
-        fclose($file);
-
-        $this->expectOutputString($data);
-        $response = clone $response;
-        $response->prepare($request);
-        $response->sendContent();
-
-        $this->assertEquals(200, $response->getStatusCode());
-    }
-
-    public function provideFullFileRanges()
-    {
-        return array(
-            array('bytes=0-'),
-            array('bytes=0-34'),
-            array('bytes=-35'),
-            // Syntactical invalid range-request should also return the full resource
-            array('bytes=20-10'),
-            array('bytes=50-40'),
-        );
-    }
-
-    /**
-     * @dataProvider provideInvalidRanges
-     */
-    public function testInvalidRequests($requestRange)
-    {
-        $response = BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif')->setAutoEtag();
-
-        // prepare a request for a range of the testing file
-        $request = Request::create('/');
-        $request->headers->set('Range', $requestRange);
-
-        $response = clone $response;
-        $response->prepare($request);
-        $response->sendContent();
-
-        $this->assertEquals(416, $response->getStatusCode());
-        #$this->assertEquals('', $response->headers->get('Content-Range'));
-    }
-
-    public function provideInvalidRanges()
-    {
-        return array(
-            array('bytes=-40'),
-            array('bytes=30-40'),
-        );
-    }
-
-    public function testXSendfile()
-    {
-        $request = Request::create('/');
-        $request->headers->set('X-Sendfile-Type', 'X-Sendfile');
-
-        BinaryFileResponse::trustXSendfileTypeHeader();
-        $response = BinaryFileResponse::create(__DIR__.'/../README.md');
-        $response->prepare($request);
-
-        $this->expectOutputString('');
-        $response->sendContent();
-
-        $this->assertContains('README.md', $response->headers->get('X-Sendfile'));
-    }
-
-    /**
-     * @dataProvider getSampleXAccelMappings
-     */
-    public function testXAccelMapping($realpath, $mapping, $virtual)
-    {
-        $request = Request::create('/');
-        $request->headers->set('X-Sendfile-Type', 'X-Accel-Redirect');
-        $request->headers->set('X-Accel-Mapping', $mapping);
-
-        $file = new FakeFile($realpath, __DIR__.'/File/Fixtures/test');
-
-        BinaryFileResponse::trustXSendFileTypeHeader();
-        $response = new BinaryFileResponse($file);
-        $reflection = new \ReflectionObject($response);
-        $property = $reflection->getProperty('file');
-        $property->setAccessible(true);
-        $property->setValue($response, $file);
-
-        $response->prepare($request);
-        $this->assertEquals($virtual, $response->headers->get('X-Accel-Redirect'));
-    }
-
-    public function testDeleteFileAfterSend()
-    {
-        $request = Request::create('/');
-
-        $path = __DIR__.'/File/Fixtures/to_delete';
-        touch($path);
-        $realPath = realpath($path);
-        $this->assertFileExists($realPath);
-
-        $response = new BinaryFileResponse($realPath);
-        $response->deleteFileAfterSend(true);
-
-        $response->prepare($request);
-        $response->sendContent();
-
-        $this->assertFileNotExists($path);
-    }
-
-    public function testAcceptRangeOnUnsafeMethods()
-    {
-        $request = Request::create('/', 'POST');
-        $response = BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif');
-        $response->prepare($request);
-
-        $this->assertEquals('none', $response->headers->get('Accept-Ranges'));
-    }
-
-    public function testAcceptRangeNotOverriden()
-    {
-        $request = Request::create('/', 'POST');
-        $response = BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif');
-        $response->headers->set('Accept-Ranges', 'foo');
-        $response->prepare($request);
-
-        $this->assertEquals('foo', $response->headers->get('Accept-Ranges'));
-    }
-
-    public function getSampleXAccelMappings()
-    {
-        return array(
-            array('/var/www/var/www/files/foo.txt', '/var/www/=/files/', '/files/var/www/files/foo.txt'),
-            array('/home/foo/bar.txt', '/var/www/=/files/,/home/foo/=/baz/', '/baz/bar.txt'),
-        );
-    }
-
-    protected function provideResponse()
-    {
-        return new BinaryFileResponse(__DIR__.'/../README.md');
-    }
-
-    public static function tearDownAfterClass()
-    {
-        $path = __DIR__.'/../Fixtures/to_delete';
-        if (file_exists($path)) {
-            @unlink($path);
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php
deleted file mode 100644
index 0aaeb6b..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Cookie;
-
-/**
- * CookieTest.
- *
- * @author John Kary <john@johnkary.net>
- * @author Hugo Hamon <hugo.hamon@sensio.com>
- */
-class CookieTest extends \PHPUnit_Framework_TestCase
-{
-    public function invalidNames()
-    {
-        return array(
-            array(''),
-            array(',MyName'),
-            array(';MyName'),
-            array(' MyName'),
-            array("\tMyName"),
-            array("\rMyName"),
-            array("\nMyName"),
-            array("\013MyName"),
-            array("\014MyName"),
-        );
-    }
-
-    /**
-     * @dataProvider invalidNames
-     * @expectedException \InvalidArgumentException
-     * @covers Symfony\Component\HttpFoundation\Cookie::__construct
-     */
-    public function testInstantiationThrowsExceptionIfCookieNameContainsInvalidCharacters($name)
-    {
-        new Cookie($name);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testInvalidExpiration()
-    {
-        $cookie = new Cookie('MyCookie', 'foo', 'bar');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Cookie::getValue
-     */
-    public function testGetValue()
-    {
-        $value = 'MyValue';
-        $cookie = new Cookie('MyCookie', $value);
-
-        $this->assertSame($value, $cookie->getValue(), '->getValue() returns the proper value');
-    }
-
-    public function testGetPath()
-    {
-        $cookie = new Cookie('foo', 'bar');
-
-        $this->assertSame('/', $cookie->getPath(), '->getPath() returns / as the default path');
-    }
-
-    public function testGetExpiresTime()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600);
-
-        $this->assertEquals(3600, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
-    }
-
-    public function testConstructorWithDateTime()
-    {
-        $expire = new \DateTime();
-        $cookie = new Cookie('foo', 'bar', $expire);
-
-        $this->assertEquals($expire->format('U'), $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
-    }
-
-    public function testGetExpiresTimeWithStringValue()
-    {
-        $value = '+1 day';
-        $cookie = new Cookie('foo', 'bar', $value);
-        $expire = strtotime($value);
-
-        $this->assertEquals($expire, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
-    }
-
-    public function testGetDomain()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com');
-
-        $this->assertEquals('.myfoodomain.com', $cookie->getDomain(), '->getDomain() returns the domain name on which the cookie is valid');
-    }
-
-    public function testIsSecure()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com', true);
-
-        $this->assertTrue($cookie->isSecure(), '->isSecure() returns whether the cookie is transmitted over HTTPS');
-    }
-
-    public function testIsHttpOnly()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com', false, true);
-
-        $this->assertTrue($cookie->isHttpOnly(), '->isHttpOnly() returns whether the cookie is only transmitted over HTTP');
-    }
-
-    public function testCookieIsNotCleared()
-    {
-        $cookie = new Cookie('foo', 'bar', time() + 3600 * 24);
-
-        $this->assertFalse($cookie->isCleared(), '->isCleared() returns false if the cookie did not expire yet');
-    }
-
-    public function testCookieIsCleared()
-    {
-        $cookie = new Cookie('foo', 'bar', time() - 20);
-
-        $this->assertTrue($cookie->isCleared(), '->isCleared() returns true if the cookie has expired');
-    }
-
-    public function testToString()
-    {
-        $cookie = new Cookie('foo', 'bar', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true);
-        $this->assertEquals('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; path=/; domain=.myfoodomain.com; secure; httponly', $cookie->__toString(), '->__toString() returns string representation of the cookie');
-
-        $cookie = new Cookie('foo', null, 1, '/admin/', '.myfoodomain.com');
-        $this->assertEquals('foo=deleted; expires='.gmdate('D, d-M-Y H:i:s T', time() - 31536001).'; path=/admin/; domain=.myfoodomain.com; httponly', $cookie->__toString(), '->__toString() returns string representation of a cleared cookie if value is NULL');
-
-        $cookie = new Cookie('foo', 'bar', 0, '/', '');
-        $this->assertEquals('foo=bar; path=/; httponly', $cookie->__toString());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ExpressionRequestMatcherTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ExpressionRequestMatcherTest.php
deleted file mode 100644
index fda372f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ExpressionRequestMatcherTest.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
-use Symfony\Component\HttpFoundation\ExpressionRequestMatcher;
-use Symfony\Component\HttpFoundation\Request;
-
-class ExpressionRequestMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \LogicException
-     */
-    public function testWhenNoExpressionIsSet()
-    {
-        $expressionRequestMatcher = new ExpressionRequestMatcher();
-        $expressionRequestMatcher->matches(new Request());
-    }
-
-    /**
-     * @dataProvider provideExpressions
-     */
-    public function testMatchesWhenParentMatchesIsTrue($expression, $expected)
-    {
-        $request = Request::create('/foo');
-        $expressionRequestMatcher = new ExpressionRequestMatcher();
-
-        $expressionRequestMatcher->setExpression(new ExpressionLanguage(), $expression);
-        $this->assertSame($expected, $expressionRequestMatcher->matches($request));
-    }
-
-    /**
-     * @dataProvider provideExpressions
-     */
-    public function testMatchesWhenParentMatchesIsFalse($expression)
-    {
-        $request = Request::create('/foo');
-        $request->attributes->set('foo', 'foo');
-        $expressionRequestMatcher = new ExpressionRequestMatcher();
-        $expressionRequestMatcher->matchAttribute('foo', 'bar');
-
-        $expressionRequestMatcher->setExpression(new ExpressionLanguage(), $expression);
-        $this->assertFalse($expressionRequestMatcher->matches($request));
-    }
-
-    public function provideExpressions()
-    {
-        return array(
-            array('request.getMethod() == method', true),
-            array('request.getPathInfo() == path', true),
-            array('request.getHost() == host', true),
-            array('request.getClientIp() == ip', true),
-            array('request.attributes.all() == attributes', true),
-            array('request.getMethod() == method && request.getPathInfo() == path && request.getHost() == host && request.getClientIp() == ip &&  request.attributes.all() == attributes', true),
-            array('request.getMethod() != method', false),
-            array('request.getMethod() != method && request.getPathInfo() == path && request.getHost() == host && request.getClientIp() == ip &&  request.attributes.all() == attributes', false),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FakeFile.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FakeFile.php
deleted file mode 100644
index c415989..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FakeFile.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\File;
-
-use Symfony\Component\HttpFoundation\File\File as OrigFile;
-
-class FakeFile extends OrigFile
-{
-    private $realpath;
-
-    public function __construct($realpath, $path)
-    {
-        $this->realpath = $realpath;
-        parent::__construct($path, false);
-    }
-
-    public function isReadable()
-    {
-        return true;
-    }
-
-    public function getRealpath()
-    {
-        return $this->realpath;
-    }
-
-    public function getSize()
-    {
-        return 42;
-    }
-
-    public function getMTime()
-    {
-        return time();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php
deleted file mode 100644
index 1f89c39..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php
+++ /dev/null
@@ -1,169 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\File;
-
-use Symfony\Component\HttpFoundation\File\File;
-use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
-
-class FileTest extends \PHPUnit_Framework_TestCase
-{
-    protected $file;
-
-    public function testGetMimeTypeUsesMimeTypeGuessers()
-    {
-        $file = new File(__DIR__.'/Fixtures/test.gif');
-        $guesser = $this->createMockGuesser($file->getPathname(), 'image/gif');
-
-        MimeTypeGuesser::getInstance()->register($guesser);
-
-        $this->assertEquals('image/gif', $file->getMimeType());
-    }
-
-    public function testGuessExtensionWithoutGuesser()
-    {
-        $file = new File(__DIR__.'/Fixtures/directory/.empty');
-
-        $this->assertNull($file->guessExtension());
-    }
-
-    public function testGuessExtensionIsBasedOnMimeType()
-    {
-        $file = new File(__DIR__.'/Fixtures/test');
-        $guesser = $this->createMockGuesser($file->getPathname(), 'image/gif');
-
-        MimeTypeGuesser::getInstance()->register($guesser);
-
-        $this->assertEquals('gif', $file->guessExtension());
-    }
-
-    public function testConstructWhenFileNotExists()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-
-        new File(__DIR__.'/Fixtures/not_here');
-    }
-
-    public function testMove()
-    {
-        $path = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory';
-        $targetPath = $targetDir.'/test.copy.gif';
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new File($path);
-        $movedFile = $file->move($targetDir);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\File\File', $movedFile);
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function testMoveWithNewName()
-    {
-        $path = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory';
-        $targetPath = $targetDir.'/test.newname.gif';
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new File($path);
-        $movedFile = $file->move($targetDir, 'test.newname.gif');
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function getFilenameFixtures()
-    {
-        return array(
-            array('original.gif', 'original.gif'),
-            array('..\\..\\original.gif', 'original.gif'),
-            array('../../original.gif', 'original.gif'),
-            array('файлfile.gif', 'файлfile.gif'),
-            array('..\\..\\файлfile.gif', 'файлfile.gif'),
-            array('../../файлfile.gif', 'файлfile.gif'),
-        );
-    }
-
-    /**
-     * @dataProvider getFilenameFixtures
-     */
-    public function testMoveWithNonLatinName($filename, $sanitizedFilename)
-    {
-        $path = __DIR__.'/Fixtures/'.$sanitizedFilename;
-        $targetDir = __DIR__.'/Fixtures/directory/';
-        $targetPath = $targetDir.$sanitizedFilename;
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new File($path);
-        $movedFile = $file->move($targetDir, $filename);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\File\File', $movedFile);
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function testMoveToAnUnexistentDirectory()
-    {
-        $sourcePath = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory/sub';
-        $targetPath = $targetDir.'/test.copy.gif';
-        @unlink($sourcePath);
-        @unlink($targetPath);
-        @rmdir($targetDir);
-        copy(__DIR__.'/Fixtures/test.gif', $sourcePath);
-
-        $file = new File($sourcePath);
-        $movedFile = $file->move($targetDir);
-
-        $this->assertFileExists($targetPath);
-        $this->assertFileNotExists($sourcePath);
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($sourcePath);
-        @unlink($targetPath);
-        @rmdir($targetDir);
-    }
-
-    public function testGetExtension()
-    {
-        $file = new File(__DIR__.'/Fixtures/test.gif');
-        $this->assertEquals('gif', $file->getExtension());
-    }
-
-    protected function createMockGuesser($path, $mimeType)
-    {
-        $guesser = $this->getMock('Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface');
-        $guesser
-            ->expects($this->once())
-            ->method('guess')
-            ->with($this->equalTo($path))
-            ->will($this->returnValue($mimeType))
-        ;
-
-        return $guesser;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension
deleted file mode 100644
index 4d1ae35..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension
+++ /dev/null
@@ -1 +0,0 @@
-f
\ No newline at end of file
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/directory/.empty b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/directory/.empty
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test
deleted file mode 100644
index b636f4b..0000000
Binary files a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test and /dev/null differ
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif
deleted file mode 100644
index b636f4b..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif
+++ /dev/null
@@ -1 +0,0 @@
-GIF87a  €  ÿÿÿÿÿÿ,       D ;
\ No newline at end of file
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php
deleted file mode 100644
index b2a573e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\File\MimeType;
-
-use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
-use Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser;
-
-class MimeTypeTest extends \PHPUnit_Framework_TestCase
-{
-    protected $path;
-
-    public function testGuessImageWithoutExtension()
-    {
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        }
-    }
-
-    public function testGuessImageWithDirectory()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-
-        MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/directory');
-    }
-
-    public function testGuessImageWithFileBinaryMimeTypeGuesser()
-    {
-        $guesser = MimeTypeGuesser::getInstance();
-        $guesser->register(new FileBinaryMimeTypeGuesser());
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        }
-    }
-
-    public function testGuessImageWithKnownExtension()
-    {
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test.gif'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test.gif'));
-        }
-    }
-
-    public function testGuessFileWithUnknownExtension()
-    {
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('application/octet-stream', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/.unknownextension'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/.unknownextension'));
-        }
-    }
-
-    public function testGuessWithIncorrectPath()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-        MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/not_here');
-    }
-
-    public function testGuessWithNonReadablePath()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Can not verify chmod operations on Windows');
-        }
-
-        if ('root' === get_current_user()) {
-            $this->markTestSkipped('This test will fail if run under superuser');
-        }
-
-        $path = __DIR__.'/../Fixtures/to_delete';
-        touch($path);
-        @chmod($path, 0333);
-
-        if (get_current_user() != 'root' && substr(sprintf('%o', fileperms($path)), -4) == '0333') {
-            $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException');
-            MimeTypeGuesser::getInstance()->guess($path);
-        } else {
-            $this->markTestSkipped('Can not verify chmod operations, change of file permissions failed');
-        }
-    }
-
-    public static function tearDownAfterClass()
-    {
-        $path = __DIR__.'/../Fixtures/to_delete';
-        if (file_exists($path)) {
-            @chmod($path, 0666);
-            @unlink($path);
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php
deleted file mode 100644
index 5b48970..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php
+++ /dev/null
@@ -1,272 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\File;
-
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-
-class UploadedFileTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!ini_get('file_uploads')) {
-            $this->markTestSkipped('file_uploads is disabled in php.ini');
-        }
-    }
-
-    public function testConstructWhenFileNotExists()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-
-        new UploadedFile(
-            __DIR__.'/Fixtures/not_here',
-            'original.gif',
-            null
-        );
-    }
-
-    public function testFileUploadsWithNoMimeType()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            UPLOAD_ERR_OK
-        );
-
-        $this->assertEquals('application/octet-stream', $file->getClientMimeType());
-
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', $file->getMimeType());
-        }
-    }
-
-    public function testFileUploadsWithUnknownMimeType()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/.unknownextension',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/.unknownextension'),
-            UPLOAD_ERR_OK
-        );
-
-        $this->assertEquals('application/octet-stream', $file->getClientMimeType());
-    }
-
-    public function testGuessClientExtension()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('gif', $file->guessClientExtension());
-    }
-
-    public function testGuessClientExtensionWithIncorrectMimeType()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/jpeg',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('jpeg', $file->guessClientExtension());
-    }
-
-    public function testErrorIsOkByDefault()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals(UPLOAD_ERR_OK, $file->getError());
-    }
-
-    public function testGetClientOriginalName()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('original.gif', $file->getClientOriginalName());
-    }
-
-    public function testGetClientOriginalExtension()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('gif', $file->getClientOriginalExtension());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\HttpFoundation\File\Exception\FileException
-     */
-    public function testMoveLocalFileIsNotAllowed()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            UPLOAD_ERR_OK
-        );
-
-        $movedFile = $file->move(__DIR__.'/Fixtures/directory');
-    }
-
-    public function testMoveLocalFileIsAllowedInTestMode()
-    {
-        $path = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory';
-        $targetPath = $targetDir.'/test.copy.gif';
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new UploadedFile(
-            $path,
-            'original.gif',
-            'image/gif',
-            filesize($path),
-            UPLOAD_ERR_OK,
-            true
-        );
-
-        $movedFile = $file->move(__DIR__.'/Fixtures/directory');
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function testGetClientOriginalNameSanitizeFilename()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            '../../original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('original.gif', $file->getClientOriginalName());
-    }
-
-    public function testGetSize()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals(filesize(__DIR__.'/Fixtures/test.gif'), $file->getSize());
-
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test',
-            'original.gif',
-            'image/gif'
-        );
-
-        $this->assertEquals(filesize(__DIR__.'/Fixtures/test'), $file->getSize());
-    }
-
-    public function testGetExtension()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null
-        );
-
-        $this->assertEquals('gif', $file->getExtension());
-    }
-
-    public function testIsValid()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            UPLOAD_ERR_OK,
-            true
-        );
-
-        $this->assertTrue($file->isValid());
-    }
-
-    /**
-     * @dataProvider uploadedFileErrorProvider
-     */
-    public function testIsInvalidOnUploadError($error)
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            $error
-        );
-
-        $this->assertFalse($file->isValid());
-    }
-
-    public function uploadedFileErrorProvider()
-    {
-        return array(
-            array(UPLOAD_ERR_INI_SIZE),
-            array(UPLOAD_ERR_FORM_SIZE),
-            array(UPLOAD_ERR_PARTIAL),
-            array(UPLOAD_ERR_NO_TMP_DIR),
-            array(UPLOAD_ERR_EXTENSION),
-        );
-    }
-
-    public function testIsInvalidIfNotHttpUpload()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            UPLOAD_ERR_OK
-        );
-
-        $this->assertFalse($file->isValid());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php
deleted file mode 100644
index 738604b..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-use Symfony\Component\HttpFoundation\FileBag;
-
-/**
- * FileBagTest.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- */
-class FileBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testFileMustBeAnArrayOrUploadedFile()
-    {
-        new FileBag(array('file' => 'foo'));
-    }
-
-    public function testShouldConvertsUploadedFiles()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-
-        $bag = new FileBag(array('file' => array(
-            'name' => basename($tmpFile),
-            'type' => 'text/plain',
-            'tmp_name' => $tmpFile,
-            'error' => 0,
-            'size' => 100,
-        )));
-
-        $this->assertEquals($file, $bag->get('file'));
-    }
-
-    public function testShouldSetEmptyUploadedFilesToNull()
-    {
-        $bag = new FileBag(array('file' => array(
-            'name' => '',
-            'type' => '',
-            'tmp_name' => '',
-            'error' => UPLOAD_ERR_NO_FILE,
-            'size' => 0,
-        )));
-
-        $this->assertNull($bag->get('file'));
-    }
-
-    public function testShouldConvertUploadedFilesWithPhpBug()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-
-        $bag = new FileBag(array(
-            'child' => array(
-                'name' => array(
-                    'file' => basename($tmpFile),
-                ),
-                'type' => array(
-                    'file' => 'text/plain',
-                ),
-                'tmp_name' => array(
-                    'file' => $tmpFile,
-                ),
-                'error' => array(
-                    'file' => 0,
-                ),
-                'size' => array(
-                    'file' => 100,
-                ),
-            ),
-        ));
-
-        $files = $bag->all();
-        $this->assertEquals($file, $files['child']['file']);
-    }
-
-    public function testShouldConvertNestedUploadedFilesWithPhpBug()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-
-        $bag = new FileBag(array(
-            'child' => array(
-                'name' => array(
-                    'sub' => array('file' => basename($tmpFile)),
-                ),
-                'type' => array(
-                    'sub' => array('file' => 'text/plain'),
-                ),
-                'tmp_name' => array(
-                    'sub' => array('file' => $tmpFile),
-                ),
-                'error' => array(
-                    'sub' => array('file' => 0),
-                ),
-                'size' => array(
-                    'sub' => array('file' => 100),
-                ),
-            ),
-        ));
-
-        $files = $bag->all();
-        $this->assertEquals($file, $files['child']['sub']['file']);
-    }
-
-    public function testShouldNotConvertNestedUploadedFiles()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-        $bag = new FileBag(array('image' => array('file' => $file)));
-
-        $files = $bag->all();
-        $this->assertEquals($file, $files['image']['file']);
-    }
-
-    protected function createTempFile()
-    {
-        return tempnam(sys_get_temp_dir().'/form_test', 'FormTest');
-    }
-
-    protected function setUp()
-    {
-        mkdir(sys_get_temp_dir().'/form_test', 0777, true);
-    }
-
-    protected function tearDown()
-    {
-        foreach (glob(sys_get_temp_dir().'/form_test/*') as $file) {
-            unlink($file);
-        }
-
-        rmdir(sys_get_temp_dir().'/form_test');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php
deleted file mode 100644
index 9b925d7..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\HeaderBag;
-
-class HeaderBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::__construct
-     */
-    public function testConstructor()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $this->assertTrue($bag->has('foo'));
-    }
-
-    public function testToStringNull()
-    {
-        $bag = new HeaderBag();
-        $this->assertEquals('', $bag->__toString());
-    }
-
-    public function testToStringNotNull()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $this->assertEquals("Foo: bar\r\n", $bag->__toString());
-    }
-
-    public function testKeys()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $keys = $bag->keys();
-        $this->assertEquals('foo', $keys[0]);
-    }
-
-    public function testGetDate()
-    {
-        $bag = new HeaderBag(array('foo' => 'Tue, 4 Sep 2012 20:00:00 +0200'));
-        $headerDate = $bag->getDate('foo');
-        $this->assertInstanceOf('DateTime', $headerDate);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testGetDateException()
-    {
-        $bag = new HeaderBag(array('foo' => 'Tue'));
-        $headerDate = $bag->getDate('foo');
-    }
-
-    public function testGetCacheControlHeader()
-    {
-        $bag = new HeaderBag();
-        $bag->addCacheControlDirective('public', '#a');
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertEquals('#a', $bag->getCacheControlDirective('public'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::all
-     */
-    public function testAll()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $this->assertEquals(array('foo' => array('bar')), $bag->all(), '->all() gets all the input');
-
-        $bag = new HeaderBag(array('FOO' => 'BAR'));
-        $this->assertEquals(array('foo' => array('BAR')), $bag->all(), '->all() gets all the input key are lower case');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::replace
-     */
-    public function testReplace()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-
-        $bag->replace(array('NOPE' => 'BAR'));
-        $this->assertEquals(array('nope' => array('BAR')), $bag->all(), '->replace() replaces the input with the argument');
-        $this->assertFalse($bag->has('foo'), '->replace() overrides previously set the input');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::get
-     */
-    public function testGet()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar', 'fuzz' => 'bizz'));
-        $this->assertEquals('bar', $bag->get('foo'), '->get return current value');
-        $this->assertEquals('bar', $bag->get('FoO'), '->get key in case insensitive');
-        $this->assertEquals(array('bar'), $bag->get('foo', 'nope', false), '->get return the value as array');
-
-        // defaults
-        $this->assertNull($bag->get('none'), '->get unknown values returns null');
-        $this->assertEquals('default', $bag->get('none', 'default'), '->get unknown values returns default');
-        $this->assertEquals(array('default'), $bag->get('none', 'default', false), '->get unknown values returns default as array');
-
-        $bag->set('foo', 'bor', false);
-        $this->assertEquals('bar', $bag->get('foo'), '->get return first value');
-        $this->assertEquals(array('bar', 'bor'), $bag->get('foo', 'nope', false), '->get return all values as array');
-    }
-
-    public function testSetAssociativeArray()
-    {
-        $bag = new HeaderBag();
-        $bag->set('foo', array('bad-assoc-index' => 'value'));
-        $this->assertSame('value', $bag->get('foo'));
-        $this->assertEquals(array('value'), $bag->get('foo', 'nope', false), 'assoc indices of multi-valued headers are ignored');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::contains
-     */
-    public function testContains()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar', 'fuzz' => 'bizz'));
-        $this->assertTrue($bag->contains('foo', 'bar'), '->contains first value');
-        $this->assertTrue($bag->contains('fuzz', 'bizz'), '->contains second value');
-        $this->assertFalse($bag->contains('nope', 'nope'), '->contains unknown value');
-        $this->assertFalse($bag->contains('foo', 'nope'), '->contains unknown value');
-
-        // Multiple values
-        $bag->set('foo', 'bor', false);
-        $this->assertTrue($bag->contains('foo', 'bar'), '->contains first value');
-        $this->assertTrue($bag->contains('foo', 'bor'), '->contains second value');
-        $this->assertFalse($bag->contains('foo', 'nope'), '->contains unknown value');
-    }
-
-    public function testCacheControlDirectiveAccessors()
-    {
-        $bag = new HeaderBag();
-        $bag->addCacheControlDirective('public');
-
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertTrue($bag->getCacheControlDirective('public'));
-        $this->assertEquals('public', $bag->get('cache-control'));
-
-        $bag->addCacheControlDirective('max-age', 10);
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
-        $this->assertEquals('max-age=10, public', $bag->get('cache-control'));
-
-        $bag->removeCacheControlDirective('max-age');
-        $this->assertFalse($bag->hasCacheControlDirective('max-age'));
-    }
-
-    public function testCacheControlDirectiveParsing()
-    {
-        $bag = new HeaderBag(array('cache-control' => 'public, max-age=10'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertTrue($bag->getCacheControlDirective('public'));
-
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
-
-        $bag->addCacheControlDirective('s-maxage', 100);
-        $this->assertEquals('max-age=10, public, s-maxage=100', $bag->get('cache-control'));
-    }
-
-    public function testCacheControlDirectiveParsingQuotedZero()
-    {
-        $bag = new HeaderBag(array('cache-control' => 'max-age="0"'));
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(0, $bag->getCacheControlDirective('max-age'));
-    }
-
-    public function testCacheControlDirectiveOverrideWithReplace()
-    {
-        $bag = new HeaderBag(array('cache-control' => 'private, max-age=100'));
-        $bag->replace(array('cache-control' => 'public, max-age=10'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertTrue($bag->getCacheControlDirective('public'));
-
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $headers = array('foo' => 'bar', 'hello' => 'world', 'third' => 'charm');
-        $headerBag = new HeaderBag($headers);
-
-        $i = 0;
-        foreach ($headerBag as $key => $val) {
-            $i++;
-            $this->assertEquals(array($headers[$key]), $val);
-        }
-
-        $this->assertEquals(count($headers), $i);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::count
-     */
-    public function testCount()
-    {
-        $headers = array('foo' => 'bar', 'HELLO' => 'WORLD');
-        $headerBag = new HeaderBag($headers);
-
-        $this->assertEquals(count($headers), count($headerBag));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php
deleted file mode 100644
index 726ba6a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\IpUtils;
-
-class IpUtilsTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider testIpv4Provider
-     */
-    public function testIpv4($matches, $remoteAddr, $cidr)
-    {
-        $this->assertSame($matches, IpUtils::checkIp($remoteAddr, $cidr));
-    }
-
-    public function testIpv4Provider()
-    {
-        return array(
-            array(true, '192.168.1.1', '192.168.1.1'),
-            array(true, '192.168.1.1', '192.168.1.1/1'),
-            array(true, '192.168.1.1', '192.168.1.0/24'),
-            array(false, '192.168.1.1', '1.2.3.4/1'),
-            array(false, '192.168.1.1', '192.168.1/33'),
-            array(true, '192.168.1.1', array('1.2.3.4/1', '192.168.1.0/24')),
-            array(true, '192.168.1.1', array('192.168.1.0/24', '1.2.3.4/1')),
-            array(false, '192.168.1.1', array('1.2.3.4/1', '4.3.2.1/1')),
-        );
-    }
-
-    /**
-     * @dataProvider testIpv6Provider
-     */
-    public function testIpv6($matches, $remoteAddr, $cidr)
-    {
-        if (!defined('AF_INET6')) {
-            $this->markTestSkipped('Only works when PHP is compiled without the option "disable-ipv6".');
-        }
-
-        $this->assertSame($matches, IpUtils::checkIp($remoteAddr, $cidr));
-    }
-
-    public function testIpv6Provider()
-    {
-        return array(
-            array(true, '2a01:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65'),
-            array(false, '2a00:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65'),
-            array(false, '2a01:198:603:0:396e:4789:8e99:890f', '::1'),
-            array(true, '0:0:0:0:0:0:0:1', '::1'),
-            array(false, '0:0:603:0:396e:4789:8e99:0001', '::1'),
-            array(true, '2a01:198:603:0:396e:4789:8e99:890f', array('::1', '2a01:198:603:0::/65')),
-            array(true, '2a01:198:603:0:396e:4789:8e99:890f', array('2a01:198:603:0::/65', '::1')),
-            array(false, '2a01:198:603:0:396e:4789:8e99:890f', array('::1', '1a01:198:603:0::/65')),
-        );
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testAnIpv6WithOptionDisabledIpv6()
-    {
-        if (!extension_loaded('sockets')) {
-            $this->markTestSkipped('Only works when the socket extension is enabled');
-        }
-
-        if (defined('AF_INET6')) {
-            $this->markTestSkipped('Only works when PHP is compiled with the option "disable-ipv6".');
-        }
-
-        IpUtils::checkIp('2a01:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php
deleted file mode 100644
index 48b8603..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php
+++ /dev/null
@@ -1,232 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\JsonResponse;
-
-class JsonResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructorEmptyCreatesJsonObject()
-    {
-        $response = new JsonResponse();
-        $this->assertSame('{}', $response->getContent());
-    }
-
-    public function testConstructorWithArrayCreatesJsonArray()
-    {
-        $response = new JsonResponse(array(0, 1, 2, 3));
-        $this->assertSame('[0,1,2,3]', $response->getContent());
-    }
-
-    public function testConstructorWithAssocArrayCreatesJsonObject()
-    {
-        $response = new JsonResponse(array('foo' => 'bar'));
-        $this->assertSame('{"foo":"bar"}', $response->getContent());
-    }
-
-    public function testConstructorWithSimpleTypes()
-    {
-        $response = new JsonResponse('foo');
-        $this->assertSame('"foo"', $response->getContent());
-
-        $response = new JsonResponse(0);
-        $this->assertSame('0', $response->getContent());
-
-        $response = new JsonResponse(0.1);
-        $this->assertSame('0.1', $response->getContent());
-
-        $response = new JsonResponse(true);
-        $this->assertSame('true', $response->getContent());
-    }
-
-    public function testConstructorWithCustomStatus()
-    {
-        $response = new JsonResponse(array(), 202);
-        $this->assertSame(202, $response->getStatusCode());
-    }
-
-    public function testConstructorAddsContentTypeHeader()
-    {
-        $response = new JsonResponse();
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-    }
-
-    public function testConstructorWithCustomHeaders()
-    {
-        $response = new JsonResponse(array(), 200, array('ETag' => 'foo'));
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-        $this->assertSame('foo', $response->headers->get('ETag'));
-    }
-
-    public function testConstructorWithCustomContentType()
-    {
-        $headers = array('Content-Type' => 'application/vnd.acme.blog-v1+json');
-
-        $response = new JsonResponse(array(), 200, $headers);
-        $this->assertSame('application/vnd.acme.blog-v1+json', $response->headers->get('Content-Type'));
-    }
-
-    public function testCreate()
-    {
-        $response = JsonResponse::create(array('foo' => 'bar'), 204);
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertEquals('{"foo":"bar"}', $response->getContent());
-        $this->assertEquals(204, $response->getStatusCode());
-    }
-
-    public function testStaticCreateEmptyJsonObject()
-    {
-        $response = JsonResponse::create();
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('{}', $response->getContent());
-    }
-
-    public function testStaticCreateJsonArray()
-    {
-        $response = JsonResponse::create(array(0, 1, 2, 3));
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('[0,1,2,3]', $response->getContent());
-    }
-
-    public function testStaticCreateJsonObject()
-    {
-        $response = JsonResponse::create(array('foo' => 'bar'));
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('{"foo":"bar"}', $response->getContent());
-    }
-
-    public function testStaticCreateWithSimpleTypes()
-    {
-        $response = JsonResponse::create('foo');
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('"foo"', $response->getContent());
-
-        $response = JsonResponse::create(0);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('0', $response->getContent());
-
-        $response = JsonResponse::create(0.1);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('0.1', $response->getContent());
-
-        $response = JsonResponse::create(true);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('true', $response->getContent());
-    }
-
-    public function testStaticCreateWithCustomStatus()
-    {
-        $response = JsonResponse::create(array(), 202);
-        $this->assertSame(202, $response->getStatusCode());
-    }
-
-    public function testStaticCreateAddsContentTypeHeader()
-    {
-        $response = JsonResponse::create();
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-    }
-
-    public function testStaticCreateWithCustomHeaders()
-    {
-        $response = JsonResponse::create(array(), 200, array('ETag' => 'foo'));
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-        $this->assertSame('foo', $response->headers->get('ETag'));
-    }
-
-    public function testStaticCreateWithCustomContentType()
-    {
-        $headers = array('Content-Type' => 'application/vnd.acme.blog-v1+json');
-
-        $response = JsonResponse::create(array(), 200, $headers);
-        $this->assertSame('application/vnd.acme.blog-v1+json', $response->headers->get('Content-Type'));
-    }
-
-    public function testSetCallback()
-    {
-        $response = JsonResponse::create(array('foo' => 'bar'))->setCallback('callback');
-
-        $this->assertEquals('/**/callback({"foo":"bar"});', $response->getContent());
-        $this->assertEquals('text/javascript', $response->headers->get('Content-Type'));
-    }
-
-    public function testJsonEncodeFlags()
-    {
-        $response = new JsonResponse('<>\'&"');
-
-        $this->assertEquals('"\u003C\u003E\u0027\u0026\u0022"', $response->getContent());
-    }
-
-    public function testGetEncodingOptions()
-    {
-        $response = new JsonResponse();
-
-        $this->assertEquals(JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT, $response->getEncodingOptions());
-    }
-
-    public function testSetEncodingOptions()
-    {
-        $response = new JsonResponse();
-        $response->setData(array(array(1, 2, 3)));
-
-        $this->assertEquals('[[1,2,3]]', $response->getContent());
-
-        $response->setEncodingOptions(JSON_FORCE_OBJECT);
-
-        $this->assertEquals('{"0":{"0":1,"1":2,"2":3}}', $response->getContent());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetCallbackInvalidIdentifier()
-    {
-        $response = new JsonResponse('foo');
-        $response->setCallback('+invalid');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetContent()
-    {
-        JsonResponse::create("\xB1\x31");
-    }
-
-    /**
-     * @expectedException Exception
-     * @expectedExceptionMessage Failed calling Symfony\Component\HttpFoundation\Tests\JsonSerializableObject::jsonSerialize()
-     * @link http://php.net/manual/en/jsonserializable.jsonserialize.php#114688
-     */
-    public function testSetContentJsonSerializeError()
-    {
-        if (!interface_exists('JsonSerializable')) {
-            $this->markTestSkipped('Interface JsonSerializable is available in PHP 5.4+');
-        }
-
-        $serializable = new JsonSerializableObject();
-
-        JsonResponse::create($serializable);
-    }
-}
-
-if (interface_exists('JsonSerializable')) {
-    class JsonSerializableObject implements \JsonSerializable
-    {
-        public function jsonSerialize()
-        {
-            trigger_error('This error is expected', E_USER_WARNING);
-
-            return array();
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php
deleted file mode 100644
index f19a8da..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php
+++ /dev/null
@@ -1,266 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ParameterBag;
-
-class ParameterBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::__construct
-     */
-    public function testConstructor()
-    {
-        $this->testAll();
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::all
-     */
-    public function testAll()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertEquals(array('foo' => 'bar'), $bag->all(), '->all() gets all the input');
-    }
-
-    public function testKeys()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertEquals(array('foo'), $bag->keys());
-    }
-
-    public function testAdd()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $bag->add(array('bar' => 'bas'));
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'bas'), $bag->all());
-    }
-
-    public function testRemove()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $bag->add(array('bar' => 'bas'));
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'bas'), $bag->all());
-        $bag->remove('bar');
-        $this->assertEquals(array('foo' => 'bar'), $bag->all());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::replace
-     */
-    public function testReplace()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-
-        $bag->replace(array('FOO' => 'BAR'));
-        $this->assertEquals(array('FOO' => 'BAR'), $bag->all(), '->replace() replaces the input with the argument');
-        $this->assertFalse($bag->has('foo'), '->replace() overrides previously set the input');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::get
-     */
-    public function testGet()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar', 'null' => null));
-
-        $this->assertEquals('bar', $bag->get('foo'), '->get() gets the value of a parameter');
-        $this->assertEquals('default', $bag->get('unknown', 'default'), '->get() returns second argument as default if a parameter is not defined');
-        $this->assertNull($bag->get('null', 'default'), '->get() returns null if null is set');
-    }
-
-    public function testGetDoesNotUseDeepByDefault()
-    {
-        $bag = new ParameterBag(array('foo' => array('bar' => 'moo')));
-
-        $this->assertNull($bag->get('foo[bar]'));
-    }
-
-    /**
-     * @dataProvider getInvalidPaths
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetDeepWithInvalidPaths($path)
-    {
-        $bag = new ParameterBag(array('foo' => array('bar' => 'moo')));
-
-        $bag->get($path, null, true);
-    }
-
-    public function getInvalidPaths()
-    {
-        return array(
-            array('foo[['),
-            array('foo[d'),
-            array('foo[bar]]'),
-            array('foo[bar]d'),
-        );
-    }
-
-    public function testGetDeep()
-    {
-        $bag = new ParameterBag(array('foo' => array('bar' => array('moo' => 'boo'))));
-
-        $this->assertEquals(array('moo' => 'boo'), $bag->get('foo[bar]', null, true));
-        $this->assertEquals('boo', $bag->get('foo[bar][moo]', null, true));
-        $this->assertEquals('default', $bag->get('foo[bar][foo]', 'default', true));
-        $this->assertEquals('default', $bag->get('bar[moo][foo]', 'default', true));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::set
-     */
-    public function testSet()
-    {
-        $bag = new ParameterBag(array());
-
-        $bag->set('foo', 'bar');
-        $this->assertEquals('bar', $bag->get('foo'), '->set() sets the value of parameter');
-
-        $bag->set('foo', 'baz');
-        $this->assertEquals('baz', $bag->get('foo'), '->set() overrides previously set parameter');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::has
-     */
-    public function testHas()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-
-        $this->assertTrue($bag->has('foo'), '->has() returns true if a parameter is defined');
-        $this->assertFalse($bag->has('unknown'), '->has() return false if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getAlpha
-     */
-    public function testGetAlpha()
-    {
-        $bag = new ParameterBag(array('word' => 'foo_BAR_012'));
-
-        $this->assertEquals('fooBAR', $bag->getAlpha('word'), '->getAlpha() gets only alphabetic characters');
-        $this->assertEquals('', $bag->getAlpha('unknown'), '->getAlpha() returns empty string if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getAlnum
-     */
-    public function testGetAlnum()
-    {
-        $bag = new ParameterBag(array('word' => 'foo_BAR_012'));
-
-        $this->assertEquals('fooBAR012', $bag->getAlnum('word'), '->getAlnum() gets only alphanumeric characters');
-        $this->assertEquals('', $bag->getAlnum('unknown'), '->getAlnum() returns empty string if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getDigits
-     */
-    public function testGetDigits()
-    {
-        $bag = new ParameterBag(array('word' => 'foo_BAR_012'));
-
-        $this->assertEquals('012', $bag->getDigits('word'), '->getDigits() gets only digits as string');
-        $this->assertEquals('', $bag->getDigits('unknown'), '->getDigits() returns empty string if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getInt
-     */
-    public function testGetInt()
-    {
-        $bag = new ParameterBag(array('digits' => '0123'));
-
-        $this->assertEquals(123, $bag->getInt('digits'), '->getInt() gets a value of parameter as integer');
-        $this->assertEquals(0, $bag->getInt('unknown'), '->getInt() returns zero if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::filter
-     */
-    public function testFilter()
-    {
-        $bag = new ParameterBag(array(
-            'digits' => '0123ab',
-            'email' => 'example@example.com',
-            'url' => 'http://example.com/foo',
-            'dec' => '256',
-            'hex' => '0x100',
-            'array' => array('bang'),
-            ));
-
-        $this->assertEmpty($bag->filter('nokey'), '->filter() should return empty by default if no key is found');
-
-        $this->assertEquals('0123', $bag->filter('digits', '', false, FILTER_SANITIZE_NUMBER_INT), '->filter() gets a value of parameter as integer filtering out invalid characters');
-
-        $this->assertEquals('example@example.com', $bag->filter('email', '', false, FILTER_VALIDATE_EMAIL), '->filter() gets a value of parameter as email');
-
-        $this->assertEquals('http://example.com/foo', $bag->filter('url', '', false, FILTER_VALIDATE_URL, array('flags' => FILTER_FLAG_PATH_REQUIRED)), '->filter() gets a value of parameter as URL with a path');
-
-        // This test is repeated for code-coverage
-        $this->assertEquals('http://example.com/foo', $bag->filter('url', '', false, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED), '->filter() gets a value of parameter as URL with a path');
-
-        $this->assertFalse($bag->filter('dec', '', false, FILTER_VALIDATE_INT, array(
-            'flags' => FILTER_FLAG_ALLOW_HEX,
-            'options' => array('min_range' => 1, 'max_range' => 0xff),
-        )), '->filter() gets a value of parameter as integer between boundaries');
-
-        $this->assertFalse($bag->filter('hex', '', false, FILTER_VALIDATE_INT, array(
-            'flags' => FILTER_FLAG_ALLOW_HEX,
-            'options' => array('min_range' => 1, 'max_range' => 0xff),
-        )), '->filter() gets a value of parameter as integer between boundaries');
-
-        $this->assertEquals(array('bang'), $bag->filter('array', '', false), '->filter() gets a value of parameter as an array');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $parameters = array('foo' => 'bar', 'hello' => 'world');
-        $bag = new ParameterBag($parameters);
-
-        $i = 0;
-        foreach ($bag as $key => $val) {
-            $i++;
-            $this->assertEquals($parameters[$key], $val);
-        }
-
-        $this->assertEquals(count($parameters), $i);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::count
-     */
-    public function testCount()
-    {
-        $parameters = array('foo' => 'bar', 'hello' => 'world');
-        $bag = new ParameterBag($parameters);
-
-        $this->assertEquals(count($parameters), count($bag));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getBoolean
-     */
-    public function testGetBoolean()
-    {
-        $parameters = array('string_true' => 'true', 'string_false' => 'false');
-        $bag = new ParameterBag($parameters);
-
-        $this->assertTrue($bag->getBoolean('string_true'), '->getBoolean() gets the string true as boolean true');
-        $this->assertFalse($bag->getBoolean('string_false'), '->getBoolean() gets the string false as boolean false');
-        $this->assertFalse($bag->getBoolean('unknown'), '->getBoolean() returns false if a parameter is not defined');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php
deleted file mode 100644
index 2a097d6..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\RedirectResponse;
-
-class RedirectResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGenerateMetaRedirect()
-    {
-        $response = new RedirectResponse('foo.bar');
-
-        $this->assertEquals(1, preg_match(
-            '#<meta http-equiv="refresh" content="\d+;url=foo\.bar" />#',
-            preg_replace(array('/\s+/', '/\'/'), array(' ', '"'), $response->getContent())
-        ));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRedirectResponseConstructorNullUrl()
-    {
-        $response = new RedirectResponse(null);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRedirectResponseConstructorWrongStatusCode()
-    {
-        $response = new RedirectResponse('foo.bar', 404);
-    }
-
-    public function testGenerateLocationHeader()
-    {
-        $response = new RedirectResponse('foo.bar');
-
-        $this->assertTrue($response->headers->has('Location'));
-        $this->assertEquals('foo.bar', $response->headers->get('Location'));
-    }
-
-    public function testGetTargetUrl()
-    {
-        $response = new RedirectResponse('foo.bar');
-
-        $this->assertEquals('foo.bar', $response->getTargetUrl());
-    }
-
-    public function testSetTargetUrl()
-    {
-        $response = new RedirectResponse('foo.bar');
-        $response->setTargetUrl('baz.beep');
-
-        $this->assertEquals('baz.beep', $response->getTargetUrl());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetTargetUrlNull()
-    {
-        $response = new RedirectResponse('foo.bar');
-        $response->setTargetUrl(null);
-    }
-
-    public function testCreate()
-    {
-        $response = RedirectResponse::create('foo', 301);
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\RedirectResponse', $response);
-        $this->assertEquals(301, $response->getStatusCode());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php
deleted file mode 100644
index cee9bcc..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\RequestMatcher;
-use Symfony\Component\HttpFoundation\Request;
-
-class RequestMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider testMethodFixtures
-     */
-    public function testMethod($requestMethod, $matcherMethod, $isMatch)
-    {
-        $matcher = new RequestMatcher();
-        $matcher->matchMethod($matcherMethod);
-        $request = Request::create('', $requestMethod);
-        $this->assertSame($isMatch, $matcher->matches($request));
-
-        $matcher = new RequestMatcher(null, null, $matcherMethod);
-        $request = Request::create('', $requestMethod);
-        $this->assertSame($isMatch, $matcher->matches($request));
-    }
-
-    public function testMethodFixtures()
-    {
-        return array(
-            array('get', 'get', true),
-            array('get', array('get', 'post'), true),
-            array('get', 'post', false),
-            array('get', 'GET', true),
-            array('get', array('GET', 'POST'), true),
-            array('get', 'POST', false),
-        );
-    }
-
-    public function testScheme()
-    {
-        $httpRequest = $request = $request = Request::create('');
-        $httpsRequest = $request = $request = Request::create('', 'get', array(), array(), array(), array('HTTPS' => 'on'));
-
-        $matcher = new RequestMatcher();
-        $matcher->matchScheme('https');
-        $this->assertFalse($matcher->matches($httpRequest));
-        $this->assertTrue($matcher->matches($httpsRequest));
-
-        $matcher->matchScheme('http');
-        $this->assertFalse($matcher->matches($httpsRequest));
-        $this->assertTrue($matcher->matches($httpRequest));
-
-        $matcher = new RequestMatcher();
-        $this->assertTrue($matcher->matches($httpsRequest));
-        $this->assertTrue($matcher->matches($httpRequest));
-    }
-
-    /**
-     * @dataProvider testHostFixture
-     */
-    public function testHost($pattern, $isMatch)
-    {
-        $matcher = new RequestMatcher();
-        $request = Request::create('', 'get', array(), array(), array(), array('HTTP_HOST' => 'foo.example.com'));
-
-        $matcher->matchHost($pattern);
-        $this->assertSame($isMatch, $matcher->matches($request));
-
-        $matcher = new RequestMatcher(null, $pattern);
-        $this->assertSame($isMatch, $matcher->matches($request));
-    }
-
-    public function testHostFixture()
-    {
-        return array(
-            array('.*\.example\.com', true),
-            array('\.example\.com$', true),
-            array('^.*\.example\.com$', true),
-            array('.*\.sensio\.com', false),
-            array('.*\.example\.COM', true),
-            array('\.example\.COM$', true),
-            array('^.*\.example\.COM$', true),
-            array('.*\.sensio\.COM', false),
-        );
-    }
-
-    public function testPath()
-    {
-        $matcher = new RequestMatcher();
-
-        $request = Request::create('/admin/foo');
-
-        $matcher->matchPath('/admin/.*');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchPath('/admin');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchPath('^/admin/.*$');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchMethod('/blog/.*');
-        $this->assertFalse($matcher->matches($request));
-    }
-
-    public function testPathWithLocaleIsNotSupported()
-    {
-        $matcher = new RequestMatcher();
-        $request = Request::create('/en/login');
-        $request->setLocale('en');
-
-        $matcher->matchPath('^/{_locale}/login$');
-        $this->assertFalse($matcher->matches($request));
-    }
-
-    public function testPathWithEncodedCharacters()
-    {
-        $matcher = new RequestMatcher();
-        $request = Request::create('/admin/fo%20o');
-        $matcher->matchPath('^/admin/fo o*$');
-        $this->assertTrue($matcher->matches($request));
-    }
-
-    public function testAttributes()
-    {
-        $matcher = new RequestMatcher();
-
-        $request = Request::create('/admin/foo');
-        $request->attributes->set('foo', 'foo_bar');
-
-        $matcher->matchAttribute('foo', 'foo_.*');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchAttribute('foo', 'foo');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchAttribute('foo', '^foo_bar$');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchAttribute('foo', 'babar');
-        $this->assertFalse($matcher->matches($request));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestStackTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestStackTest.php
deleted file mode 100644
index e26b806..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestStackTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\RequestStack;
-
-class RequestStackTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetCurrentRequest()
-    {
-        $requestStack = new RequestStack();
-        $this->assertNull($requestStack->getCurrentRequest());
-
-        $request = Request::create('/foo');
-
-        $requestStack->push($request);
-        $this->assertSame($request, $requestStack->getCurrentRequest());
-
-        $this->assertSame($request, $requestStack->pop());
-        $this->assertNull($requestStack->getCurrentRequest());
-
-        $this->assertNull($requestStack->pop());
-    }
-
-    public function testGetMasterRequest()
-    {
-        $requestStack = new RequestStack();
-        $this->assertNull($requestStack->getMasterRequest());
-
-        $masterRequest = Request::create('/foo');
-        $subRequest = Request::create('/bar');
-
-        $requestStack->push($masterRequest);
-        $requestStack->push($subRequest);
-
-        $this->assertSame($masterRequest, $requestStack->getMasterRequest());
-    }
-
-    public function testGetParentRequest()
-    {
-        $requestStack = new RequestStack();
-        $this->assertNull($requestStack->getParentRequest());
-
-        $masterRequest = Request::create('/foo');
-
-        $requestStack->push($masterRequest);
-        $this->assertNull($requestStack->getParentRequest());
-
-        $firstSubRequest = Request::create('/bar');
-
-        $requestStack->push($firstSubRequest);
-        $this->assertSame($masterRequest, $requestStack->getParentRequest());
-
-        $secondSubRequest = Request::create('/baz');
-
-        $requestStack->push($secondSubRequest);
-        $this->assertSame($firstSubRequest, $requestStack->getParentRequest());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php
deleted file mode 100644
index 04a9616..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php
+++ /dev/null
@@ -1,1759 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
-use Symfony\Component\HttpFoundation\Session\Session;
-use Symfony\Component\HttpFoundation\Request;
-
-class RequestTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::__construct
-     */
-    public function testConstructor()
-    {
-        $this->testInitialize();
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::initialize
-     */
-    public function testInitialize()
-    {
-        $request = new Request();
-
-        $request->initialize(array('foo' => 'bar'));
-        $this->assertEquals('bar', $request->query->get('foo'), '->initialize() takes an array of query parameters as its first argument');
-
-        $request->initialize(array(), array('foo' => 'bar'));
-        $this->assertEquals('bar', $request->request->get('foo'), '->initialize() takes an array of request parameters as its second argument');
-
-        $request->initialize(array(), array(), array('foo' => 'bar'));
-        $this->assertEquals('bar', $request->attributes->get('foo'), '->initialize() takes an array of attributes as its third argument');
-
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_FOO' => 'bar'));
-        $this->assertEquals('bar', $request->headers->get('FOO'), '->initialize() takes an array of HTTP headers as its sixth argument');
-    }
-
-    public function testGetLocale()
-    {
-        $request = new Request();
-        $request->setLocale('pl');
-        $locale = $request->getLocale();
-        $this->assertEquals('pl', $locale);
-    }
-
-    public function testGetUser()
-    {
-        $request = Request::create('http://user_test:password_test@test.com/');
-        $user = $request->getUser();
-
-        $this->assertEquals('user_test', $user);
-    }
-
-    public function testGetPassword()
-    {
-        $request = Request::create('http://user_test:password_test@test.com/');
-        $password = $request->getPassword();
-
-        $this->assertEquals('password_test', $password);
-    }
-
-    public function testIsNoCache()
-    {
-        $request = new Request();
-        $isNoCache = $request->isNoCache();
-
-        $this->assertFalse($isNoCache);
-    }
-
-    public function testGetContentType()
-    {
-        $request = new Request();
-        $contentType = $request->getContentType();
-
-        $this->assertNull($contentType);
-    }
-
-    public function testSetDefaultLocale()
-    {
-        $request = new Request();
-        $request->setDefaultLocale('pl');
-        $locale = $request->getLocale();
-
-        $this->assertEquals('pl', $locale);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::create
-     */
-    public function testCreate()
-    {
-        $request = Request::create('http://test.com/foo?bar=baz');
-        $this->assertEquals('http://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com/foo', 'GET', array('bar' => 'baz'));
-        $this->assertEquals('http://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com/foo?bar=foo', 'GET', array('bar' => 'baz'));
-        $this->assertEquals('http://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('https://test.com/foo?bar=baz');
-        $this->assertEquals('https://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(443, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertTrue($request->isSecure());
-
-        $request = Request::create('test.com:90/foo');
-        $this->assertEquals('http://test.com:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('test.com', $request->getHost());
-        $this->assertEquals('test.com:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('https://test.com:90/foo');
-        $this->assertEquals('https://test.com:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('test.com', $request->getHost());
-        $this->assertEquals('test.com:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        $request = Request::create('https://127.0.0.1:90/foo');
-        $this->assertEquals('https://127.0.0.1:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('127.0.0.1', $request->getHost());
-        $this->assertEquals('127.0.0.1:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        $request = Request::create('https://[::1]:90/foo');
-        $this->assertEquals('https://[::1]:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('[::1]', $request->getHost());
-        $this->assertEquals('[::1]:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        $request = Request::create('https://[::1]/foo');
-        $this->assertEquals('https://[::1]/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('[::1]', $request->getHost());
-        $this->assertEquals('[::1]', $request->getHttpHost());
-        $this->assertEquals(443, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        $json = '{"jsonrpc":"2.0","method":"echo","id":7,"params":["Hello World"]}';
-        $request = Request::create('http://example.com/jsonrpc', 'POST', array(), array(), array(), array(), $json);
-        $this->assertEquals($json, $request->getContent());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com');
-        $this->assertEquals('http://test.com/', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com?test=1');
-        $this->assertEquals('http://test.com/?test=1', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('test=1', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com:90/?test=1');
-        $this->assertEquals('http://test.com:90/?test=1', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('test=1', $request->getQueryString());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertEquals('test.com:90', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://username:password@test.com');
-        $this->assertEquals('http://test.com/', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertEquals('username', $request->getUser());
-        $this->assertEquals('password', $request->getPassword());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://username@test.com');
-        $this->assertEquals('http://test.com/', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertEquals('username', $request->getUser());
-        $this->assertSame('', $request->getPassword());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com/?foo');
-        $this->assertEquals('/?foo', $request->getRequestUri());
-        $this->assertEquals(array('foo' => ''), $request->query->all());
-
-        ## assume rewrite rule: (.*) --> app/app.php ; app/ is a symlink to a symfony web/ directory
-        $request = Request::create('http://test.com/apparthotel-1234', 'GET', array(), array(), array(),
-            array(
-                'DOCUMENT_ROOT' => '/var/www/www.test.com',
-                'SCRIPT_FILENAME' => '/var/www/www.test.com/app/app.php',
-                'SCRIPT_NAME' => '/app/app.php',
-                'PHP_SELF' => '/app/app.php/apparthotel-1234',
-            ));
-        $this->assertEquals('http://test.com/apparthotel-1234', $request->getUri());
-        $this->assertEquals('/apparthotel-1234', $request->getPathInfo());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::create
-     */
-    public function testCreateCheckPrecedence()
-    {
-        // server is used by default
-        $request = Request::create('/', 'DELETE', array(), array(), array(), array(
-            'HTTP_HOST' => 'example.com',
-            'HTTPS' => 'on',
-            'SERVER_PORT' => 443,
-            'PHP_AUTH_USER' => 'fabien',
-            'PHP_AUTH_PW' => 'pa$$',
-            'QUERY_STRING' => 'foo=bar',
-            'CONTENT_TYPE' => 'application/json',
-        ));
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(443, $request->getPort());
-        $this->assertTrue($request->isSecure());
-        $this->assertEquals('fabien', $request->getUser());
-        $this->assertEquals('pa$$', $request->getPassword());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals('application/json', $request->headers->get('CONTENT_TYPE'));
-
-        // URI has precedence over server
-        $request = Request::create('http://thomas:pokemon@example.net:8080/?foo=bar', 'GET', array(), array(), array(), array(
-            'HTTP_HOST' => 'example.com',
-            'HTTPS' => 'on',
-            'SERVER_PORT' => 443,
-        ));
-        $this->assertEquals('example.net', $request->getHost());
-        $this->assertEquals(8080, $request->getPort());
-        $this->assertFalse($request->isSecure());
-        $this->assertEquals('thomas', $request->getUser());
-        $this->assertEquals('pokemon', $request->getPassword());
-        $this->assertEquals('foo=bar', $request->getQueryString());
-    }
-
-    public function testDuplicate()
-    {
-        $request = new Request(array('foo' => 'bar'), array('foo' => 'bar'), array('foo' => 'bar'), array(), array(), array('HTTP_FOO' => 'bar'));
-        $dup = $request->duplicate();
-
-        $this->assertEquals($request->query->all(), $dup->query->all(), '->duplicate() duplicates a request an copy the current query parameters');
-        $this->assertEquals($request->request->all(), $dup->request->all(), '->duplicate() duplicates a request an copy the current request parameters');
-        $this->assertEquals($request->attributes->all(), $dup->attributes->all(), '->duplicate() duplicates a request an copy the current attributes');
-        $this->assertEquals($request->headers->all(), $dup->headers->all(), '->duplicate() duplicates a request an copy the current HTTP headers');
-
-        $dup = $request->duplicate(array('foo' => 'foobar'), array('foo' => 'foobar'), array('foo' => 'foobar'), array(), array(), array('HTTP_FOO' => 'foobar'));
-
-        $this->assertEquals(array('foo' => 'foobar'), $dup->query->all(), '->duplicate() overrides the query parameters if provided');
-        $this->assertEquals(array('foo' => 'foobar'), $dup->request->all(), '->duplicate() overrides the request parameters if provided');
-        $this->assertEquals(array('foo' => 'foobar'), $dup->attributes->all(), '->duplicate() overrides the attributes if provided');
-        $this->assertEquals(array('foo' => array('foobar')), $dup->headers->all(), '->duplicate() overrides the HTTP header if provided');
-    }
-
-    public function testDuplicateWithFormat()
-    {
-        $request = new Request(array(), array(), array('_format' => 'json'));
-        $dup = $request->duplicate();
-
-        $this->assertEquals('json', $dup->getRequestFormat());
-        $this->assertEquals('json', $dup->attributes->get('_format'));
-
-        $request = new Request();
-        $request->setRequestFormat('xml');
-        $dup = $request->duplicate();
-
-        $this->assertEquals('xml', $dup->getRequestFormat());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getFormat
-     * @covers Symfony\Component\HttpFoundation\Request::setFormat
-     * @dataProvider getFormatToMimeTypeMapProvider
-     */
-    public function testGetFormatFromMimeType($format, $mimeTypes)
-    {
-        $request = new Request();
-        foreach ($mimeTypes as $mime) {
-            $this->assertEquals($format, $request->getFormat($mime));
-        }
-        $request->setFormat($format, $mimeTypes);
-        foreach ($mimeTypes as $mime) {
-            $this->assertEquals($format, $request->getFormat($mime));
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getFormat
-     */
-    public function testGetFormatFromMimeTypeWithParameters()
-    {
-        $request = new Request();
-        $this->assertEquals('json', $request->getFormat('application/json; charset=utf-8'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getMimeType
-     * @dataProvider getFormatToMimeTypeMapProvider
-     */
-    public function testGetMimeTypeFromFormat($format, $mimeTypes)
-    {
-        if (null !== $format) {
-            $request = new Request();
-            $this->assertEquals($mimeTypes[0], $request->getMimeType($format));
-        }
-    }
-
-    public function getFormatToMimeTypeMapProvider()
-    {
-        return array(
-            array(null, array(null, 'unexistent-mime-type')),
-            array('txt', array('text/plain')),
-            array('js', array('application/javascript', 'application/x-javascript', 'text/javascript')),
-            array('css', array('text/css')),
-            array('json', array('application/json', 'application/x-json')),
-            array('xml', array('text/xml', 'application/xml', 'application/x-xml')),
-            array('rdf', array('application/rdf+xml')),
-            array('atom',array('application/atom+xml')),
-        );
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getUri
-     */
-    public function testGetUri()
-    {
-        $server = array();
-
-        // Standard Request on non default PORT
-        // http://host:8080/index.php/path/info?query=string
-
-        $server['HTTP_HOST'] = 'host:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/index.php/path/info?query=string';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PATH_INFO'] = '/path/info';
-        $server['PATH_TRANSLATED'] = 'redirect:/index.php/path/info';
-        $server['PHP_SELF'] = '/index_dev.php/path/info';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request = new Request();
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://host:8080/index.php/path/info?query=string', $request->getUri(), '->getUri() with non default port');
-
-        // Use std port number
-        $server['HTTP_HOST'] = 'host';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://host/index.php/path/info?query=string', $request->getUri(), '->getUri() with default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/index.php/path/info?query=string', $request->getUri(), '->getUri() with default port without HOST_HEADER');
-
-        // Request with URL REWRITING (hide index.php)
-        //   RewriteCond %{REQUEST_FILENAME} !-f
-        //   RewriteRule ^(.*)$ index.php [QSA,L]
-        // http://host:8080/path/info?query=string
-        $server = array();
-        $server['HTTP_HOST'] = 'host:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['REDIRECT_QUERY_STRING'] = 'query=string';
-        $server['REDIRECT_URL'] = '/path/info';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/path/info?toto=test&1=1';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PHP_SELF'] = '/index.php';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://host:8080/path/info?query=string', $request->getUri(), '->getUri() with rewrite');
-
-        // Use std port number
-        //  http://host/path/info?query=string
-        $server['HTTP_HOST'] = 'host';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://host/path/info?query=string', $request->getUri(), '->getUri() with rewrite and default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/path/info?query=string', $request->getUri(), '->getUri() with rewrite, default port without HOST_HEADER');
-
-        // With encoded characters
-
-        $server = array(
-            'HTTP_HOST' => 'host:8080',
-            'SERVER_NAME' => 'servername',
-            'SERVER_PORT' => '8080',
-            'QUERY_STRING' => 'query=string',
-            'REQUEST_URI' => '/ba%20se/index_dev.php/foo%20bar/in+fo?query=string',
-            'SCRIPT_NAME' => '/ba se/index_dev.php',
-            'PATH_TRANSLATED' => 'redirect:/index.php/foo bar/in+fo',
-            'PHP_SELF' => '/ba se/index_dev.php/path/info',
-            'SCRIPT_FILENAME' => '/some/where/ba se/index_dev.php',
-        );
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals(
-            'http://host:8080/ba%20se/index_dev.php/foo%20bar/in+fo?query=string',
-            $request->getUri()
-        );
-
-        // with user info
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://host:8080/ba%20se/index_dev.php/foo%20bar/in+fo?query=string', $request->getUri());
-
-        $server['PHP_AUTH_PW'] = 'symfony';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://host:8080/ba%20se/index_dev.php/foo%20bar/in+fo?query=string', $request->getUri());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getUriForPath
-     */
-    public function testGetUriForPath()
-    {
-        $request = Request::create('http://test.com/foo?bar=baz');
-        $this->assertEquals('http://test.com/some/path', $request->getUriForPath('/some/path'));
-
-        $request = Request::create('http://test.com:90/foo?bar=baz');
-        $this->assertEquals('http://test.com:90/some/path', $request->getUriForPath('/some/path'));
-
-        $request = Request::create('https://test.com/foo?bar=baz');
-        $this->assertEquals('https://test.com/some/path', $request->getUriForPath('/some/path'));
-
-        $request = Request::create('https://test.com:90/foo?bar=baz');
-        $this->assertEquals('https://test.com:90/some/path', $request->getUriForPath('/some/path'));
-
-        $server = array();
-
-        // Standard Request on non default PORT
-        // http://host:8080/index.php/path/info?query=string
-
-        $server['HTTP_HOST'] = 'host:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/index.php/path/info?query=string';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PATH_INFO'] = '/path/info';
-        $server['PATH_TRANSLATED'] = 'redirect:/index.php/path/info';
-        $server['PHP_SELF'] = '/index_dev.php/path/info';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request = new Request();
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://host:8080/index.php/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with non default port');
-
-        // Use std port number
-        $server['HTTP_HOST'] = 'host';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://host/index.php/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/index.php/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with default port without HOST_HEADER');
-
-        // Request with URL REWRITING (hide index.php)
-        //   RewriteCond %{REQUEST_FILENAME} !-f
-        //   RewriteRule ^(.*)$ index.php [QSA,L]
-        // http://host:8080/path/info?query=string
-        $server = array();
-        $server['HTTP_HOST'] = 'host:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['REDIRECT_QUERY_STRING'] = 'query=string';
-        $server['REDIRECT_URL'] = '/path/info';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/path/info?toto=test&1=1';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PHP_SELF'] = '/index.php';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://host:8080/some/path', $request->getUriForPath('/some/path'), '->getUri() with rewrite');
-
-        // Use std port number
-        //  http://host/path/info?query=string
-        $server['HTTP_HOST'] = 'host';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://host/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with rewrite and default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with rewrite, default port without HOST_HEADER');
-        $this->assertEquals('servername', $request->getHttpHost());
-
-        // with user info
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername/some/path', $request->getUriForPath('/some/path'));
-
-        $server['PHP_AUTH_PW'] = 'symfony';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername/some/path', $request->getUriForPath('/some/path'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getUserInfo
-     */
-    public function testGetUserInfo()
-    {
-        $request = new Request();
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('fabien', $request->getUserInfo());
-
-        $server['PHP_AUTH_USER'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('0', $request->getUserInfo());
-
-        $server['PHP_AUTH_PW'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('0:0', $request->getUserInfo());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getSchemeAndHttpHost
-     */
-    public function testGetSchemeAndHttpHost()
-    {
-        $request = new Request();
-
-        $server = array();
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '90';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-
-        $server['PHP_AUTH_USER'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-
-        $server['PHP_AUTH_PW'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getQueryString
-     * @covers Symfony\Component\HttpFoundation\Request::normalizeQueryString
-     * @dataProvider getQueryStringNormalizationData
-     */
-    public function testGetQueryString($query, $expectedQuery, $msg)
-    {
-        $request = new Request();
-
-        $request->server->set('QUERY_STRING', $query);
-        $this->assertSame($expectedQuery, $request->getQueryString(), $msg);
-    }
-
-    public function getQueryStringNormalizationData()
-    {
-        return array(
-            array('foo', 'foo', 'works with valueless parameters'),
-            array('foo=', 'foo=', 'includes a dangling equal sign'),
-            array('bar=&foo=bar', 'bar=&foo=bar', '->works with empty parameters'),
-            array('foo=bar&bar=', 'bar=&foo=bar', 'sorts keys alphabetically'),
-
-            // GET parameters, that are submitted from a HTML form, encode spaces as "+" by default (as defined in enctype application/x-www-form-urlencoded).
-            // PHP also converts "+" to spaces when filling the global _GET or when using the function parse_str.
-            array('him=John%20Doe&her=Jane+Doe', 'her=Jane%20Doe&him=John%20Doe', 'normalizes spaces in both encodings "%20" and "+"'),
-
-            array('foo[]=1&foo[]=2', 'foo%5B%5D=1&foo%5B%5D=2', 'allows array notation'),
-            array('foo=1&foo=2', 'foo=1&foo=2', 'allows repeated parameters'),
-            array('pa%3Dram=foo%26bar%3Dbaz&test=test', 'pa%3Dram=foo%26bar%3Dbaz&test=test', 'works with encoded delimiters'),
-            array('0', '0', 'allows "0"'),
-            array('Jane Doe&John%20Doe', 'Jane%20Doe&John%20Doe', 'normalizes encoding in keys'),
-            array('her=Jane Doe&him=John%20Doe', 'her=Jane%20Doe&him=John%20Doe', 'normalizes encoding in values'),
-            array('foo=bar&&&test&&', 'foo=bar&test', 'removes unneeded delimiters'),
-            array('formula=e=m*c^2', 'formula=e%3Dm%2Ac%5E2', 'correctly treats only the first "=" as delimiter and the next as value'),
-
-            // Ignore pairs with empty key, even if there was a value, e.g. "=value", as such nameless values cannot be retrieved anyway.
-            // PHP also does not include them when building _GET.
-            array('foo=bar&=a=b&=x=y', 'foo=bar', 'removes params with empty key'),
-        );
-    }
-
-    public function testGetQueryStringReturnsNull()
-    {
-        $request = new Request();
-
-        $this->assertNull($request->getQueryString(), '->getQueryString() returns null for non-existent query string');
-
-        $request->server->set('QUERY_STRING', '');
-        $this->assertNull($request->getQueryString(), '->getQueryString() returns null for empty query string');
-    }
-
-    public function testGetHost()
-    {
-        $request = new Request();
-
-        $request->initialize(array('foo' => 'bar'));
-        $this->assertEquals('', $request->getHost(), '->getHost() return empty string if not initialized');
-
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_HOST' => 'www.example.com'));
-        $this->assertEquals('www.example.com', $request->getHost(), '->getHost() from Host Header');
-
-        // Host header with port number
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_HOST' => 'www.example.com:8080'));
-        $this->assertEquals('www.example.com', $request->getHost(), '->getHost() from Host Header with port number');
-
-        // Server values
-        $request->initialize(array(), array(), array(), array(), array(), array('SERVER_NAME' => 'www.example.com'));
-        $this->assertEquals('www.example.com', $request->getHost(), '->getHost() from server name');
-
-        $request->initialize(array(), array(), array(), array(), array(), array('SERVER_NAME' => 'www.example.com', 'HTTP_HOST' => 'www.host.com'));
-        $this->assertEquals('www.host.com', $request->getHost(), '->getHost() value from Host header has priority over SERVER_NAME ');
-    }
-
-    public function testGetPort()
-    {
-        $request = Request::create('http://example.com', 'GET', array(), array(), array(), array(
-            'HTTP_X_FORWARDED_PROTO' => 'https',
-            'HTTP_X_FORWARDED_PORT' => '443',
-        ));
-        $port = $request->getPort();
-
-        $this->assertEquals(80, $port, 'Without trusted proxies FORWARDED_PROTO and FORWARDED_PORT are ignored.');
-
-        Request::setTrustedProxies(array('1.1.1.1'));
-        $request = Request::create('http://example.com', 'GET', array(), array(), array(), array(
-            'HTTP_X_FORWARDED_PROTO' => 'https',
-            'HTTP_X_FORWARDED_PORT' => '8443',
-        ));
-        $this->assertEquals(80, $request->getPort(), 'With PROTO and PORT on untrusted connection server value takes precedence.');
-        $request->server->set('REMOTE_ADDR', '1.1.1.1');
-        $this->assertEquals(8443, $request->getPort(), 'With PROTO and PORT set PORT takes precedence.');
-
-        $request = Request::create('http://example.com', 'GET', array(), array(), array(), array(
-            'HTTP_X_FORWARDED_PROTO' => 'https',
-        ));
-        $this->assertEquals(80, $request->getPort(), 'With only PROTO set getPort() ignores trusted headers on untrusted connection.');
-        $request->server->set('REMOTE_ADDR', '1.1.1.1');
-        $this->assertEquals(443, $request->getPort(), 'With only PROTO set getPort() defaults to 443.');
-
-        $request = Request::create('http://example.com', 'GET', array(), array(), array(), array(
-            'HTTP_X_FORWARDED_PROTO' => 'http',
-        ));
-        $this->assertEquals(80, $request->getPort(), 'If X_FORWARDED_PROTO is set to HTTP getPort() ignores trusted headers on untrusted connection.');
-        $request->server->set('REMOTE_ADDR', '1.1.1.1');
-        $this->assertEquals(80, $request->getPort(), 'If X_FORWARDED_PROTO is set to HTTP getPort() returns port of the original request.');
-
-        $request = Request::create('http://example.com', 'GET', array(), array(), array(), array(
-            'HTTP_X_FORWARDED_PROTO' => 'On',
-        ));
-        $this->assertEquals(80, $request->getPort(), 'With only PROTO set and value is On, getPort() ignores trusted headers on untrusted connection.');
-        $request->server->set('REMOTE_ADDR', '1.1.1.1');
-        $this->assertEquals(443, $request->getPort(), 'With only PROTO set and value is On, getPort() defaults to 443.');
-
-        $request = Request::create('http://example.com', 'GET', array(), array(), array(), array(
-            'HTTP_X_FORWARDED_PROTO' => '1',
-        ));
-        $this->assertEquals(80, $request->getPort(), 'With only PROTO set and value is 1, getPort() ignores trusted headers on untrusted connection.');
-        $request->server->set('REMOTE_ADDR', '1.1.1.1');
-        $this->assertEquals(443, $request->getPort(), 'With only PROTO set and value is 1, getPort() defaults to 443.');
-
-        $request = Request::create('http://example.com', 'GET', array(), array(), array(), array(
-            'HTTP_X_FORWARDED_PROTO' => 'something-else',
-        ));
-        $port = $request->getPort();
-        $this->assertEquals(80, $port, 'With only PROTO set and value is not recognized, getPort() defaults to 80.');
-
-        Request::setTrustedProxies(array());
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testGetHostWithFakeHttpHostValue()
-    {
-        $request = new Request();
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_HOST' => 'www.host.com?query=string'));
-        $request->getHost();
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::setMethod
-     * @covers Symfony\Component\HttpFoundation\Request::getMethod
-     */
-    public function testGetSetMethod()
-    {
-        $request = new Request();
-
-        $this->assertEquals('GET', $request->getMethod(), '->getMethod() returns GET if no method is defined');
-
-        $request->setMethod('get');
-        $this->assertEquals('GET', $request->getMethod(), '->getMethod() returns an uppercased string');
-
-        $request->setMethod('PURGE');
-        $this->assertEquals('PURGE', $request->getMethod(), '->getMethod() returns the method even if it is not a standard one');
-
-        $request->setMethod('POST');
-        $this->assertEquals('POST', $request->getMethod(), '->getMethod() returns the method POST if no _method is defined');
-
-        $request->setMethod('POST');
-        $request->request->set('_method', 'purge');
-        $this->assertEquals('POST', $request->getMethod(), '->getMethod() does not return the method from _method if defined and POST but support not enabled');
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->request->set('_method', 'purge');
-
-        $this->assertFalse(Request::getHttpMethodParameterOverride(), 'httpMethodParameterOverride should be disabled by default');
-
-        Request::enableHttpMethodParameterOverride();
-
-        $this->assertTrue(Request::getHttpMethodParameterOverride(), 'httpMethodParameterOverride should be enabled now but it is not');
-
-        $this->assertEquals('PURGE', $request->getMethod(), '->getMethod() returns the method from _method if defined and POST');
-        $this->disableHttpMethodParameterOverride();
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->query->set('_method', 'purge');
-        $this->assertEquals('POST', $request->getMethod(), '->getMethod() does not return the method from _method if defined and POST but support not enabled');
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->query->set('_method', 'purge');
-        Request::enableHttpMethodParameterOverride();
-        $this->assertEquals('PURGE', $request->getMethod(), '->getMethod() returns the method from _method if defined and POST');
-        $this->disableHttpMethodParameterOverride();
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->headers->set('X-HTTP-METHOD-OVERRIDE', 'delete');
-        $this->assertEquals('DELETE', $request->getMethod(), '->getMethod() returns the method from X-HTTP-Method-Override even though _method is set if defined and POST');
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->headers->set('X-HTTP-METHOD-OVERRIDE', 'delete');
-        $this->assertEquals('DELETE', $request->getMethod(), '->getMethod() returns the method from X-HTTP-Method-Override if defined and POST');
-    }
-
-    /**
-     * @dataProvider testGetClientIpsProvider
-     */
-    public function testGetClientIp($expected, $remoteAddr, $httpForwardedFor, $trustedProxies)
-    {
-        $request = $this->getRequestInstanceForClientIpTests($remoteAddr, $httpForwardedFor, $trustedProxies);
-
-        $this->assertEquals($expected[0], $request->getClientIp());
-
-        Request::setTrustedProxies(array());
-    }
-
-    /**
-     * @dataProvider testGetClientIpsProvider
-     */
-    public function testGetClientIps($expected, $remoteAddr, $httpForwardedFor, $trustedProxies)
-    {
-        $request = $this->getRequestInstanceForClientIpTests($remoteAddr, $httpForwardedFor, $trustedProxies);
-
-        $this->assertEquals($expected, $request->getClientIps());
-
-        Request::setTrustedProxies(array());
-    }
-
-    public function testGetClientIpsProvider()
-    {
-        //        $expected                   $remoteAddr                $httpForwardedFor            $trustedProxies
-        return array(
-            // simple IPv4
-            array(array('88.88.88.88'),              '88.88.88.88',              null,                        null),
-            // trust the IPv4 remote addr
-            array(array('88.88.88.88'),              '88.88.88.88',              null,                        array('88.88.88.88')),
-
-            // simple IPv6
-            array(array('::1'),                      '::1',                      null,                        null),
-            // trust the IPv6 remote addr
-            array(array('::1'),                      '::1',                      null,                        array('::1')),
-
-            // forwarded for with remote IPv4 addr not trusted
-            array(array('127.0.0.1'),                '127.0.0.1',                '88.88.88.88',               null),
-            // forwarded for with remote IPv4 addr trusted
-            array(array('88.88.88.88'),              '127.0.0.1',                '88.88.88.88',               array('127.0.0.1')),
-            // forwarded for with remote IPv4 and all FF addrs trusted
-            array(array('88.88.88.88'),              '127.0.0.1',                '88.88.88.88',               array('127.0.0.1', '88.88.88.88')),
-            // forwarded for with remote IPv4 range trusted
-            array(array('88.88.88.88'),              '123.45.67.89',             '88.88.88.88',               array('123.45.67.0/24')),
-
-            // forwarded for with remote IPv6 addr not trusted
-            array(array('1620:0:1cfe:face:b00c::3'), '1620:0:1cfe:face:b00c::3', '2620:0:1cfe:face:b00c::3',  null),
-            // forwarded for with remote IPv6 addr trusted
-            array(array('2620:0:1cfe:face:b00c::3'), '1620:0:1cfe:face:b00c::3', '2620:0:1cfe:face:b00c::3',  array('1620:0:1cfe:face:b00c::3')),
-            // forwarded for with remote IPv6 range trusted
-            array(array('88.88.88.88'),              '2a01:198:603:0:396e:4789:8e99:890f', '88.88.88.88',     array('2a01:198:603:0::/65')),
-
-            // multiple forwarded for with remote IPv4 addr trusted
-            array(array('88.88.88.88', '87.65.43.21', '127.0.0.1'), '123.45.67.89', '127.0.0.1, 87.65.43.21, 88.88.88.88', array('123.45.67.89')),
-            // multiple forwarded for with remote IPv4 addr and some reverse proxies trusted
-            array(array('87.65.43.21', '127.0.0.1'), '123.45.67.89',             '127.0.0.1, 87.65.43.21, 88.88.88.88', array('123.45.67.89', '88.88.88.88')),
-            // multiple forwarded for with remote IPv4 addr and some reverse proxies trusted but in the middle
-            array(array('88.88.88.88', '127.0.0.1'), '123.45.67.89',             '127.0.0.1, 87.65.43.21, 88.88.88.88', array('123.45.67.89', '87.65.43.21')),
-            // multiple forwarded for with remote IPv4 addr and all reverse proxies trusted
-            array(array('127.0.0.1'),                '123.45.67.89',             '127.0.0.1, 87.65.43.21, 88.88.88.88', array('123.45.67.89', '87.65.43.21', '88.88.88.88', '127.0.0.1')),
-
-            // multiple forwarded for with remote IPv6 addr trusted
-            array(array('2620:0:1cfe:face:b00c::3', '3620:0:1cfe:face:b00c::3'), '1620:0:1cfe:face:b00c::3', '3620:0:1cfe:face:b00c::3,2620:0:1cfe:face:b00c::3', array('1620:0:1cfe:face:b00c::3')),
-            // multiple forwarded for with remote IPv6 addr and some reverse proxies trusted
-            array(array('3620:0:1cfe:face:b00c::3'), '1620:0:1cfe:face:b00c::3', '3620:0:1cfe:face:b00c::3,2620:0:1cfe:face:b00c::3', array('1620:0:1cfe:face:b00c::3', '2620:0:1cfe:face:b00c::3')),
-            // multiple forwarded for with remote IPv4 addr and some reverse proxies trusted but in the middle
-            array(array('2620:0:1cfe:face:b00c::3', '4620:0:1cfe:face:b00c::3'), '1620:0:1cfe:face:b00c::3', '4620:0:1cfe:face:b00c::3,3620:0:1cfe:face:b00c::3,2620:0:1cfe:face:b00c::3', array('1620:0:1cfe:face:b00c::3', '3620:0:1cfe:face:b00c::3')),
-
-            // client IP with port
-            array(array('88.88.88.88'), '127.0.0.1', '88.88.88.88:12345, 127.0.0.1', array('127.0.0.1')),
-        );
-    }
-
-    public function testGetContentWorksTwiceInDefaultMode()
-    {
-        $req = new Request();
-        $this->assertEquals('', $req->getContent());
-        $this->assertEquals('', $req->getContent());
-    }
-
-    public function testGetContentReturnsResource()
-    {
-        $req = new Request();
-        $retval = $req->getContent(true);
-        $this->assertInternalType('resource', $retval);
-        $this->assertEquals('', fread($retval, 1));
-        $this->assertTrue(feof($retval));
-    }
-
-    /**
-     * @expectedException \LogicException
-     * @dataProvider getContentCantBeCalledTwiceWithResourcesProvider
-     */
-    public function testGetContentCantBeCalledTwiceWithResources($first, $second)
-    {
-        $req = new Request();
-        $req->getContent($first);
-        $req->getContent($second);
-    }
-
-    public function getContentCantBeCalledTwiceWithResourcesProvider()
-    {
-        return array(
-            'Resource then fetch' => array(true, false),
-            'Resource then resource' => array(true, true),
-            'Fetch then resource' => array(false, true),
-        );
-    }
-
-    public function provideOverloadedMethods()
-    {
-        return array(
-            array('PUT'),
-            array('DELETE'),
-            array('PATCH'),
-            array('put'),
-            array('delete'),
-            array('patch'),
-
-        );
-    }
-
-    /**
-     * @dataProvider provideOverloadedMethods
-     */
-    public function testCreateFromGlobals($method)
-    {
-        $normalizedMethod = strtoupper($method);
-
-        $_GET['foo1'] = 'bar1';
-        $_POST['foo2'] = 'bar2';
-        $_COOKIE['foo3'] = 'bar3';
-        $_FILES['foo4'] = array('bar4');
-        $_SERVER['foo5'] = 'bar5';
-
-        $request = Request::createFromGlobals();
-        $this->assertEquals('bar1', $request->query->get('foo1'), '::fromGlobals() uses values from $_GET');
-        $this->assertEquals('bar2', $request->request->get('foo2'), '::fromGlobals() uses values from $_POST');
-        $this->assertEquals('bar3', $request->cookies->get('foo3'), '::fromGlobals() uses values from $_COOKIE');
-        $this->assertEquals(array('bar4'), $request->files->get('foo4'), '::fromGlobals() uses values from $_FILES');
-        $this->assertEquals('bar5', $request->server->get('foo5'), '::fromGlobals() uses values from $_SERVER');
-
-        unset($_GET['foo1'], $_POST['foo2'], $_COOKIE['foo3'], $_FILES['foo4'], $_SERVER['foo5']);
-
-        $_SERVER['REQUEST_METHOD'] = $method;
-        $_SERVER['CONTENT_TYPE'] = 'application/x-www-form-urlencoded';
-        $request = RequestContentProxy::createFromGlobals();
-        $this->assertEquals($normalizedMethod, $request->getMethod());
-        $this->assertEquals('mycontent', $request->request->get('content'));
-
-        unset($_SERVER['REQUEST_METHOD'], $_SERVER['CONTENT_TYPE']);
-
-        Request::createFromGlobals();
-        Request::enableHttpMethodParameterOverride();
-        $_POST['_method'] = $method;
-        $_POST['foo6'] = 'bar6';
-        $_SERVER['REQUEST_METHOD'] = 'PoSt';
-        $request = Request::createFromGlobals();
-        $this->assertEquals($normalizedMethod, $request->getMethod());
-        $this->assertEquals('POST', $request->getRealMethod());
-        $this->assertEquals('bar6', $request->request->get('foo6'));
-
-        unset($_POST['_method'], $_POST['foo6'], $_SERVER['REQUEST_METHOD']);
-        $this->disableHttpMethodParameterOverride();
-    }
-
-    public function testOverrideGlobals()
-    {
-        $request = new Request();
-        $request->initialize(array('foo' => 'bar'));
-
-        // as the Request::overrideGlobals really work, it erase $_SERVER, so we must backup it
-        $server = $_SERVER;
-
-        $request->overrideGlobals();
-
-        $this->assertEquals(array('foo' => 'bar'), $_GET);
-
-        $request->initialize(array(), array('foo' => 'bar'));
-        $request->overrideGlobals();
-
-        $this->assertEquals(array('foo' => 'bar'), $_POST);
-
-        $this->assertArrayNotHasKey('HTTP_X_FORWARDED_PROTO', $_SERVER);
-
-        $request->headers->set('X_FORWARDED_PROTO', 'https');
-
-        Request::setTrustedProxies(array('1.1.1.1'));
-        $this->assertFalse($request->isSecure());
-        $request->server->set('REMOTE_ADDR', '1.1.1.1');
-        $this->assertTrue($request->isSecure());
-        Request::setTrustedProxies(array());
-
-        $request->overrideGlobals();
-
-        $this->assertArrayHasKey('HTTP_X_FORWARDED_PROTO', $_SERVER);
-
-        $request->headers->set('CONTENT_TYPE', 'multipart/form-data');
-        $request->headers->set('CONTENT_LENGTH', 12345);
-
-        $request->overrideGlobals();
-
-        $this->assertArrayHasKey('CONTENT_TYPE', $_SERVER);
-        $this->assertArrayHasKey('CONTENT_LENGTH', $_SERVER);
-
-        $request->initialize(array('foo' => 'bar', 'baz' => 'foo'));
-        $request->query->remove('baz');
-
-        $request->overrideGlobals();
-
-        $this->assertEquals(array('foo' => 'bar'), $_GET);
-        $this->assertEquals('foo=bar', $_SERVER['QUERY_STRING']);
-        $this->assertEquals('foo=bar', $request->server->get('QUERY_STRING'));
-
-        // restore initial $_SERVER array
-        $_SERVER = $server;
-    }
-
-    public function testGetScriptName()
-    {
-        $request = new Request();
-        $this->assertEquals('', $request->getScriptName());
-
-        $server = array();
-        $server['SCRIPT_NAME'] = '/index.php';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/index.php', $request->getScriptName());
-
-        $server = array();
-        $server['ORIG_SCRIPT_NAME'] = '/frontend.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/frontend.php', $request->getScriptName());
-
-        $server = array();
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['ORIG_SCRIPT_NAME'] = '/frontend.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/index.php', $request->getScriptName());
-    }
-
-    public function testGetBasePath()
-    {
-        $request = new Request();
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $server['PHP_SELF'] = '/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $server['ORIG_SCRIPT_NAME'] = '/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('', $request->getBasePath());
-    }
-
-    public function testGetPathInfo()
-    {
-        $request = new Request();
-        $this->assertEquals('/', $request->getPathInfo());
-
-        $server = array();
-        $server['REQUEST_URI'] = '/path/info';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/path/info', $request->getPathInfo());
-
-        $server = array();
-        $server['REQUEST_URI'] = '/path%20test/info';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/path%20test/info', $request->getPathInfo());
-    }
-
-    public function testGetPreferredLanguage()
-    {
-        $request = new Request();
-        $this->assertNull($request->getPreferredLanguage());
-        $this->assertNull($request->getPreferredLanguage(array()));
-        $this->assertEquals('fr', $request->getPreferredLanguage(array('fr')));
-        $this->assertEquals('fr', $request->getPreferredLanguage(array('fr', 'en')));
-        $this->assertEquals('en', $request->getPreferredLanguage(array('en', 'fr')));
-        $this->assertEquals('fr-ch', $request->getPreferredLanguage(array('fr-ch', 'fr-fr')));
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-        $this->assertEquals('en', $request->getPreferredLanguage(array('en', 'en-us')));
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-        $this->assertEquals('en', $request->getPreferredLanguage(array('fr', 'en')));
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8');
-        $this->assertEquals('en', $request->getPreferredLanguage(array('fr', 'en')));
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, fr-fr; q=0.6, fr; q=0.5');
-        $this->assertEquals('en', $request->getPreferredLanguage(array('fr', 'en')));
-    }
-
-    public function testIsXmlHttpRequest()
-    {
-        $request = new Request();
-        $this->assertFalse($request->isXmlHttpRequest());
-
-        $request->headers->set('X-Requested-With', 'XMLHttpRequest');
-        $this->assertTrue($request->isXmlHttpRequest());
-
-        $request->headers->remove('X-Requested-With');
-        $this->assertFalse($request->isXmlHttpRequest());
-    }
-
-    public function testIntlLocale()
-    {
-        if (!extension_loaded('intl')) {
-            $this->markTestSkipped('The intl extension is needed to run this test.');
-        }
-
-        $request = new Request();
-
-        $request->setDefaultLocale('fr');
-        $this->assertEquals('fr', $request->getLocale());
-        $this->assertEquals('fr', \Locale::getDefault());
-
-        $request->setLocale('en');
-        $this->assertEquals('en', $request->getLocale());
-        $this->assertEquals('en', \Locale::getDefault());
-
-        $request->setDefaultLocale('de');
-        $this->assertEquals('en', $request->getLocale());
-        $this->assertEquals('en', \Locale::getDefault());
-    }
-
-    public function testGetCharsets()
-    {
-        $request = new Request();
-        $this->assertEquals(array(), $request->getCharsets());
-        $request->headers->set('Accept-Charset', 'ISO-8859-1, US-ASCII, UTF-8; q=0.8, ISO-10646-UCS-2; q=0.6');
-        $this->assertEquals(array(), $request->getCharsets()); // testing caching
-
-        $request = new Request();
-        $request->headers->set('Accept-Charset', 'ISO-8859-1, US-ASCII, UTF-8; q=0.8, ISO-10646-UCS-2; q=0.6');
-        $this->assertEquals(array('ISO-8859-1', 'US-ASCII', 'UTF-8', 'ISO-10646-UCS-2'), $request->getCharsets());
-
-        $request = new Request();
-        $request->headers->set('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7');
-        $this->assertEquals(array('ISO-8859-1', 'utf-8', '*'), $request->getCharsets());
-    }
-
-    public function testGetEncodings()
-    {
-        $request = new Request();
-        $this->assertEquals(array(), $request->getEncodings());
-        $request->headers->set('Accept-Encoding', 'gzip,deflate,sdch');
-        $this->assertEquals(array(), $request->getEncodings()); // testing caching
-
-        $request = new Request();
-        $request->headers->set('Accept-Encoding', 'gzip,deflate,sdch');
-        $this->assertEquals(array('gzip', 'deflate', 'sdch'), $request->getEncodings());
-
-        $request = new Request();
-        $request->headers->set('Accept-Encoding', 'gzip;q=0.4,deflate;q=0.9,compress;q=0.7');
-        $this->assertEquals(array('deflate', 'compress', 'gzip'), $request->getEncodings());
-    }
-
-    public function testGetAcceptableContentTypes()
-    {
-        $request = new Request();
-        $this->assertEquals(array(), $request->getAcceptableContentTypes());
-        $request->headers->set('Accept', 'application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html, multipart/mixed, */*');
-        $this->assertEquals(array(), $request->getAcceptableContentTypes()); // testing caching
-
-        $request = new Request();
-        $request->headers->set('Accept', 'application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html, multipart/mixed, */*');
-        $this->assertEquals(array('application/vnd.wap.wmlscriptc', 'text/vnd.wap.wml', 'application/vnd.wap.xhtml+xml', 'application/xhtml+xml', 'text/html', 'multipart/mixed', '*/*'), $request->getAcceptableContentTypes());
-    }
-
-    public function testGetLanguages()
-    {
-        $request = new Request();
-        $this->assertEquals(array(), $request->getLanguages());
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-        $this->assertEquals(array('zh', 'en_US', 'en'), $request->getLanguages());
-        $this->assertEquals(array('zh', 'en_US', 'en'), $request->getLanguages());
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.6, en; q=0.8');
-        $this->assertEquals(array('zh', 'en', 'en_US'), $request->getLanguages()); // Test out of order qvalues
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en, en-us');
-        $this->assertEquals(array('zh', 'en', 'en_US'), $request->getLanguages()); // Test equal weighting without qvalues
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh; q=0.6, en, en-us; q=0.6');
-        $this->assertEquals(array('en', 'zh', 'en_US'), $request->getLanguages()); // Test equal weighting with qvalues
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, i-cherokee; q=0.6');
-        $this->assertEquals(array('zh', 'cherokee'), $request->getLanguages());
-    }
-
-    public function testGetRequestFormat()
-    {
-        $request = new Request();
-        $this->assertEquals('html', $request->getRequestFormat());
-
-        $request = new Request();
-        $this->assertNull($request->getRequestFormat(null));
-
-        $request = new Request();
-        $this->assertNull($request->setRequestFormat('foo'));
-        $this->assertEquals('foo', $request->getRequestFormat(null));
-    }
-
-    public function testHasSession()
-    {
-        $request = new Request();
-
-        $this->assertFalse($request->hasSession());
-        $request->setSession(new Session(new MockArraySessionStorage()));
-        $this->assertTrue($request->hasSession());
-    }
-
-    public function testGetSession()
-    {
-        $request = new Request();
-
-        $request->setSession(new Session(new MockArraySessionStorage()));
-        $this->assertTrue($request->hasSession());
-
-        $session = $request->getSession();
-        $this->assertObjectHasAttribute('storage', $session);
-        $this->assertObjectHasAttribute('flashName', $session);
-        $this->assertObjectHasAttribute('attributeName', $session);
-    }
-
-    public function testHasPreviousSession()
-    {
-        $request = new Request();
-
-        $this->assertFalse($request->hasPreviousSession());
-        $request->cookies->set('MOCKSESSID', 'foo');
-        $this->assertFalse($request->hasPreviousSession());
-        $request->setSession(new Session(new MockArraySessionStorage()));
-        $this->assertTrue($request->hasPreviousSession());
-    }
-
-    public function testToString()
-    {
-        $request = new Request();
-
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-
-        $this->assertContains('Accept-Language: zh, en-us; q=0.8, en; q=0.6', $request->__toString());
-    }
-
-    public function testIsMethod()
-    {
-        $request = new Request();
-        $request->setMethod('POST');
-        $this->assertTrue($request->isMethod('POST'));
-        $this->assertTrue($request->isMethod('post'));
-        $this->assertFalse($request->isMethod('GET'));
-        $this->assertFalse($request->isMethod('get'));
-
-        $request->setMethod('GET');
-        $this->assertTrue($request->isMethod('GET'));
-        $this->assertTrue($request->isMethod('get'));
-        $this->assertFalse($request->isMethod('POST'));
-        $this->assertFalse($request->isMethod('post'));
-    }
-
-    /**
-     * @dataProvider getBaseUrlData
-     */
-    public function testGetBaseUrl($uri, $server, $expectedBaseUrl, $expectedPathInfo)
-    {
-        $request = Request::create($uri, 'GET', array(), array(), array(), $server);
-
-        $this->assertSame($expectedBaseUrl, $request->getBaseUrl(), 'baseUrl');
-        $this->assertSame($expectedPathInfo, $request->getPathInfo(), 'pathInfo');
-    }
-
-    public function getBaseUrlData()
-    {
-        return array(
-            array(
-                '/foo%20bar/',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME' => '/foo bar/app.php',
-                    'PHP_SELF' => '/foo bar/app.php',
-                ),
-                '/foo%20bar',
-                '/',
-            ),
-            array(
-                '/foo%20bar/home',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME' => '/foo bar/app.php',
-                    'PHP_SELF' => '/foo bar/app.php',
-                ),
-                '/foo%20bar',
-                '/home',
-            ),
-            array(
-                '/foo%20bar/app.php/home',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME' => '/foo bar/app.php',
-                    'PHP_SELF' => '/foo bar/app.php',
-                ),
-                '/foo%20bar/app.php',
-                '/home',
-            ),
-            array(
-                '/foo%20bar/app.php/home%3Dbaz',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME' => '/foo bar/app.php',
-                    'PHP_SELF' => '/foo bar/app.php',
-                ),
-                '/foo%20bar/app.php',
-                '/home%3Dbaz',
-            ),
-            array(
-                '/foo/bar+baz',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo/app.php',
-                    'SCRIPT_NAME' => '/foo/app.php',
-                    'PHP_SELF' => '/foo/app.php',
-                ),
-                '/foo',
-                '/bar+baz',
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider urlencodedStringPrefixData
-     */
-    public function testUrlencodedStringPrefix($string, $prefix, $expect)
-    {
-        $request = new Request();
-
-        $me = new \ReflectionMethod($request, 'getUrlencodedPrefix');
-        $me->setAccessible(true);
-
-        $this->assertSame($expect, $me->invoke($request, $string, $prefix));
-    }
-
-    public function urlencodedStringPrefixData()
-    {
-        return array(
-            array('foo', 'foo', 'foo'),
-            array('fo%6f', 'foo', 'fo%6f'),
-            array('foo/bar', 'foo', 'foo'),
-            array('fo%6f/bar', 'foo', 'fo%6f'),
-            array('f%6f%6f/bar', 'foo', 'f%6f%6f'),
-            array('%66%6F%6F/bar', 'foo', '%66%6F%6F'),
-            array('fo+o/bar', 'fo+o', 'fo+o'),
-            array('fo%2Bo/bar', 'fo+o', 'fo%2Bo'),
-        );
-    }
-
-    private function disableHttpMethodParameterOverride()
-    {
-        $class = new \ReflectionClass('Symfony\\Component\\HttpFoundation\\Request');
-        $property = $class->getProperty('httpMethodParameterOverride');
-        $property->setAccessible(true);
-        $property->setValue(false);
-    }
-
-    private function getRequestInstanceForClientIpTests($remoteAddr, $httpForwardedFor, $trustedProxies)
-    {
-        $request = new Request();
-
-        $server = array('REMOTE_ADDR' => $remoteAddr);
-        if (null !== $httpForwardedFor) {
-            $server['HTTP_X_FORWARDED_FOR'] = $httpForwardedFor;
-        }
-
-        if ($trustedProxies) {
-            Request::setTrustedProxies($trustedProxies);
-        }
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        return $request;
-    }
-
-    public function testTrustedProxies()
-    {
-        $request = Request::create('http://example.com/');
-        $request->server->set('REMOTE_ADDR', '3.3.3.3');
-        $request->headers->set('X_FORWARDED_FOR', '1.1.1.1, 2.2.2.2');
-        $request->headers->set('X_FORWARDED_HOST', 'foo.example.com, real.example.com:8080');
-        $request->headers->set('X_FORWARDED_PROTO', 'https');
-        $request->headers->set('X_FORWARDED_PORT', 443);
-        $request->headers->set('X_MY_FOR', '3.3.3.3, 4.4.4.4');
-        $request->headers->set('X_MY_HOST', 'my.example.com');
-        $request->headers->set('X_MY_PROTO', 'http');
-        $request->headers->set('X_MY_PORT', 81);
-
-        // no trusted proxies
-        $this->assertEquals('3.3.3.3', $request->getClientIp());
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // disabling proxy trusting
-        Request::setTrustedProxies(array());
-        $this->assertEquals('3.3.3.3', $request->getClientIp());
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // trusted proxy via setTrustedProxies()
-        Request::setTrustedProxies(array('3.3.3.3', '2.2.2.2'));
-        $this->assertEquals('1.1.1.1', $request->getClientIp());
-        $this->assertEquals('real.example.com', $request->getHost());
-        $this->assertEquals(443, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        // trusted proxy via setTrustedProxies()
-        Request::setTrustedProxies(array('3.3.3.4', '2.2.2.2'));
-        $this->assertEquals('3.3.3.3', $request->getClientIp());
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // check various X_FORWARDED_PROTO header values
-        Request::setTrustedProxies(array('3.3.3.3', '2.2.2.2'));
-        $request->headers->set('X_FORWARDED_PROTO', 'ssl');
-        $this->assertTrue($request->isSecure());
-
-        $request->headers->set('X_FORWARDED_PROTO', 'https, http');
-        $this->assertTrue($request->isSecure());
-
-        // custom header names
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'X_MY_FOR');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'X_MY_HOST');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_MY_PORT');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_MY_PROTO');
-        $this->assertEquals('4.4.4.4', $request->getClientIp());
-        $this->assertEquals('my.example.com', $request->getHost());
-        $this->assertEquals(81, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // disabling via empty header names
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, null);
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, null);
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, null);
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, null);
-        $this->assertEquals('3.3.3.3', $request->getClientIp());
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // reset
-        Request::setTrustedProxies(array());
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'X_FORWARDED_FOR');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'X_FORWARDED_HOST');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_FORWARDED_PORT');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_FORWARDED_PROTO');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetTrustedProxiesInvalidHeaderName()
-    {
-        Request::create('http://example.com/');
-        Request::setTrustedHeaderName('bogus name', 'X_MY_FOR');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetTrustedProxiesInvalidHeaderName()
-    {
-        Request::create('http://example.com/');
-        Request::getTrustedHeaderName('bogus name');
-    }
-
-    /**
-     * @dataProvider iisRequestUriProvider
-     */
-    public function testIISRequestUri($headers, $server, $expectedRequestUri)
-    {
-        $request = new Request();
-        $request->headers->replace($headers);
-        $request->server->replace($server);
-
-        $this->assertEquals($expectedRequestUri, $request->getRequestUri(), '->getRequestUri() is correct');
-
-        $subRequestUri = '/bar/foo';
-        $subRequest = Request::create($subRequestUri, 'get', array(), array(), array(), $request->server->all());
-        $this->assertEquals($subRequestUri, $subRequest->getRequestUri(), '->getRequestUri() is correct in sub request');
-    }
-
-    public function iisRequestUriProvider()
-    {
-        return array(
-            array(
-                array(
-                    'X_ORIGINAL_URL' => '/foo/bar',
-                ),
-                array(),
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'X_REWRITE_URL' => '/foo/bar',
-                ),
-                array(),
-                '/foo/bar',
-            ),
-            array(
-                array(),
-                array(
-                    'IIS_WasUrlRewritten' => '1',
-                    'UNENCODED_URL' => '/foo/bar',
-                ),
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'X_ORIGINAL_URL' => '/foo/bar',
-                ),
-                array(
-                    'HTTP_X_ORIGINAL_URL' => '/foo/bar',
-                ),
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'X_ORIGINAL_URL' => '/foo/bar',
-                ),
-                array(
-                    'IIS_WasUrlRewritten' => '1',
-                    'UNENCODED_URL' => '/foo/bar',
-                ),
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'X_ORIGINAL_URL' => '/foo/bar',
-                ),
-                array(
-                    'HTTP_X_ORIGINAL_URL' => '/foo/bar',
-                    'IIS_WasUrlRewritten' => '1',
-                    'UNENCODED_URL' => '/foo/bar',
-                ),
-                '/foo/bar',
-            ),
-            array(
-                array(),
-                array(
-                    'ORIG_PATH_INFO' => '/foo/bar',
-                ),
-                '/foo/bar',
-            ),
-            array(
-                array(),
-                array(
-                    'ORIG_PATH_INFO' => '/foo/bar',
-                    'QUERY_STRING' => 'foo=bar',
-                ),
-                '/foo/bar?foo=bar',
-            ),
-        );
-    }
-
-    public function testTrustedHosts()
-    {
-        // create a request
-        $request = Request::create('/');
-
-        // no trusted host set -> no host check
-        $request->headers->set('host', 'evil.com');
-        $this->assertEquals('evil.com', $request->getHost());
-
-        // add a trusted domain and all its subdomains
-        Request::setTrustedHosts(array('.*\.?trusted.com$'));
-
-        // untrusted host
-        $request->headers->set('host', 'evil.com');
-        try {
-            $request->getHost();
-            $this->fail('Request::getHost() should throw an exception when host is not trusted.');
-        } catch (\UnexpectedValueException $e) {
-            $this->assertEquals('Untrusted Host "evil.com"', $e->getMessage());
-        }
-
-        // trusted hosts
-        $request->headers->set('host', 'trusted.com');
-        $this->assertEquals('trusted.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-
-        $request->server->set('HTTPS', true);
-        $request->headers->set('host', 'trusted.com');
-        $this->assertEquals('trusted.com', $request->getHost());
-        $this->assertEquals(443, $request->getPort());
-        $request->server->set('HTTPS', false);
-
-        $request->headers->set('host', 'trusted.com:8000');
-        $this->assertEquals('trusted.com', $request->getHost());
-        $this->assertEquals(8000, $request->getPort());
-
-        $request->headers->set('host', 'subdomain.trusted.com');
-        $this->assertEquals('subdomain.trusted.com', $request->getHost());
-
-        // reset request for following tests
-        Request::setTrustedHosts(array());
-    }
-
-    public function testFactory()
-    {
-        Request::setFactory(function (array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), $content = null) {
-            return new NewRequest();
-        });
-
-        $this->assertEquals('foo', Request::create('/')->getFoo());
-
-        Request::setFactory(null);
-    }
-
-    /**
-     * @dataProvider getLongHostNames
-     */
-    public function testVeryLongHosts($host)
-    {
-        $start = microtime(true);
-
-        $request = Request::create('/');
-        $request->headers->set('host', $host);
-        $this->assertEquals($host, $request->getHost());
-        $this->assertLessThan(1, microtime(true) - $start);
-    }
-
-    /**
-     * @dataProvider getHostValidities
-     */
-    public function testHostValidity($host, $isValid, $expectedHost = null, $expectedPort = null)
-    {
-        $request = Request::create('/');
-        $request->headers->set('host', $host);
-
-        if ($isValid) {
-            $this->assertSame($expectedHost ?: $host, $request->getHost());
-            if ($expectedPort) {
-                $this->assertSame($expectedPort, $request->getPort());
-            }
-        } else {
-            $this->setExpectedException('UnexpectedValueException', 'Invalid Host');
-            $request->getHost();
-        }
-    }
-
-    public function getHostValidities()
-    {
-        return array(
-            array('.a', false),
-            array('a..', false),
-            array('a.', true),
-            array("\xE9", false),
-            array('[::1]', true),
-            array('[::1]:80', true, '[::1]', 80),
-            array(str_repeat('.', 101), false),
-        );
-    }
-
-    public function getLongHostNames()
-    {
-        return array(
-            array('a'.str_repeat('.a', 40000)),
-            array(str_repeat(':', 101)),
-        );
-    }
-}
-
-class RequestContentProxy extends Request
-{
-    public function getContent($asResource = false)
-    {
-        return http_build_query(array('_method' => 'PUT', 'content' => 'mycontent'));
-    }
-}
-
-class NewRequest extends Request
-{
-    public function getFoo()
-    {
-        return 'foo';
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php
deleted file mode 100644
index ec739b5..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php
+++ /dev/null
@@ -1,295 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ResponseHeaderBag;
-use Symfony\Component\HttpFoundation\Cookie;
-
-class ResponseHeaderBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\HttpFoundation\ResponseHeaderBag::allPreserveCase
-     * @dataProvider provideAllPreserveCase
-     */
-    public function testAllPreserveCase($headers, $expected)
-    {
-        $bag = new ResponseHeaderBag($headers);
-
-        $this->assertEquals($expected, $bag->allPreserveCase(), '->allPreserveCase() gets all input keys in original case');
-    }
-
-    public function provideAllPreserveCase()
-    {
-        return array(
-            array(
-                array('fOo' => 'BAR'),
-                array('fOo' => array('BAR'), 'Cache-Control' => array('no-cache')),
-            ),
-            array(
-                array('ETag' => 'xyzzy'),
-                array('ETag' => array('xyzzy'), 'Cache-Control' => array('private, must-revalidate')),
-            ),
-            array(
-                array('Content-MD5' => 'Q2hlY2sgSW50ZWdyaXR5IQ=='),
-                array('Content-MD5' => array('Q2hlY2sgSW50ZWdyaXR5IQ=='), 'Cache-Control' => array('no-cache')),
-            ),
-            array(
-                array('P3P' => 'CP="CAO PSA OUR"'),
-                array('P3P' => array('CP="CAO PSA OUR"'), 'Cache-Control' => array('no-cache')),
-            ),
-            array(
-                array('WWW-Authenticate' => 'Basic realm="WallyWorld"'),
-                array('WWW-Authenticate' => array('Basic realm="WallyWorld"'), 'Cache-Control' => array('no-cache')),
-            ),
-            array(
-                array('X-UA-Compatible' => 'IE=edge,chrome=1'),
-                array('X-UA-Compatible' => array('IE=edge,chrome=1'), 'Cache-Control' => array('no-cache')),
-            ),
-            array(
-                array('X-XSS-Protection' => '1; mode=block'),
-                array('X-XSS-Protection' => array('1; mode=block'), 'Cache-Control' => array('no-cache')),
-            ),
-        );
-    }
-
-    public function testCacheControlHeader()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-
-        $bag = new ResponseHeaderBag(array('Cache-Control' => 'public'));
-        $this->assertEquals('public', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-
-        $bag = new ResponseHeaderBag(array('ETag' => 'abcde'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('private'));
-        $this->assertTrue($bag->hasCacheControlDirective('must-revalidate'));
-        $this->assertFalse($bag->hasCacheControlDirective('max-age'));
-
-        $bag = new ResponseHeaderBag(array('Expires' => 'Wed, 16 Feb 2011 14:17:43 GMT'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array(
-            'Expires' => 'Wed, 16 Feb 2011 14:17:43 GMT',
-            'Cache-Control' => 'max-age=3600',
-        ));
-        $this->assertEquals('max-age=3600, private', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('Last-Modified' => 'abcde'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('Etag' => 'abcde', 'Last-Modified' => 'abcde'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 'max-age=100'));
-        $this->assertEquals('max-age=100, private', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 's-maxage=100'));
-        $this->assertEquals('s-maxage=100', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 'private, max-age=100'));
-        $this->assertEquals('max-age=100, private', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 'public, max-age=100'));
-        $this->assertEquals('max-age=100, public', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag();
-        $bag->set('Last-Modified', 'abcde');
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-    }
-
-    public function testToStringIncludesCookieHeaders()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $bag->setCookie(new Cookie('foo', 'bar'));
-
-        $this->assertContains('Set-Cookie: foo=bar; path=/; httponly', explode("\r\n", $bag->__toString()));
-
-        $bag->clearCookie('foo');
-
-        $this->assertContains('Set-Cookie: foo=deleted; expires='.gmdate('D, d-M-Y H:i:s T', time() - 31536001).'; path=/; httponly', explode("\r\n", $bag->__toString()));
-    }
-
-    public function testClearCookieSecureNotHttpOnly()
-    {
-        $bag = new ResponseHeaderBag(array());
-
-        $bag->clearCookie('foo', '/', null, true, false);
-
-        $this->assertContains("Set-Cookie: foo=deleted; expires=".gmdate("D, d-M-Y H:i:s T", time() - 31536001)."; path=/; secure", explode("\r\n", $bag->__toString()));
-    }
-
-    public function testReplace()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-
-        $bag->replace(array('Cache-Control' => 'public'));
-        $this->assertEquals('public', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-    }
-
-    public function testReplaceWithRemove()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-
-        $bag->remove('Cache-Control');
-        $bag->replace(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-    }
-
-    public function testCookiesWithSameNames()
-    {
-        $bag = new ResponseHeaderBag();
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar'));
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'foo.bar'));
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'bar.foo'));
-        $bag->setCookie(new Cookie('foo', 'bar'));
-
-        $this->assertCount(4, $bag->getCookies());
-
-        $headers = explode("\r\n", $bag->__toString());
-        $this->assertContains('Set-Cookie: foo=bar; path=/path/foo; domain=foo.bar; httponly', $headers);
-        $this->assertContains('Set-Cookie: foo=bar; path=/path/foo; domain=foo.bar; httponly', $headers);
-        $this->assertContains('Set-Cookie: foo=bar; path=/path/bar; domain=bar.foo; httponly', $headers);
-        $this->assertContains('Set-Cookie: foo=bar; path=/; httponly', $headers);
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertTrue(isset($cookies['foo.bar']['/path/foo']['foo']));
-        $this->assertTrue(isset($cookies['foo.bar']['/path/bar']['foo']));
-        $this->assertTrue(isset($cookies['bar.foo']['/path/bar']['foo']));
-        $this->assertTrue(isset($cookies['']['/']['foo']));
-    }
-
-    public function testRemoveCookie()
-    {
-        $bag = new ResponseHeaderBag();
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar'));
-        $bag->setCookie(new Cookie('bar', 'foo', 0, '/path/bar', 'foo.bar'));
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertTrue(isset($cookies['foo.bar']['/path/foo']));
-
-        $bag->removeCookie('foo', '/path/foo', 'foo.bar');
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['foo.bar']['/path/foo']));
-
-        $bag->removeCookie('bar', '/path/bar', 'foo.bar');
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['foo.bar']));
-    }
-
-    public function testRemoveCookieWithNullRemove()
-    {
-        $bag = new ResponseHeaderBag();
-        $bag->setCookie(new Cookie('foo', 'bar', 0));
-        $bag->setCookie(new Cookie('bar', 'foo', 0));
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertTrue(isset($cookies['']['/']));
-
-        $bag->removeCookie('foo', null);
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['']['/']['foo']));
-
-        $bag->removeCookie('bar', null);
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['']['/']['bar']));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetCookiesWithInvalidArgument()
-    {
-        $bag = new ResponseHeaderBag();
-
-        $cookies = $bag->getCookies('invalid_argument');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testMakeDispositionInvalidDisposition()
-    {
-        $headers = new ResponseHeaderBag();
-
-        $headers->makeDisposition('invalid', 'foo.html');
-    }
-
-    /**
-     * @dataProvider provideMakeDisposition
-     */
-    public function testMakeDisposition($disposition, $filename, $filenameFallback, $expected)
-    {
-        $headers = new ResponseHeaderBag();
-
-        $this->assertEquals($expected, $headers->makeDisposition($disposition, $filename, $filenameFallback));
-    }
-
-    public function testToStringDoesntMessUpHeaders()
-    {
-        $headers = new ResponseHeaderBag();
-
-        $headers->set('Location', 'http://www.symfony.com');
-        $headers->set('Content-type', 'text/html');
-
-        (string) $headers;
-
-        $allHeaders = $headers->allPreserveCase();
-        $this->assertEquals(array('http://www.symfony.com'), $allHeaders['Location']);
-        $this->assertEquals(array('text/html'), $allHeaders['Content-type']);
-    }
-
-    public function provideMakeDisposition()
-    {
-        return array(
-            array('attachment', 'foo.html', 'foo.html', 'attachment; filename="foo.html"'),
-            array('attachment', 'foo.html', '', 'attachment; filename="foo.html"'),
-            array('attachment', 'foo bar.html', '', 'attachment; filename="foo bar.html"'),
-            array('attachment', 'foo "bar".html', '', 'attachment; filename="foo \\"bar\\".html"'),
-            array('attachment', 'foo%20bar.html', 'foo bar.html', 'attachment; filename="foo bar.html"; filename*=utf-8\'\'foo%2520bar.html'),
-            array('attachment', 'föö.html', 'foo.html', 'attachment; filename="foo.html"; filename*=utf-8\'\'f%C3%B6%C3%B6.html'),
-        );
-    }
-
-    /**
-     * @dataProvider provideMakeDispositionFail
-     * @expectedException \InvalidArgumentException
-     */
-    public function testMakeDispositionFail($disposition, $filename)
-    {
-        $headers = new ResponseHeaderBag();
-
-        $headers->makeDisposition($disposition, $filename);
-    }
-
-    public function provideMakeDispositionFail()
-    {
-        return array(
-            array('attachment', 'foo%20bar.html'),
-            array('attachment', 'foo/bar.html'),
-            array('attachment', '/foo.html'),
-            array('attachment', 'foo\bar.html'),
-            array('attachment', '\foo.html'),
-            array('attachment', 'föö.html'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php
deleted file mode 100644
index 4319a39..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php
+++ /dev/null
@@ -1,874 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ResponseTest extends ResponseTestCase
-{
-    public function testCreate()
-    {
-        $response = Response::create('foo', 301, array('Foo' => 'bar'));
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
-        $this->assertEquals(301, $response->getStatusCode());
-        $this->assertEquals('bar', $response->headers->get('foo'));
-    }
-
-    public function testToString()
-    {
-        $response = new Response();
-        $response = explode("\r\n", $response);
-        $this->assertEquals('HTTP/1.0 200 OK', $response[0]);
-        $this->assertEquals('Cache-Control: no-cache', $response[1]);
-    }
-
-    public function testClone()
-    {
-        $response = new Response();
-        $responseClone = clone $response;
-        $this->assertEquals($response, $responseClone);
-    }
-
-    public function testSendHeaders()
-    {
-        $response = new Response();
-        $headers = $response->sendHeaders();
-        $this->assertObjectHasAttribute('headers', $headers);
-        $this->assertObjectHasAttribute('content', $headers);
-        $this->assertObjectHasAttribute('version', $headers);
-        $this->assertObjectHasAttribute('statusCode', $headers);
-        $this->assertObjectHasAttribute('statusText', $headers);
-        $this->assertObjectHasAttribute('charset', $headers);
-    }
-
-    public function testSend()
-    {
-        $response = new Response();
-        $responseSend = $response->send();
-        $this->assertObjectHasAttribute('headers', $responseSend);
-        $this->assertObjectHasAttribute('content', $responseSend);
-        $this->assertObjectHasAttribute('version', $responseSend);
-        $this->assertObjectHasAttribute('statusCode', $responseSend);
-        $this->assertObjectHasAttribute('statusText', $responseSend);
-        $this->assertObjectHasAttribute('charset', $responseSend);
-    }
-
-    public function testGetCharset()
-    {
-        $response = new Response();
-        $charsetOrigin = 'UTF-8';
-        $response->setCharset($charsetOrigin);
-        $charset = $response->getCharset();
-        $this->assertEquals($charsetOrigin, $charset);
-    }
-
-    public function testIsCacheable()
-    {
-        $response = new Response();
-        $this->assertFalse($response->isCacheable());
-    }
-
-    public function testIsCacheableWithErrorCode()
-    {
-        $response = new Response('', 500);
-        $this->assertFalse($response->isCacheable());
-    }
-
-    public function testIsCacheableWithNoStoreDirective()
-    {
-        $response = new Response();
-        $response->headers->set('cache-control', 'private');
-        $this->assertFalse($response->isCacheable());
-    }
-
-    public function testIsCacheableWithSetTtl()
-    {
-        $response = new Response();
-        $response->setTtl(10);
-        $this->assertTrue($response->isCacheable());
-    }
-
-    public function testMustRevalidate()
-    {
-        $response = new Response();
-        $this->assertFalse($response->mustRevalidate());
-    }
-
-    public function testSetNotModified()
-    {
-        $response = new Response();
-        $modified = $response->setNotModified();
-        $this->assertObjectHasAttribute('headers', $modified);
-        $this->assertObjectHasAttribute('content', $modified);
-        $this->assertObjectHasAttribute('version', $modified);
-        $this->assertObjectHasAttribute('statusCode', $modified);
-        $this->assertObjectHasAttribute('statusText', $modified);
-        $this->assertObjectHasAttribute('charset', $modified);
-        $this->assertEquals(304, $modified->getStatusCode());
-    }
-
-    public function testIsSuccessful()
-    {
-        $response = new Response();
-        $this->assertTrue($response->isSuccessful());
-    }
-
-    public function testIsNotModified()
-    {
-        $response = new Response();
-        $modified = $response->isNotModified(new Request());
-        $this->assertFalse($modified);
-    }
-
-    public function testIsNotModifiedNotSafe()
-    {
-        $request = Request::create('/homepage', 'POST');
-
-        $response = new Response();
-        $this->assertFalse($response->isNotModified($request));
-    }
-
-    public function testIsNotModifiedLastModified()
-    {
-        $before = 'Sun, 25 Aug 2013 18:32:31 GMT';
-        $modified = 'Sun, 25 Aug 2013 18:33:31 GMT';
-        $after = 'Sun, 25 Aug 2013 19:33:31 GMT';
-
-        $request = new Request();
-        $request->headers->set('If-Modified-Since', $modified);
-
-        $response = new Response();
-
-        $response->headers->set('Last-Modified', $modified);
-        $this->assertTrue($response->isNotModified($request));
-
-        $response->headers->set('Last-Modified', $before);
-        $this->assertTrue($response->isNotModified($request));
-
-        $response->headers->set('Last-Modified', $after);
-        $this->assertFalse($response->isNotModified($request));
-
-        $response->headers->set('Last-Modified', '');
-        $this->assertFalse($response->isNotModified($request));
-    }
-
-    public function testIsNotModifiedEtag()
-    {
-        $etagOne = 'randomly_generated_etag';
-        $etagTwo = 'randomly_generated_etag_2';
-
-        $request = new Request();
-        $request->headers->set('if_none_match', sprintf('%s, %s, %s', $etagOne, $etagTwo, 'etagThree'));
-
-        $response = new Response();
-
-        $response->headers->set('ETag', $etagOne);
-        $this->assertTrue($response->isNotModified($request));
-
-        $response->headers->set('ETag', $etagTwo);
-        $this->assertTrue($response->isNotModified($request));
-
-        $response->headers->set('ETag', '');
-        $this->assertFalse($response->isNotModified($request));
-    }
-
-    public function testIsNotModifiedLastModifiedAndEtag()
-    {
-        $before = 'Sun, 25 Aug 2013 18:32:31 GMT';
-        $modified = 'Sun, 25 Aug 2013 18:33:31 GMT';
-        $after = 'Sun, 25 Aug 2013 19:33:31 GMT';
-        $etag = 'randomly_generated_etag';
-
-        $request = new Request();
-        $request->headers->set('if_none_match', sprintf('%s, %s', $etag, 'etagThree'));
-        $request->headers->set('If-Modified-Since', $modified);
-
-        $response = new Response();
-
-        $response->headers->set('ETag', $etag);
-        $response->headers->set('Last-Modified', $after);
-        $this->assertFalse($response->isNotModified($request));
-
-        $response->headers->set('ETag', 'non-existent-etag');
-        $response->headers->set('Last-Modified', $before);
-        $this->assertFalse($response->isNotModified($request));
-
-        $response->headers->set('ETag', $etag);
-        $response->headers->set('Last-Modified', $modified);
-        $this->assertTrue($response->isNotModified($request));
-    }
-
-    public function testIsNotModifiedIfModifiedSinceAndEtagWithoutLastModified()
-    {
-        $modified = 'Sun, 25 Aug 2013 18:33:31 GMT';
-        $etag = 'randomly_generated_etag';
-
-        $request = new Request();
-        $request->headers->set('if_none_match', sprintf('%s, %s', $etag, 'etagThree'));
-        $request->headers->set('If-Modified-Since', $modified);
-
-        $response = new Response();
-
-        $response->headers->set('ETag', $etag);
-        $this->assertTrue($response->isNotModified($request));
-
-        $response->headers->set('ETag', 'non-existent-etag');
-        $this->assertFalse($response->isNotModified($request));
-    }
-
-    public function testIsValidateable()
-    {
-        $response = new Response('', 200, array('Last-Modified' => $this->createDateTimeOneHourAgo()->format(DATE_RFC2822)));
-        $this->assertTrue($response->isValidateable(), '->isValidateable() returns true if Last-Modified is present');
-
-        $response = new Response('', 200, array('ETag' => '"12345"'));
-        $this->assertTrue($response->isValidateable(), '->isValidateable() returns true if ETag is present');
-
-        $response = new Response();
-        $this->assertFalse($response->isValidateable(), '->isValidateable() returns false when no validator is present');
-    }
-
-    public function testGetDate()
-    {
-        $oneHourAgo = $this->createDateTimeOneHourAgo();
-        $response = new Response('', 200, array('Date' => $oneHourAgo->format(DATE_RFC2822)));
-        $this->assertEquals(0, $oneHourAgo->diff($response->getDate())->format('%s'), '->getDate() returns the Date header if present');
-
-        $response = new Response();
-        $date = $response->getDate();
-        $this->assertLessThan(1, $date->diff(new \DateTime(), true)->format('%s'), '->getDate() returns the current Date if no Date header present');
-
-        $response = new Response('', 200, array('Date' => $this->createDateTimeOneHourAgo()->format(DATE_RFC2822)));
-        $now = $this->createDateTimeNow();
-        $response->headers->set('Date', $now->format(DATE_RFC2822));
-        $this->assertLessThanOrEqual(1, $now->diff($response->getDate())->format('%s'), '->getDate() returns the date when the header has been modified');
-
-        $response = new Response('', 200);
-        $response->headers->remove('Date');
-        $this->assertInstanceOf('\DateTime', $response->getDate());
-    }
-
-    public function testGetMaxAge()
-    {
-        $response = new Response();
-        $response->headers->set('Cache-Control', 's-maxage=600, max-age=0');
-        $this->assertEquals(600, $response->getMaxAge(), '->getMaxAge() uses s-maxage cache control directive when present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=600');
-        $this->assertEquals(600, $response->getMaxAge(), '->getMaxAge() falls back to max-age when no s-maxage directive present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'must-revalidate');
-        $response->headers->set('Expires', $this->createDateTimeOneHourLater()->format(DATE_RFC2822));
-        $this->assertLessThanOrEqual(1, $response->getMaxAge() - 3600, '->getMaxAge() falls back to Expires when no max-age or s-maxage directive present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'must-revalidate');
-        $response->headers->set('Expires', -1);
-        $this->assertEquals('Sat, 01 Jan 00 00:00:00 +0000', $response->getExpires()->format(DATE_RFC822));
-
-        $response = new Response();
-        $this->assertNull($response->getMaxAge(), '->getMaxAge() returns null if no freshness information available');
-    }
-
-    public function testSetSharedMaxAge()
-    {
-        $response = new Response();
-        $response->setSharedMaxAge(20);
-
-        $cacheControl = $response->headers->get('Cache-Control');
-        $this->assertEquals('public, s-maxage=20', $cacheControl);
-    }
-
-    public function testIsPrivate()
-    {
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=100');
-        $response->setPrivate();
-        $this->assertEquals(100, $response->headers->getCacheControlDirective('max-age'), '->isPrivate() adds the private Cache-Control directive when set to true');
-        $this->assertTrue($response->headers->getCacheControlDirective('private'), '->isPrivate() adds the private Cache-Control directive when set to true');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'public, max-age=100');
-        $response->setPrivate();
-        $this->assertEquals(100, $response->headers->getCacheControlDirective('max-age'), '->isPrivate() adds the private Cache-Control directive when set to true');
-        $this->assertTrue($response->headers->getCacheControlDirective('private'), '->isPrivate() adds the private Cache-Control directive when set to true');
-        $this->assertFalse($response->headers->hasCacheControlDirective('public'), '->isPrivate() removes the public Cache-Control directive');
-    }
-
-    public function testExpire()
-    {
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=100');
-        $response->expire();
-        $this->assertEquals(100, $response->headers->get('Age'), '->expire() sets the Age to max-age when present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=100, s-maxage=500');
-        $response->expire();
-        $this->assertEquals(500, $response->headers->get('Age'), '->expire() sets the Age to s-maxage when both max-age and s-maxage are present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=5, s-maxage=500');
-        $response->headers->set('Age', '1000');
-        $response->expire();
-        $this->assertEquals(1000, $response->headers->get('Age'), '->expire() does nothing when the response is already stale/expired');
-
-        $response = new Response();
-        $response->expire();
-        $this->assertFalse($response->headers->has('Age'), '->expire() does nothing when the response does not include freshness information');
-
-        $response = new Response();
-        $response->headers->set('Expires', -1);
-        $response->expire();
-        $this->assertNull($response->headers->get('Age'), '->expire() does not set the Age when the response is expired');
-    }
-
-    public function testGetTtl()
-    {
-        $response = new Response();
-        $this->assertNull($response->getTtl(), '->getTtl() returns null when no Expires or Cache-Control headers are present');
-
-        $response = new Response();
-        $response->headers->set('Expires', $this->createDateTimeOneHourLater()->format(DATE_RFC2822));
-        $this->assertLessThanOrEqual(1, 3600 - $response->getTtl(), '->getTtl() uses the Expires header when no max-age is present');
-
-        $response = new Response();
-        $response->headers->set('Expires', $this->createDateTimeOneHourAgo()->format(DATE_RFC2822));
-        $this->assertLessThan(0, $response->getTtl(), '->getTtl() returns negative values when Expires is in past');
-
-        $response = new Response();
-        $response->headers->set('Expires', $response->getDate()->format(DATE_RFC2822));
-        $response->headers->set('Age', 0);
-        $this->assertSame(0, $response->getTtl(), '->getTtl() correctly handles zero');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=60');
-        $this->assertLessThan(1, 60 - $response->getTtl(), '->getTtl() uses Cache-Control max-age when present');
-    }
-
-    public function testSetClientTtl()
-    {
-        $response = new Response();
-        $response->setClientTtl(10);
-
-        $this->assertEquals($response->getMaxAge(), $response->getAge() + 10);
-    }
-
-    public function testGetSetProtocolVersion()
-    {
-        $response = new Response();
-
-        $this->assertEquals('1.0', $response->getProtocolVersion());
-
-        $response->setProtocolVersion('1.1');
-
-        $this->assertEquals('1.1', $response->getProtocolVersion());
-    }
-
-    public function testGetVary()
-    {
-        $response = new Response();
-        $this->assertEquals(array(), $response->getVary(), '->getVary() returns an empty array if no Vary header is present');
-
-        $response = new Response();
-        $response->headers->set('Vary', 'Accept-Language');
-        $this->assertEquals(array('Accept-Language'), $response->getVary(), '->getVary() parses a single header name value');
-
-        $response = new Response();
-        $response->headers->set('Vary', 'Accept-Language User-Agent    X-Foo');
-        $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->getVary() parses multiple header name values separated by spaces');
-
-        $response = new Response();
-        $response->headers->set('Vary', 'Accept-Language,User-Agent,    X-Foo');
-        $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->getVary() parses multiple header name values separated by commas');
-
-        $vary = array('Accept-Language', 'User-Agent', 'X-foo');
-
-        $response = new Response();
-        $response->headers->set('Vary', $vary);
-        $this->assertEquals($vary, $response->getVary(), '->getVary() parses multiple header name values in arrays');
-
-        $response = new Response();
-        $response->headers->set('Vary', 'Accept-Language, User-Agent, X-foo');
-        $this->assertEquals($vary, $response->getVary(), '->getVary() parses multiple header name values in arrays');
-    }
-
-    public function testSetVary()
-    {
-        $response = new Response();
-        $response->setVary('Accept-Language');
-        $this->assertEquals(array('Accept-Language'), $response->getVary());
-
-        $response->setVary('Accept-Language, User-Agent');
-        $this->assertEquals(array('Accept-Language', 'User-Agent'), $response->getVary(), '->setVary() replace the vary header by default');
-
-        $response->setVary('X-Foo', false);
-        $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->setVary() doesn\'t wipe out earlier Vary headers if replace is set to false');
-    }
-
-    public function testDefaultContentType()
-    {
-        $headerMock = $this->getMock('Symfony\Component\HttpFoundation\ResponseHeaderBag', array('set'));
-        $headerMock->expects($this->at(0))
-            ->method('set')
-            ->with('Content-Type', 'text/html');
-        $headerMock->expects($this->at(1))
-            ->method('set')
-            ->with('Content-Type', 'text/html; charset=UTF-8');
-
-        $response = new Response('foo');
-        $response->headers = $headerMock;
-
-        $response->prepare(new Request());
-    }
-
-    public function testContentTypeCharset()
-    {
-        $response = new Response();
-        $response->headers->set('Content-Type', 'text/css');
-
-        // force fixContentType() to be called
-        $response->prepare(new Request());
-
-        $this->assertEquals('text/css; charset=UTF-8', $response->headers->get('Content-Type'));
-    }
-
-    public function testPrepareDoesNothingIfContentTypeIsSet()
-    {
-        $response = new Response('foo');
-        $response->headers->set('Content-Type', 'text/plain');
-
-        $response->prepare(new Request());
-
-        $this->assertEquals('text/plain; charset=UTF-8', $response->headers->get('content-type'));
-    }
-
-    public function testPrepareDoesNothingIfRequestFormatIsNotDefined()
-    {
-        $response = new Response('foo');
-
-        $response->prepare(new Request());
-
-        $this->assertEquals('text/html; charset=UTF-8', $response->headers->get('content-type'));
-    }
-
-    public function testPrepareSetContentType()
-    {
-        $response = new Response('foo');
-        $request = Request::create('/');
-        $request->setRequestFormat('json');
-
-        $response->prepare($request);
-
-        $this->assertEquals('application/json', $response->headers->get('content-type'));
-    }
-
-    public function testPrepareRemovesContentForHeadRequests()
-    {
-        $response = new Response('foo');
-        $request = Request::create('/', 'HEAD');
-
-        $length = 12345;
-        $response->headers->set('Content-Length', $length);
-        $response->prepare($request);
-
-        $this->assertEquals('', $response->getContent());
-        $this->assertEquals($length, $response->headers->get('Content-Length'), 'Content-Length should be as if it was GET; see RFC2616 14.13');
-    }
-
-    public function testPrepareRemovesContentForInformationalResponse()
-    {
-        $response = new Response('foo');
-        $request = Request::create('/');
-
-        $response->setContent('content');
-        $response->setStatusCode(101);
-        $response->prepare($request);
-        $this->assertEquals('', $response->getContent());
-        $this->assertFalse($response->headers->has('Content-Type'));
-        $this->assertFalse($response->headers->has('Content-Type'));
-
-        $response->setContent('content');
-        $response->setStatusCode(304);
-        $response->prepare($request);
-        $this->assertEquals('', $response->getContent());
-        $this->assertFalse($response->headers->has('Content-Type'));
-        $this->assertFalse($response->headers->has('Content-Length'));
-    }
-
-    public function testPrepareRemovesContentLength()
-    {
-        $response = new Response('foo');
-        $request = Request::create('/');
-
-        $response->headers->set('Content-Length', 12345);
-        $response->prepare($request);
-        $this->assertEquals(12345, $response->headers->get('Content-Length'));
-
-        $response->headers->set('Transfer-Encoding', 'chunked');
-        $response->prepare($request);
-        $this->assertFalse($response->headers->has('Content-Length'));
-    }
-
-    public function testPrepareSetsPragmaOnHttp10Only()
-    {
-        $request = Request::create('/', 'GET');
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.0');
-
-        $response = new Response('foo');
-        $response->prepare($request);
-        $this->assertEquals('no-cache', $response->headers->get('pragma'));
-        $this->assertEquals('-1', $response->headers->get('expires'));
-
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.1');
-        $response = new Response('foo');
-        $response->prepare($request);
-        $this->assertFalse($response->headers->has('pragma'));
-        $this->assertFalse($response->headers->has('expires'));
-    }
-
-    public function testSetCache()
-    {
-        $response = new Response();
-        //array('etag', 'last_modified', 'max_age', 's_maxage', 'private', 'public')
-        try {
-            $response->setCache(array('wrong option' => 'value'));
-            $this->fail('->setCache() throws an InvalidArgumentException if an option is not supported');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->setCache() throws an InvalidArgumentException if an option is not supported');
-            $this->assertContains('"wrong option"', $e->getMessage());
-        }
-
-        $options = array('etag' => '"whatever"');
-        $response->setCache($options);
-        $this->assertEquals($response->getEtag(), '"whatever"');
-
-        $now = new \DateTime();
-        $options = array('last_modified' => $now);
-        $response->setCache($options);
-        $this->assertEquals($response->getLastModified()->getTimestamp(), $now->getTimestamp());
-
-        $options = array('max_age' => 100);
-        $response->setCache($options);
-        $this->assertEquals($response->getMaxAge(), 100);
-
-        $options = array('s_maxage' => 200);
-        $response->setCache($options);
-        $this->assertEquals($response->getMaxAge(), 200);
-
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('public' => true));
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('public' => false));
-        $this->assertFalse($response->headers->hasCacheControlDirective('public'));
-        $this->assertTrue($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('private' => true));
-        $this->assertFalse($response->headers->hasCacheControlDirective('public'));
-        $this->assertTrue($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('private' => false));
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-    }
-
-    public function testSendContent()
-    {
-        $response = new Response('test response rendering', 200);
-
-        ob_start();
-        $response->sendContent();
-        $string = ob_get_clean();
-        $this->assertContains('test response rendering', $string);
-    }
-
-    public function testSetPublic()
-    {
-        $response = new Response();
-        $response->setPublic();
-
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-    }
-
-    public function testSetExpires()
-    {
-        $response = new Response();
-        $response->setExpires(null);
-
-        $this->assertNull($response->getExpires(), '->setExpires() remove the header when passed null');
-
-        $now = new \DateTime();
-        $response->setExpires($now);
-
-        $this->assertEquals($response->getExpires()->getTimestamp(), $now->getTimestamp());
-    }
-
-    public function testSetLastModified()
-    {
-        $response = new Response();
-        $response->setLastModified(new \DateTime());
-        $this->assertNotNull($response->getLastModified());
-
-        $response->setLastModified(null);
-        $this->assertNull($response->getLastModified());
-    }
-
-    public function testIsInvalid()
-    {
-        $response = new Response();
-
-        try {
-            $response->setStatusCode(99);
-            $this->fail();
-        } catch (\InvalidArgumentException $e) {
-            $this->assertTrue($response->isInvalid());
-        }
-
-        try {
-            $response->setStatusCode(650);
-            $this->fail();
-        } catch (\InvalidArgumentException $e) {
-            $this->assertTrue($response->isInvalid());
-        }
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isInvalid());
-    }
-
-    /**
-     * @dataProvider getStatusCodeFixtures
-     */
-    public function testSetStatusCode($code, $text, $expectedText)
-    {
-        $response = new Response();
-
-        $response->setStatusCode($code, $text);
-
-        $statusText = new \ReflectionProperty($response, 'statusText');
-        $statusText->setAccessible(true);
-
-        $this->assertEquals($expectedText, $statusText->getValue($response));
-    }
-
-    public function getStatusCodeFixtures()
-    {
-        return array(
-            array('200', null, 'OK'),
-            array('200', false, ''),
-            array('200', 'foo', 'foo'),
-            array('199', null, ''),
-            array('199', false, ''),
-            array('199', 'foo', 'foo'),
-        );
-    }
-
-    public function testIsInformational()
-    {
-        $response = new Response('', 100);
-        $this->assertTrue($response->isInformational());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isInformational());
-    }
-
-    public function testIsRedirectRedirection()
-    {
-        foreach (array(301, 302, 303, 307) as $code) {
-            $response = new Response('', $code);
-            $this->assertTrue($response->isRedirection());
-            $this->assertTrue($response->isRedirect());
-        }
-
-        $response = new Response('', 304);
-        $this->assertTrue($response->isRedirection());
-        $this->assertFalse($response->isRedirect());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isRedirection());
-        $this->assertFalse($response->isRedirect());
-
-        $response = new Response('', 404);
-        $this->assertFalse($response->isRedirection());
-        $this->assertFalse($response->isRedirect());
-
-        $response = new Response('', 301, array('Location' => '/good-uri'));
-        $this->assertFalse($response->isRedirect('/bad-uri'));
-        $this->assertTrue($response->isRedirect('/good-uri'));
-    }
-
-    public function testIsNotFound()
-    {
-        $response = new Response('', 404);
-        $this->assertTrue($response->isNotFound());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isNotFound());
-    }
-
-    public function testIsEmpty()
-    {
-        foreach (array(204, 304) as $code) {
-            $response = new Response('', $code);
-            $this->assertTrue($response->isEmpty());
-        }
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isEmpty());
-    }
-
-    public function testIsForbidden()
-    {
-        $response = new Response('', 403);
-        $this->assertTrue($response->isForbidden());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isForbidden());
-    }
-
-    public function testIsOk()
-    {
-        $response = new Response('', 200);
-        $this->assertTrue($response->isOk());
-
-        $response = new Response('', 404);
-        $this->assertFalse($response->isOk());
-    }
-
-    public function testIsServerOrClientError()
-    {
-        $response = new Response('', 404);
-        $this->assertTrue($response->isClientError());
-        $this->assertFalse($response->isServerError());
-
-        $response = new Response('', 500);
-        $this->assertFalse($response->isClientError());
-        $this->assertTrue($response->isServerError());
-    }
-
-    public function testHasVary()
-    {
-        $response = new Response();
-        $this->assertFalse($response->hasVary());
-
-        $response->setVary('User-Agent');
-        $this->assertTrue($response->hasVary());
-    }
-
-    public function testSetEtag()
-    {
-        $response = new Response('', 200, array('ETag' => '"12345"'));
-        $response->setEtag();
-
-        $this->assertNull($response->headers->get('Etag'), '->setEtag() removes Etags when call with null');
-    }
-
-    /**
-     * @dataProvider validContentProvider
-     */
-    public function testSetContent($content)
-    {
-        $response = new Response();
-        $response->setContent($content);
-        $this->assertEquals((string) $content, $response->getContent());
-    }
-
-    /**
-     * @expectedException \UnexpectedValueException
-     * @dataProvider invalidContentProvider
-     */
-    public function testSetContentInvalid($content)
-    {
-        $response = new Response();
-        $response->setContent($content);
-    }
-
-    public function testSettersAreChainable()
-    {
-        $response = new Response();
-
-        $setters = array(
-            'setProtocolVersion' => '1.0',
-            'setCharset' => 'UTF-8',
-            'setPublic' => null,
-            'setPrivate' => null,
-            'setDate' => new \DateTime(),
-            'expire' => null,
-            'setMaxAge' => 1,
-            'setSharedMaxAge' => 1,
-            'setTtl' => 1,
-            'setClientTtl' => 1,
-        );
-
-        foreach ($setters as $setter => $arg) {
-            $this->assertEquals($response, $response->{$setter}($arg));
-        }
-    }
-
-    public function validContentProvider()
-    {
-        return array(
-            'obj' => array(new StringableObject()),
-            'string' => array('Foo'),
-            'int' => array(2),
-        );
-    }
-
-    public function invalidContentProvider()
-    {
-        return array(
-            'obj' => array(new \stdClass()),
-            'array' => array(array()),
-            'bool' => array(true, '1'),
-        );
-    }
-
-    protected function createDateTimeOneHourAgo()
-    {
-        $date = new \DateTime();
-
-        return $date->sub(new \DateInterval('PT1H'));
-    }
-
-    protected function createDateTimeOneHourLater()
-    {
-        $date = new \DateTime();
-
-        return $date->add(new \DateInterval('PT1H'));
-    }
-
-    protected function createDateTimeNow()
-    {
-        return new \DateTime();
-    }
-
-    protected function provideResponse()
-    {
-        return new Response();
-    }
-}
-
-class StringableObject
-{
-    public function __toString()
-    {
-        return 'Foo';
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTestCase.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTestCase.php
deleted file mode 100644
index 94c770a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTestCase.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Request;
-
-abstract class ResponseTestCase extends \PHPUnit_Framework_TestCase
-{
-    public function testNoCacheControlHeaderOnAttachmentUsingHTTPSAndMSIE()
-    {
-        // Check for HTTPS and IE 8
-        $request = new Request();
-        $request->server->set('HTTPS', true);
-        $request->server->set('HTTP_USER_AGENT', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');
-
-        $response = $this->provideResponse();
-        $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"');
-        $response->prepare($request);
-
-        $this->assertFalse($response->headers->has('Cache-Control'));
-
-        // Check for IE 10 and HTTPS
-        $request->server->set('HTTP_USER_AGENT', 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)');
-
-        $response = $this->provideResponse();
-        $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"');
-        $response->prepare($request);
-
-        $this->assertTrue($response->headers->has('Cache-Control'));
-
-        // Check for IE 9 and HTTPS
-        $request->server->set('HTTP_USER_AGENT', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 7.1; Trident/5.0)');
-
-        $response = $this->provideResponse();
-        $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"');
-        $response->prepare($request);
-
-        $this->assertTrue($response->headers->has('Cache-Control'));
-
-        // Check for IE 9 and HTTP
-        $request->server->set('HTTPS', false);
-
-        $response = $this->provideResponse();
-        $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"');
-        $response->prepare($request);
-
-        $this->assertTrue($response->headers->has('Cache-Control'));
-
-        // Check for IE 8 and HTTP
-        $request->server->set('HTTP_USER_AGENT', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');
-
-        $response = $this->provideResponse();
-        $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"');
-        $response->prepare($request);
-
-        $this->assertTrue($response->headers->has('Cache-Control'));
-
-        // Check for non-IE and HTTPS
-        $request->server->set('HTTPS', true);
-        $request->server->set('HTTP_USER_AGENT', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17');
-
-        $response = $this->provideResponse();
-        $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"');
-        $response->prepare($request);
-
-        $this->assertTrue($response->headers->has('Cache-Control'));
-
-        // Check for non-IE and HTTP
-        $request->server->set('HTTPS', false);
-
-        $response = $this->provideResponse();
-        $response->headers->set('Content-Disposition', 'attachment; filename="fname.ext"');
-        $response->prepare($request);
-
-        $this->assertTrue($response->headers->has('Cache-Control'));
-    }
-
-    abstract protected function provideResponse();
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php
deleted file mode 100644
index 7bc8f02..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ServerBag;
-
-/**
- * ServerBagTest.
- *
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- */
-class ServerBagTest extends \PHPUnit_Framework_TestCase
-{
-    public function testShouldExtractHeadersFromServerArray()
-    {
-        $server = array(
-            'SOME_SERVER_VARIABLE' => 'value',
-            'SOME_SERVER_VARIABLE2' => 'value',
-            'ROOT' => 'value',
-            'HTTP_CONTENT_TYPE' => 'text/html',
-            'HTTP_CONTENT_LENGTH' => '0',
-            'HTTP_ETAG' => 'asdf',
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => 'bar',
-        );
-
-        $bag = new ServerBag($server);
-
-        $this->assertEquals(array(
-            'CONTENT_TYPE' => 'text/html',
-            'CONTENT_LENGTH' => '0',
-            'ETAG' => 'asdf',
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => 'bar',
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpPasswordIsOptional()
-    {
-        $bag = new ServerBag(array('PHP_AUTH_USER' => 'foo'));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => '',
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpBasicAuthWithPhpCgi()
-    {
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => 'bar',
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpBasicAuthWithPhpCgiBogus()
-    {
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => 'Basic_'.base64_encode('foo:bar')));
-
-        // Username and passwords should not be set as the header is bogus
-        $headers = $bag->getHeaders();
-        $this->assertFalse(isset($headers['PHP_AUTH_USER']));
-        $this->assertFalse(isset($headers['PHP_AUTH_PW']));
-    }
-
-    public function testHttpBasicAuthWithPhpCgiRedirect()
-    {
-        $bag = new ServerBag(array('REDIRECT_HTTP_AUTHORIZATION' => 'Basic '.base64_encode('username:pass:word')));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('username:pass:word'),
-            'PHP_AUTH_USER' => 'username',
-            'PHP_AUTH_PW' => 'pass:word',
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpBasicAuthWithPhpCgiEmptyPassword()
-    {
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:')));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => '',
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpDigestAuthWithPhpCgi()
-    {
-        $digest = 'Digest username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => $digest));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => $digest,
-            'PHP_AUTH_DIGEST' => $digest,
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpDigestAuthWithPhpCgiBogus()
-    {
-        $digest = 'Digest_username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => $digest));
-
-        // Username and passwords should not be set as the header is bogus
-        $headers = $bag->getHeaders();
-        $this->assertFalse(isset($headers['PHP_AUTH_USER']));
-        $this->assertFalse(isset($headers['PHP_AUTH_PW']));
-    }
-
-    public function testHttpDigestAuthWithPhpCgiRedirect()
-    {
-        $digest = 'Digest username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
-        $bag = new ServerBag(array('REDIRECT_HTTP_AUTHORIZATION' => $digest));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => $digest,
-            'PHP_AUTH_DIGEST' => $digest,
-        ), $bag->getHeaders());
-    }
-
-    public function testOAuthBearerAuth()
-    {
-        $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => $headerContent));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => $headerContent,
-        ), $bag->getHeaders());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php
deleted file mode 100644
index d291590..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Attribute;
-
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-
-/**
- * Tests AttributeBag.
- *
- * @author Drak <drak@zikula.org>
- */
-class AttributeBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var array
-     */
-    private $array;
-
-    /**
-     * @var AttributeBag
-     */
-    private $bag;
-
-    protected function setUp()
-    {
-        $this->array = array(
-            'hello' => 'world',
-            'always' => 'be happy',
-            'user.login' => 'drak',
-            'csrf.token' => array(
-                'a' => '1234',
-                'b' => '4321',
-            ),
-            'category' => array(
-                'fishing' => array(
-                    'first' => 'cod',
-                    'second' => 'sole',),
-                ),
-        );
-        $this->bag = new AttributeBag('_sf2');
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->bag = null;
-        $this->array = array();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new AttributeBag();
-        $bag->initialize($this->array);
-        $this->assertEquals($this->array, $bag->all());
-        $array = array('should' => 'change');
-        $bag->initialize($array);
-        $this->assertEquals($array, $bag->all());
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2', $this->bag->getStorageKey());
-        $attributeBag = new AttributeBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('attributes', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testHas($key, $value, $exists)
-    {
-        $this->assertEquals($exists, $this->bag->has($key));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testGet($key, $value, $expected)
-    {
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testGetDefaults()
-    {
-        $this->assertNull($this->bag->get('user2.login'));
-        $this->assertEquals('default', $this->bag->get('user2.login', 'default'));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testSet($key, $value, $expected)
-    {
-        $this->bag->set($key, $value);
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testAll()
-    {
-        $this->assertEquals($this->array, $this->bag->all());
-
-        $this->bag->set('hello', 'fabien');
-        $array = $this->array;
-        $array['hello'] = 'fabien';
-        $this->assertEquals($array, $this->bag->all());
-    }
-
-    public function testReplace()
-    {
-        $array = array();
-        $array['name'] = 'jack';
-        $array['foo.bar'] = 'beep';
-        $this->bag->replace($array);
-        $this->assertEquals($array, $this->bag->all());
-        $this->assertNull($this->bag->get('hello'));
-        $this->assertNull($this->bag->get('always'));
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testRemove()
-    {
-        $this->assertEquals('world', $this->bag->get('hello'));
-        $this->bag->remove('hello');
-        $this->assertNull($this->bag->get('hello'));
-
-        $this->assertEquals('be happy', $this->bag->get('always'));
-        $this->bag->remove('always');
-        $this->assertNull($this->bag->get('always'));
-
-        $this->assertEquals('drak', $this->bag->get('user.login'));
-        $this->bag->remove('user.login');
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testClear()
-    {
-        $this->bag->clear();
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function attributesProvider()
-    {
-        return array(
-            array('hello', 'world', true),
-            array('always', 'be happy', true),
-            array('user.login', 'drak', true),
-            array('csrf.token', array('a' => '1234', 'b' => '4321'), true),
-            array('category', array('fishing' => array('first' => 'cod', 'second' => 'sole')), true),
-            array('user2.login', null, false),
-            array('never', null, false),
-            array('bye', null, false),
-            array('bye/for/now', null, false),
-        );
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $i = 0;
-        foreach ($this->bag as $key => $val) {
-            $this->assertEquals($this->array[$key], $val);
-            $i++;
-        }
-
-        $this->assertEquals(count($this->array), $i);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::count
-     */
-    public function testCount()
-    {
-        $this->assertEquals(count($this->array), count($this->bag));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
deleted file mode 100644
index b8261da..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
+++ /dev/null
@@ -1,183 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Attribute;
-
-use Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag;
-
-/**
- * Tests NamespacedAttributeBag.
- *
- * @author Drak <drak@zikula.org>
- */
-class NamespacedAttributeBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var array
-     */
-    private $array;
-
-    /**
-     * @var NamespacedAttributeBag
-     */
-    private $bag;
-
-    protected function setUp()
-    {
-        $this->array = array(
-            'hello' => 'world',
-            'always' => 'be happy',
-            'user.login' => 'drak',
-            'csrf.token' => array(
-                'a' => '1234',
-                'b' => '4321',
-            ),
-            'category' => array(
-                'fishing' => array(
-                    'first' => 'cod',
-                    'second' => 'sole',),
-                ),
-        );
-        $this->bag = new NamespacedAttributeBag('_sf2', '/');
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->bag = null;
-        $this->array = array();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new NamespacedAttributeBag();
-        $bag->initialize($this->array);
-        $this->assertEquals($this->array, $this->bag->all());
-        $array = array('should' => 'not stick');
-        $bag->initialize($array);
-
-        // should have remained the same
-        $this->assertEquals($this->array, $this->bag->all());
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2', $this->bag->getStorageKey());
-        $attributeBag = new NamespacedAttributeBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testHas($key, $value, $exists)
-    {
-        $this->assertEquals($exists, $this->bag->has($key));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testGet($key, $value, $expected)
-    {
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testGetDefaults()
-    {
-        $this->assertNull($this->bag->get('user2.login'));
-        $this->assertEquals('default', $this->bag->get('user2.login', 'default'));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testSet($key, $value, $expected)
-    {
-        $this->bag->set($key, $value);
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testAll()
-    {
-        $this->assertEquals($this->array, $this->bag->all());
-
-        $this->bag->set('hello', 'fabien');
-        $array = $this->array;
-        $array['hello'] = 'fabien';
-        $this->assertEquals($array, $this->bag->all());
-    }
-
-    public function testReplace()
-    {
-        $array = array();
-        $array['name'] = 'jack';
-        $array['foo.bar'] = 'beep';
-        $this->bag->replace($array);
-        $this->assertEquals($array, $this->bag->all());
-        $this->assertNull($this->bag->get('hello'));
-        $this->assertNull($this->bag->get('always'));
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testRemove()
-    {
-        $this->assertEquals('world', $this->bag->get('hello'));
-        $this->bag->remove('hello');
-        $this->assertNull($this->bag->get('hello'));
-
-        $this->assertEquals('be happy', $this->bag->get('always'));
-        $this->bag->remove('always');
-        $this->assertNull($this->bag->get('always'));
-
-        $this->assertEquals('drak', $this->bag->get('user.login'));
-        $this->bag->remove('user.login');
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testRemoveExistingNamespacedAttribute()
-    {
-        $this->assertSame('cod', $this->bag->remove('category/fishing/first'));
-    }
-
-    public function testRemoveNonexistingNamespacedAttribute()
-    {
-        $this->assertNull($this->bag->remove('foo/bar/baz'));
-    }
-
-    public function testClear()
-    {
-        $this->bag->clear();
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function attributesProvider()
-    {
-        return array(
-            array('hello', 'world', true),
-            array('always', 'be happy', true),
-            array('user.login', 'drak', true),
-            array('csrf.token', array('a' => '1234', 'b' => '4321'), true),
-            array('csrf.token/a', '1234', true),
-            array('csrf.token/b', '4321', true),
-            array('category', array('fishing' => array('first' => 'cod', 'second' => 'sole')), true),
-            array('category/fishing', array('first' => 'cod', 'second' => 'sole'), true),
-            array('category/fishing/missing/first', null, false),
-            array('category/fishing/first', 'cod', true),
-            array('category/fishing/second', 'sole', true),
-            array('category/fishing/missing/second', null, false),
-            array('user2.login', null, false),
-            array('never', null, false),
-            array('bye', null, false),
-            array('bye/for/now', null, false),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
deleted file mode 100644
index 852158f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Flash;
-
-use Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag as FlashBag;
-
-/**
- * AutoExpireFlashBagTest.
- *
- * @author Drak <drak@zikula.org>
- */
-class AutoExpireFlashBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag
-     */
-    private $bag;
-
-    /**
-     * @var array
-     */
-    protected $array = array();
-
-    protected function setUp()
-    {
-        parent::setUp();
-        $this->bag = new FlashBag();
-        $this->array = array('new' => array('notice' => array('A previous flash message')));
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->bag = null;
-        parent::tearDown();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new FlashBag();
-        $array = array('new' => array('notice' => array('A previous flash message')));
-        $bag->initialize($array);
-        $this->assertEquals(array('A previous flash message'), $bag->peek('notice'));
-        $array = array('new' => array(
-                'notice' => array('Something else'),
-                'error' => array('a'),
-            ));
-        $bag->initialize($array);
-        $this->assertEquals(array('Something else'), $bag->peek('notice'));
-        $this->assertEquals(array('a'), $bag->peek('error'));
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2_flashes', $this->bag->getStorageKey());
-        $attributeBag = new FlashBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('flashes', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-    }
-
-    public function testPeek()
-    {
-        $this->assertEquals(array(), $this->bag->peek('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->peek('non_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-    }
-
-    public function testSet()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-    }
-
-    public function testHas()
-    {
-        $this->assertFalse($this->bag->has('nothing'));
-        $this->assertTrue($this->bag->has('notice'));
-    }
-
-    public function testKeys()
-    {
-        $this->assertEquals(array('notice'), $this->bag->keys());
-    }
-
-    public function testPeekAll()
-    {
-        $array = array(
-            'new' => array(
-                'notice' => 'Foo',
-                'error' => 'Bar',
-            ),
-        );
-
-        $this->bag->initialize($array);
-        $this->assertEquals(array(
-            'notice' => 'Foo',
-            'error' => 'Bar',
-            ), $this->bag->peekAll()
-        );
-
-        $this->assertEquals(array(
-            'notice' => 'Foo',
-            'error' => 'Bar',
-            ), $this->bag->peekAll()
-        );
-    }
-
-    public function testGet()
-    {
-        $this->assertEquals(array(), $this->bag->get('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->get('non_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->get('notice'));
-        $this->assertEquals(array(), $this->bag->get('notice'));
-    }
-
-    public function testSetAll()
-    {
-        $this->bag->setAll(array('a' => 'first', 'b' => 'second'));
-        $this->assertFalse($this->bag->has('a'));
-        $this->assertFalse($this->bag->has('b'));
-    }
-
-    public function testAll()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('error', 'Bar');
-        $this->assertEquals(array(
-            'notice' => array('A previous flash message'),
-            ), $this->bag->all()
-        );
-
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function testClear()
-    {
-        $this->assertEquals(array('notice' => array('A previous flash message')), $this->bag->clear());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php
deleted file mode 100644
index 6b529ab..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Flash;
-
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-
-/**
- * FlashBagTest.
- *
- * @author Drak <drak@zikula.org>
- */
-class FlashBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface
-     */
-    private $bag;
-
-    /**
-     * @var array
-     */
-    protected $array = array();
-
-    protected function setUp()
-    {
-        parent::setUp();
-        $this->bag = new FlashBag();
-        $this->array = array('notice' => array('A previous flash message'));
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->bag = null;
-        parent::tearDown();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new FlashBag();
-        $bag->initialize($this->array);
-        $this->assertEquals($this->array, $bag->peekAll());
-        $array = array('should' => array('change'));
-        $bag->initialize($array);
-        $this->assertEquals($array, $bag->peekAll());
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2_flashes', $this->bag->getStorageKey());
-        $attributeBag = new FlashBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('flashes', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-    }
-
-    public function testPeek()
-    {
-        $this->assertEquals(array(), $this->bag->peek('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->peek('not_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-    }
-
-    public function testGet()
-    {
-        $this->assertEquals(array(), $this->bag->get('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->get('not_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->get('notice'));
-        $this->assertEquals(array(), $this->bag->get('notice'));
-    }
-
-    public function testAll()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('error', 'Bar');
-        $this->assertEquals(array(
-            'notice' => array('Foo'),
-            'error' => array('Bar'), ), $this->bag->all()
-        );
-
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function testSet()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('notice', 'Bar');
-        $this->assertEquals(array('Bar'), $this->bag->peek('notice'));
-    }
-
-    public function testHas()
-    {
-        $this->assertFalse($this->bag->has('nothing'));
-        $this->assertTrue($this->bag->has('notice'));
-    }
-
-    public function testKeys()
-    {
-        $this->assertEquals(array('notice'), $this->bag->keys());
-    }
-
-    public function testPeekAll()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('error', 'Bar');
-        $this->assertEquals(array(
-            'notice' => array('Foo'),
-            'error' => array('Bar'),
-            ), $this->bag->peekAll()
-        );
-        $this->assertTrue($this->bag->has('notice'));
-        $this->assertTrue($this->bag->has('error'));
-        $this->assertEquals(array(
-            'notice' => array('Foo'),
-            'error' => array('Bar'),
-            ), $this->bag->peekAll()
-        );
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Flash\FlashBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $flashes = array('hello' => 'world', 'beep' => 'boop', 'notice' => 'nope');
-        foreach ($flashes as $key => $val) {
-            $this->bag->set($key, $val);
-        }
-
-        $i = 0;
-        foreach ($this->bag as $key => $val) {
-            $this->assertEquals(array($flashes[$key]), $val);
-            $i++;
-        }
-
-        $this->assertEquals(count($flashes), $i);
-        $this->assertCount(0, $this->bag->all());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php
deleted file mode 100644
index 4e1667c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session;
-
-use Symfony\Component\HttpFoundation\Session\Session;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
-
-/**
- * SessionTest.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Robert Schönthal <seroscho@googlemail.com>
- * @author Drak <drak@zikula.org>
- */
-class SessionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface
-     */
-    protected $storage;
-
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\SessionInterface
-     */
-    protected $session;
-
-    protected function setUp()
-    {
-        $this->storage = new MockArraySessionStorage();
-        $this->session = new Session($this->storage, new AttributeBag(), new FlashBag());
-    }
-
-    protected function tearDown()
-    {
-        $this->storage = null;
-        $this->session = null;
-    }
-
-    public function testStart()
-    {
-        $this->assertEquals('', $this->session->getId());
-        $this->assertTrue($this->session->start());
-        $this->assertNotEquals('', $this->session->getId());
-    }
-
-    public function testIsStarted()
-    {
-        $this->assertFalse($this->session->isStarted());
-        $this->session->start();
-        $this->assertTrue($this->session->isStarted());
-    }
-
-    public function testSetId()
-    {
-        $this->assertEquals('', $this->session->getId());
-        $this->session->setId('0123456789abcdef');
-        $this->session->start();
-        $this->assertEquals('0123456789abcdef', $this->session->getId());
-    }
-
-    public function testSetName()
-    {
-        $this->assertEquals('MOCKSESSID', $this->session->getName());
-        $this->session->setName('session.test.com');
-        $this->session->start();
-        $this->assertEquals('session.test.com', $this->session->getName());
-    }
-
-    public function testGet()
-    {
-        // tests defaults
-        $this->assertNull($this->session->get('foo'));
-        $this->assertEquals(1, $this->session->get('foo', 1));
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testSet($key, $value)
-    {
-        $this->session->set($key, $value);
-        $this->assertEquals($value, $this->session->get($key));
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testHas($key, $value)
-    {
-        $this->session->set($key, $value);
-        $this->assertTrue($this->session->has($key));
-        $this->assertFalse($this->session->has($key.'non_value'));
-    }
-
-    public function testReplace()
-    {
-        $this->session->replace(array('happiness' => 'be good', 'symfony' => 'awesome'));
-        $this->assertEquals(array('happiness' => 'be good', 'symfony' => 'awesome'), $this->session->all());
-        $this->session->replace(array());
-        $this->assertEquals(array(), $this->session->all());
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testAll($key, $value, $result)
-    {
-        $this->session->set($key, $value);
-        $this->assertEquals($result, $this->session->all());
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testClear($key, $value)
-    {
-        $this->session->set('hi', 'fabien');
-        $this->session->set($key, $value);
-        $this->session->clear();
-        $this->assertEquals(array(), $this->session->all());
-    }
-
-    public function setProvider()
-    {
-        return array(
-            array('foo', 'bar', array('foo' => 'bar')),
-            array('foo.bar', 'too much beer', array('foo.bar' => 'too much beer')),
-            array('great', 'symfony is great', array('great' => 'symfony is great')),
-        );
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testRemove($key, $value)
-    {
-        $this->session->set('hi.world', 'have a nice day');
-        $this->session->set($key, $value);
-        $this->session->remove($key);
-        $this->assertEquals(array('hi.world' => 'have a nice day'), $this->session->all());
-    }
-
-    public function testInvalidate()
-    {
-        $this->session->set('invalidate', 123);
-        $this->session->invalidate();
-        $this->assertEquals(array(), $this->session->all());
-    }
-
-    public function testMigrate()
-    {
-        $this->session->set('migrate', 321);
-        $this->session->migrate();
-        $this->assertEquals(321, $this->session->get('migrate'));
-    }
-
-    public function testMigrateDestroy()
-    {
-        $this->session->set('migrate', 333);
-        $this->session->migrate(true);
-        $this->assertEquals(333, $this->session->get('migrate'));
-    }
-
-    public function testSave()
-    {
-        $this->session->start();
-        $this->session->save();
-    }
-
-    public function testGetId()
-    {
-        $this->assertEquals('', $this->session->getId());
-        $this->session->start();
-        $this->assertNotEquals('', $this->session->getId());
-    }
-
-    public function testGetFlashBag()
-    {
-        $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface', $this->session->getFlashBag());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Session::getIterator
-     */
-    public function testGetIterator()
-    {
-        $attributes = array('hello' => 'world', 'symfony' => 'rocks');
-        foreach ($attributes as $key => $val) {
-            $this->session->set($key, $val);
-        }
-
-        $i = 0;
-        foreach ($this->session as $key => $val) {
-            $this->assertEquals($attributes[$key], $val);
-            $i++;
-        }
-
-        $this->assertEquals(count($attributes), $i);
-    }
-
-    /**
-     * @covers \Symfony\Component\HttpFoundation\Session\Session::count
-     */
-    public function testGetCount()
-    {
-        $this->session->set('hello', 'world');
-        $this->session->set('symfony', 'rocks');
-
-        $this->assertCount(2, $this->session);
-    }
-
-    public function testGetMeta()
-    {
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\MetadataBag', $this->session->getMetadataBag());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
deleted file mode 100644
index 92f8901..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\LegacyPdoSessionHandler;
-
-/**
- * @group legacy
- */
-class LegacyPdoSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    private $pdo;
-
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        if (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers())) {
-            $this->markTestSkipped('This test requires SQLite support in your environment');
-        }
-
-        $this->pdo = new \PDO('sqlite::memory:');
-        $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
-        $sql = 'CREATE TABLE sessions (sess_id VARCHAR(128) PRIMARY KEY, sess_data TEXT, sess_time INTEGER)';
-        $this->pdo->exec($sql);
-    }
-
-    public function testIncompleteOptions()
-    {
-        $this->setExpectedException('InvalidArgumentException');
-        $storage = new LegacyPdoSessionHandler($this->pdo, array());
-    }
-
-    public function testWrongPdoErrMode()
-    {
-        $pdo = new \PDO('sqlite::memory:');
-        $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_SILENT);
-        $pdo->exec('CREATE TABLE sessions (sess_id VARCHAR(128) PRIMARY KEY, sess_data TEXT, sess_time INTEGER)');
-
-        $this->setExpectedException('InvalidArgumentException');
-        $storage = new LegacyPdoSessionHandler($pdo, array('db_table' => 'sessions'));
-    }
-
-    public function testWrongTableOptionsWrite()
-    {
-        $storage = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'bad_name'));
-        $this->setExpectedException('RuntimeException');
-        $storage->write('foo', 'bar');
-    }
-
-    public function testWrongTableOptionsRead()
-    {
-        $storage = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'bad_name'));
-        $this->setExpectedException('RuntimeException');
-        $storage->read('foo', 'bar');
-    }
-
-    public function testWriteRead()
-    {
-        $storage = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'sessions'));
-        $storage->write('foo', 'bar');
-        $this->assertEquals('bar', $storage->read('foo'), 'written value can be read back correctly');
-    }
-
-    public function testMultipleInstances()
-    {
-        $storage1 = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'sessions'));
-        $storage1->write('foo', 'bar');
-
-        $storage2 = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'sessions'));
-        $this->assertEquals('bar', $storage2->read('foo'), 'values persist between instances');
-    }
-
-    public function testSessionDestroy()
-    {
-        $storage = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'sessions'));
-        $storage->write('foo', 'bar');
-        $this->assertCount(1, $this->pdo->query('SELECT * FROM sessions')->fetchAll());
-
-        $storage->destroy('foo');
-
-        $this->assertCount(0, $this->pdo->query('SELECT * FROM sessions')->fetchAll());
-    }
-
-    public function testSessionGC()
-    {
-        $storage = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'sessions'));
-
-        $storage->write('foo', 'bar');
-        $storage->write('baz', 'bar');
-
-        $this->assertCount(2, $this->pdo->query('SELECT * FROM sessions')->fetchAll());
-
-        $storage->gc(-1);
-        $this->assertCount(0, $this->pdo->query('SELECT * FROM sessions')->fetchAll());
-    }
-
-    public function testGetConnection()
-    {
-        $storage = new LegacyPdoSessionHandler($this->pdo, array('db_table' => 'sessions'), array());
-
-        $method = new \ReflectionMethod($storage, 'getConnection');
-        $method->setAccessible(true);
-
-        $this->assertInstanceOf('\PDO', $method->invoke($storage));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
deleted file mode 100644
index 8d38ab3..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler;
-
-class MemcacheSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    const PREFIX = 'prefix_';
-    const TTL = 1000;
-    /**
-     * @var MemcacheSessionHandler
-     */
-    protected $storage;
-
-    protected $memcache;
-
-    protected function setUp()
-    {
-        if (!class_exists('Memcache')) {
-            $this->markTestSkipped('Skipped tests Memcache class is not present');
-        }
-
-        $this->memcache = $this->getMock('Memcache');
-        $this->storage = new MemcacheSessionHandler(
-            $this->memcache,
-            array('prefix' => self::PREFIX, 'expiretime' => self::TTL)
-        );
-    }
-
-    protected function tearDown()
-    {
-        $this->memcache = null;
-        $this->storage = null;
-    }
-
-    public function testOpenSession()
-    {
-        $this->assertTrue($this->storage->open('', ''));
-    }
-
-    public function testCloseSession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('close')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->close());
-    }
-
-    public function testReadSession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('get')
-            ->with(self::PREFIX.'id')
-        ;
-
-        $this->assertEquals('', $this->storage->read('id'));
-    }
-
-    public function testWriteSession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('set')
-            ->with(self::PREFIX.'id', 'data', 0, $this->equalTo(time() + self::TTL, 2))
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->write('id', 'data'));
-    }
-
-    public function testDestroySession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('delete')
-            ->with(self::PREFIX.'id')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->destroy('id'));
-    }
-
-    public function testGcSession()
-    {
-        $this->assertTrue($this->storage->gc(123));
-    }
-
-    /**
-     * @dataProvider getOptionFixtures
-     */
-    public function testSupportedOptions($options, $supported)
-    {
-        try {
-            new MemcacheSessionHandler($this->memcache, $options);
-            $this->assertTrue($supported);
-        } catch (\InvalidArgumentException $e) {
-            $this->assertFalse($supported);
-        }
-    }
-
-    public function getOptionFixtures()
-    {
-        return array(
-            array(array('prefix' => 'session'), true),
-            array(array('expiretime' => 100), true),
-            array(array('prefix' => 'session', 'expiretime' => 200), true),
-            array(array('expiretime' => 100, 'foo' => 'bar'), false),
-        );
-    }
-
-    public function testGetConnection()
-    {
-        $method = new \ReflectionMethod($this->storage, 'getMemcache');
-        $method->setAccessible(true);
-
-        $this->assertInstanceOf('\Memcache', $method->invoke($this->storage));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
deleted file mode 100644
index a7e5908..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcachedSessionHandler;
-
-class MemcachedSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    const PREFIX = 'prefix_';
-    const TTL = 1000;
-
-    /**
-     * @var MemcachedSessionHandler
-     */
-    protected $storage;
-
-    protected $memcached;
-
-    protected function setUp()
-    {
-        if (!class_exists('Memcached')) {
-            $this->markTestSkipped('Skipped tests Memcached class is not present');
-        }
-
-        if (version_compare(phpversion('memcached'), '2.2.0', '>=')) {
-            $this->markTestSkipped('Tests can only be run with memcached extension 2.1.0 or lower');
-        }
-
-        $this->memcached = $this->getMock('Memcached');
-        $this->storage = new MemcachedSessionHandler(
-            $this->memcached,
-            array('prefix' => self::PREFIX, 'expiretime' => self::TTL)
-        );
-    }
-
-    protected function tearDown()
-    {
-        $this->memcached = null;
-        $this->storage = null;
-    }
-
-    public function testOpenSession()
-    {
-        $this->assertTrue($this->storage->open('', ''));
-    }
-
-    public function testCloseSession()
-    {
-        $this->assertTrue($this->storage->close());
-    }
-
-    public function testReadSession()
-    {
-        $this->memcached
-            ->expects($this->once())
-            ->method('get')
-            ->with(self::PREFIX.'id')
-        ;
-
-        $this->assertEquals('', $this->storage->read('id'));
-    }
-
-    public function testWriteSession()
-    {
-        $this->memcached
-            ->expects($this->once())
-            ->method('set')
-            ->with(self::PREFIX.'id', 'data', $this->equalTo(time() + self::TTL, 2))
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->write('id', 'data'));
-    }
-
-    public function testDestroySession()
-    {
-        $this->memcached
-            ->expects($this->once())
-            ->method('delete')
-            ->with(self::PREFIX.'id')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->destroy('id'));
-    }
-
-    public function testGcSession()
-    {
-        $this->assertTrue($this->storage->gc(123));
-    }
-
-    /**
-     * @dataProvider getOptionFixtures
-     */
-    public function testSupportedOptions($options, $supported)
-    {
-        try {
-            new MemcachedSessionHandler($this->memcached, $options);
-            $this->assertTrue($supported);
-        } catch (\InvalidArgumentException $e) {
-            $this->assertFalse($supported);
-        }
-    }
-
-    public function getOptionFixtures()
-    {
-        return array(
-            array(array('prefix' => 'session'), true),
-            array(array('expiretime' => 100), true),
-            array(array('prefix' => 'session', 'expiretime' => 200), true),
-            array(array('expiretime' => 100, 'foo' => 'bar'), false),
-        );
-    }
-
-    public function testGetConnection()
-    {
-        $method = new \ReflectionMethod($this->storage, 'getMemcached');
-        $method->setAccessible(true);
-
-        $this->assertInstanceOf('\Memcached', $method->invoke($this->storage));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
deleted file mode 100644
index 56e7eb2..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
+++ /dev/null
@@ -1,255 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler;
-
-/**
- * @author Markus Bachmann <markus.bachmann@bachi.biz>
- */
-class MongoDbSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $mongo;
-    private $storage;
-    public $options;
-
-    protected function setUp()
-    {
-        if (!extension_loaded('mongo')) {
-            $this->markTestSkipped('MongoDbSessionHandler requires the PHP "mongo" extension.');
-        }
-
-        $mongoClass = version_compare(phpversion('mongo'), '1.3.0', '<') ? 'Mongo' : 'MongoClient';
-
-        $this->mongo = $this->getMockBuilder($mongoClass)
-            ->getMock();
-
-        $this->options = array(
-            'id_field' => '_id',
-            'data_field' => 'data',
-            'time_field' => 'time',
-            'expiry_field' => 'expires_at',
-            'database' => 'sf2-test',
-            'collection' => 'session-test',
-        );
-
-        $this->storage = new MongoDbSessionHandler($this->mongo, $this->options);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testConstructorShouldThrowExceptionForInvalidMongo()
-    {
-        new MongoDbSessionHandler(new \stdClass(), $this->options);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testConstructorShouldThrowExceptionForMissingOptions()
-    {
-        new MongoDbSessionHandler($this->mongo, array());
-    }
-
-    public function testOpenMethodAlwaysReturnTrue()
-    {
-        $this->assertTrue($this->storage->open('test', 'test'), 'The "open" method should always return true');
-    }
-
-    public function testCloseMethodAlwaysReturnTrue()
-    {
-        $this->assertTrue($this->storage->close(), 'The "close" method should always return true');
-    }
-
-    public function testRead()
-    {
-        $collection = $this->createMongoCollectionMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $that = $this;
-
-        // defining the timeout before the actual method call
-        // allows to test for "greater than" values in the $criteria
-        $testTimeout = time();
-
-        $collection->expects($this->once())
-            ->method('findOne')
-            ->will($this->returnCallback(function ($criteria) use ($that, $testTimeout) {
-                $that->assertArrayHasKey($that->options['id_field'], $criteria);
-                $that->assertEquals($criteria[$that->options['id_field']], 'foo');
-
-                $that->assertArrayHasKey($that->options['expiry_field'], $criteria);
-                $that->assertArrayHasKey('$gte', $criteria[$that->options['expiry_field']]);
-                $that->assertInstanceOf('MongoDate', $criteria[$that->options['expiry_field']]['$gte']);
-                $that->assertGreaterThanOrEqual($criteria[$that->options['expiry_field']]['$gte']->sec, $testTimeout);
-
-                return array(
-                    $that->options['id_field'] => 'foo',
-                    $that->options['data_field'] => new \MongoBinData('bar', \MongoBinData::BYTE_ARRAY),
-                    $that->options['id_field'] => new \MongoDate(),
-                );
-            }));
-
-        $this->assertEquals('bar', $this->storage->read('foo'));
-    }
-
-    public function testWrite()
-    {
-        $collection = $this->createMongoCollectionMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $that = $this;
-        $data = array();
-
-        $collection->expects($this->once())
-            ->method('update')
-            ->will($this->returnCallback(function ($criteria, $updateData, $options) use ($that, &$data) {
-                $that->assertEquals(array($that->options['id_field'] => 'foo'), $criteria);
-                $that->assertEquals(array('upsert' => true, 'multiple' => false), $options);
-
-                $data = $updateData['$set'];
-            }));
-
-        $expectedExpiry = time() + (int) ini_get('session.gc_maxlifetime');
-        $this->assertTrue($this->storage->write('foo', 'bar'));
-
-        $this->assertEquals('bar', $data[$this->options['data_field']]->bin);
-        $that->assertInstanceOf('MongoDate', $data[$this->options['time_field']]);
-        $this->assertInstanceOf('MongoDate', $data[$this->options['expiry_field']]);
-        $this->assertGreaterThanOrEqual($expectedExpiry, $data[$this->options['expiry_field']]->sec);
-    }
-
-    public function testWriteWhenUsingExpiresField()
-    {
-        $this->options = array(
-            'id_field' => '_id',
-            'data_field' => 'data',
-            'time_field' => 'time',
-            'database' => 'sf2-test',
-            'collection' => 'session-test',
-            'expiry_field' => 'expiresAt',
-        );
-
-        $this->storage = new MongoDbSessionHandler($this->mongo, $this->options);
-
-        $collection = $this->createMongoCollectionMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $that = $this;
-        $data = array();
-
-        $collection->expects($this->once())
-            ->method('update')
-            ->will($this->returnCallback(function ($criteria, $updateData, $options) use ($that, &$data) {
-                $that->assertEquals(array($that->options['id_field'] => 'foo'), $criteria);
-                $that->assertEquals(array('upsert' => true, 'multiple' => false), $options);
-
-                $data = $updateData['$set'];
-            }));
-
-        $this->assertTrue($this->storage->write('foo', 'bar'));
-
-        $this->assertEquals('bar', $data[$this->options['data_field']]->bin);
-        $that->assertInstanceOf('MongoDate', $data[$this->options['time_field']]);
-        $that->assertInstanceOf('MongoDate', $data[$this->options['expiry_field']]);
-    }
-
-    public function testReplaceSessionData()
-    {
-        $collection = $this->createMongoCollectionMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $data = array();
-
-        $collection->expects($this->exactly(2))
-            ->method('update')
-            ->will($this->returnCallback(function ($criteria, $updateData, $options) use (&$data) {
-                $data = $updateData;
-            }));
-
-        $this->storage->write('foo', 'bar');
-        $this->storage->write('foo', 'foobar');
-
-        $this->assertEquals('foobar', $data['$set'][$this->options['data_field']]->bin);
-    }
-
-    public function testDestroy()
-    {
-        $collection = $this->createMongoCollectionMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $collection->expects($this->once())
-            ->method('remove')
-            ->with(array($this->options['id_field'] => 'foo'));
-
-        $this->assertTrue($this->storage->destroy('foo'));
-    }
-
-    public function testGc()
-    {
-        $collection = $this->createMongoCollectionMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $that = $this;
-
-        $collection->expects($this->once())
-            ->method('remove')
-            ->will($this->returnCallback(function ($criteria) use ($that) {
-                $that->assertInstanceOf('MongoDate', $criteria[$that->options['expiry_field']]['$lt']);
-                $that->assertGreaterThanOrEqual(time() - 1, $criteria[$that->options['expiry_field']]['$lt']->sec);
-            }));
-
-        $this->assertTrue($this->storage->gc(1));
-    }
-
-    private function createMongoCollectionMock()
-    {
-        $mongoClient = $this->getMockBuilder('MongoClient')
-            ->getMock();
-        $mongoDb = $this->getMockBuilder('MongoDB')
-            ->setConstructorArgs(array($mongoClient, 'database-name'))
-            ->getMock();
-        $collection = $this->getMockBuilder('MongoCollection')
-            ->setConstructorArgs(array($mongoDb, 'collection-name'))
-            ->getMock();
-
-        return $collection;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
deleted file mode 100644
index ab848b6..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-
-/**
- * Test class for NativeFileSessionHandler.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- * @preserveGlobalState disabled
- */
-class NativeFileSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstruct()
-    {
-        $storage = new NativeSessionStorage(array('name' => 'TESTING'), new NativeFileSessionHandler(sys_get_temp_dir()));
-
-        if (PHP_VERSION_ID < 50400) {
-            $this->assertEquals('files', $storage->getSaveHandler()->getSaveHandlerName());
-            $this->assertEquals('files', ini_get('session.save_handler'));
-        } else {
-            $this->assertEquals('files', $storage->getSaveHandler()->getSaveHandlerName());
-            $this->assertEquals('user', ini_get('session.save_handler'));
-        }
-
-        $this->assertEquals(sys_get_temp_dir(), ini_get('session.save_path'));
-        $this->assertEquals('TESTING', ini_get('session.name'));
-    }
-
-    /**
-     * @dataProvider savePathDataProvider
-     */
-    public function testConstructSavePath($savePath, $expectedSavePath, $path)
-    {
-        $handler = new NativeFileSessionHandler($savePath);
-        $this->assertEquals($expectedSavePath, ini_get('session.save_path'));
-        $this->assertTrue(is_dir(realpath($path)));
-
-        rmdir($path);
-    }
-
-    public function savePathDataProvider()
-    {
-        $base = sys_get_temp_dir();
-
-        return array(
-            array("$base/foo", "$base/foo", "$base/foo"),
-            array("5;$base/foo", "5;$base/foo", "$base/foo"),
-            array("5;0600;$base/foo", "5;0600;$base/foo", "$base/foo"),
-        );
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testConstructException()
-    {
-        $handler = new NativeFileSessionHandler('something;invalid;with;too-many-args');
-    }
-
-    public function testConstructDefault()
-    {
-        $path = ini_get('session.save_path');
-        $storage = new NativeSessionStorage(array('name' => 'TESTING'), new NativeFileSessionHandler());
-
-        $this->assertEquals($path, ini_get('session.save_path'));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
deleted file mode 100644
index 3437cf0..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeSessionHandler;
-
-/**
- * Test class for NativeSessionHandler.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- * @preserveGlobalState disabled
- */
-class NativeSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstruct()
-    {
-        $handler = new NativeSessionHandler();
-
-        // note for PHPUnit optimisers - the use of assertTrue/False
-        // here is deliberate since the tests do not require the classes to exist - drak
-        if (PHP_VERSION_ID < 50400) {
-            $this->assertFalse($handler instanceof \SessionHandler);
-            $this->assertTrue($handler instanceof NativeSessionHandler);
-        } else {
-            $this->assertTrue($handler instanceof \SessionHandler);
-            $this->assertTrue($handler instanceof NativeSessionHandler);
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
deleted file mode 100644
index 35823d6..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NullSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Session;
-
-/**
- * Test class for NullSessionHandler.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- * @preserveGlobalState disabled
- */
-class NullSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSaveHandlers()
-    {
-        $storage = $this->getStorage();
-        $this->assertEquals('user', ini_get('session.save_handler'));
-    }
-
-    public function testSession()
-    {
-        session_id('nullsessionstorage');
-        $storage = $this->getStorage();
-        $session = new Session($storage);
-        $this->assertNull($session->get('something'));
-        $session->set('something', 'unique');
-        $this->assertEquals('unique', $session->get('something'));
-    }
-
-    public function testNothingIsPersisted()
-    {
-        session_id('nullsessionstorage');
-        $storage = $this->getStorage();
-        $session = new Session($storage);
-        $session->start();
-        $this->assertEquals('nullsessionstorage', $session->getId());
-        $this->assertNull($session->get('something'));
-    }
-
-    public function getStorage()
-    {
-        return new NativeSessionStorage(array(), new NullSessionHandler());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
deleted file mode 100644
index ba06fcc..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
+++ /dev/null
@@ -1,359 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler;
-
-class PdoSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    private $dbFile;
-
-    protected function setUp()
-    {
-        if (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers())) {
-            $this->markTestSkipped('This test requires SQLite support in your environment');
-        }
-    }
-
-    protected function tearDown()
-    {
-        // make sure the temporary database file is deleted when it has been created (even when a test fails)
-        if ($this->dbFile) {
-            @unlink($this->dbFile);
-        }
-    }
-
-    protected function getPersistentSqliteDsn()
-    {
-        $this->dbFile = tempnam(sys_get_temp_dir(), 'sf2_sqlite_sessions');
-
-        return 'sqlite:'.$this->dbFile;
-    }
-
-    protected function getMemorySqlitePdo()
-    {
-        $pdo = new \PDO('sqlite::memory:');
-        $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
-        $storage = new PdoSessionHandler($pdo);
-        $storage->createTable();
-
-        return $pdo;
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testWrongPdoErrMode()
-    {
-        $pdo = $this->getMemorySqlitePdo();
-        $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_SILENT);
-
-        $storage = new PdoSessionHandler($pdo);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testInexistentTable()
-    {
-        $storage = new PdoSessionHandler($this->getMemorySqlitePdo(), array('db_table' => 'inexistent_table'));
-        $storage->open('', 'sid');
-        $storage->read('id');
-        $storage->write('id', 'data');
-        $storage->close();
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testCreateTableTwice()
-    {
-        $storage = new PdoSessionHandler($this->getMemorySqlitePdo());
-        $storage->createTable();
-    }
-
-    public function testWithLazyDsnConnection()
-    {
-        $dsn = $this->getPersistentSqliteDsn();
-
-        $storage = new PdoSessionHandler($dsn);
-        $storage->createTable();
-        $storage->open('', 'sid');
-        $data = $storage->read('id');
-        $storage->write('id', 'data');
-        $storage->close();
-        $this->assertSame('', $data, 'New session returns empty string data');
-
-        $storage->open('', 'sid');
-        $data = $storage->read('id');
-        $storage->close();
-        $this->assertSame('data', $data, 'Written value can be read back correctly');
-    }
-
-    public function testWithLazySavePathConnection()
-    {
-        $dsn = $this->getPersistentSqliteDsn();
-
-        // Open is called with what ini_set('session.save_path', $dsn) would mean
-        $storage = new PdoSessionHandler(null);
-        $storage->open($dsn, 'sid');
-        $storage->createTable();
-        $data = $storage->read('id');
-        $storage->write('id', 'data');
-        $storage->close();
-        $this->assertSame('', $data, 'New session returns empty string data');
-
-        $storage->open($dsn, 'sid');
-        $data = $storage->read('id');
-        $storage->close();
-        $this->assertSame('data', $data, 'Written value can be read back correctly');
-    }
-
-    public function testReadWriteReadWithNullByte()
-    {
-        $sessionData = 'da'."\0".'ta';
-
-        $storage = new PdoSessionHandler($this->getMemorySqlitePdo());
-        $storage->open('', 'sid');
-        $readData = $storage->read('id');
-        $storage->write('id', $sessionData);
-        $storage->close();
-        $this->assertSame('', $readData, 'New session returns empty string data');
-
-        $storage->open('', 'sid');
-        $readData = $storage->read('id');
-        $storage->close();
-        $this->assertSame($sessionData, $readData, 'Written value can be read back correctly');
-    }
-
-    public function testReadConvertsStreamToString()
-    {
-        $pdo = new MockPdo('pgsql');
-        $pdo->prepareResult = $this->getMock('PDOStatement');
-
-        $content = 'foobar';
-        $stream = $this->createStream($content);
-
-        $pdo->prepareResult->expects($this->once())->method('fetchAll')
-            ->will($this->returnValue(array(array($stream, 42, time()))));
-
-        $storage = new PdoSessionHandler($pdo);
-        $result = $storage->read('foo');
-
-        $this->assertSame($content, $result);
-    }
-
-    public function testReadLockedConvertsStreamToString()
-    {
-        $pdo = new MockPdo('pgsql');
-        $selectStmt = $this->getMock('PDOStatement');
-        $insertStmt = $this->getMock('PDOStatement');
-
-        $pdo->prepareResult = function ($statement) use ($selectStmt, $insertStmt) {
-            return 0 === strpos($statement, 'INSERT') ? $insertStmt : $selectStmt;
-        };
-
-        $content = 'foobar';
-        $stream = $this->createStream($content);
-        $exception = null;
-
-        $selectStmt->expects($this->atLeast(2))->method('fetchAll')
-            ->will($this->returnCallback(function () use (&$exception, $stream) {
-                return $exception ? array(array($stream, 42, time())) : array();
-            }));
-
-        $insertStmt->expects($this->once())->method('execute')
-            ->will($this->returnCallback(function () use (&$exception) {
-                throw $exception = new \PDOException('', '23');
-            }));
-
-        $storage = new PdoSessionHandler($pdo);
-        $result = $storage->read('foo');
-
-        $this->assertSame($content, $result);
-    }
-
-    public function testReadingRequiresExactlySameId()
-    {
-        $storage = new PdoSessionHandler($this->getMemorySqlitePdo());
-        $storage->open('', 'sid');
-        $storage->write('id', 'data');
-        $storage->write('test', 'data');
-        $storage->write('space ', 'data');
-        $storage->close();
-
-        $storage->open('', 'sid');
-        $readDataCaseSensitive = $storage->read('ID');
-        $readDataNoCharFolding = $storage->read('tést');
-        $readDataKeepSpace = $storage->read('space ');
-        $readDataExtraSpace = $storage->read('space  ');
-        $storage->close();
-
-        $this->assertSame('', $readDataCaseSensitive, 'Retrieval by ID should be case-sensitive (collation setting)');
-        $this->assertSame('', $readDataNoCharFolding, 'Retrieval by ID should not do character folding (collation setting)');
-        $this->assertSame('data', $readDataKeepSpace, 'Retrieval by ID requires spaces as-is');
-        $this->assertSame('', $readDataExtraSpace, 'Retrieval by ID requires spaces as-is');
-    }
-
-    /**
-     * Simulates session_regenerate_id(true) which will require an INSERT or UPDATE (replace)
-     */
-    public function testWriteDifferentSessionIdThanRead()
-    {
-        $storage = new PdoSessionHandler($this->getMemorySqlitePdo());
-        $storage->open('', 'sid');
-        $storage->read('id');
-        $storage->destroy('id');
-        $storage->write('new_id', 'data_of_new_session_id');
-        $storage->close();
-
-        $storage->open('', 'sid');
-        $data = $storage->read('new_id');
-        $storage->close();
-
-        $this->assertSame('data_of_new_session_id', $data, 'Data of regenerated session id is available');
-    }
-
-    public function testWrongUsageStillWorks()
-    {
-        // wrong method sequence that should no happen, but still works
-        $storage = new PdoSessionHandler($this->getMemorySqlitePdo());
-        $storage->write('id', 'data');
-        $storage->write('other_id', 'other_data');
-        $storage->destroy('inexistent');
-        $storage->open('', 'sid');
-        $data = $storage->read('id');
-        $otherData = $storage->read('other_id');
-        $storage->close();
-
-        $this->assertSame('data', $data);
-        $this->assertSame('other_data', $otherData);
-    }
-
-    public function testSessionDestroy()
-    {
-        $pdo = $this->getMemorySqlitePdo();
-        $storage = new PdoSessionHandler($pdo);
-
-        $storage->open('', 'sid');
-        $storage->read('id');
-        $storage->write('id', 'data');
-        $storage->close();
-        $this->assertEquals(1, $pdo->query('SELECT COUNT(*) FROM sessions')->fetchColumn());
-
-        $storage->open('', 'sid');
-        $storage->read('id');
-        $storage->destroy('id');
-        $storage->close();
-        $this->assertEquals(0, $pdo->query('SELECT COUNT(*) FROM sessions')->fetchColumn());
-
-        $storage->open('', 'sid');
-        $data = $storage->read('id');
-        $storage->close();
-        $this->assertSame('', $data, 'Destroyed session returns empty string');
-    }
-
-    public function testSessionGC()
-    {
-        $previousLifeTime = ini_set('session.gc_maxlifetime', 1000);
-        $pdo = $this->getMemorySqlitePdo();
-        $storage = new PdoSessionHandler($pdo);
-
-        $storage->open('', 'sid');
-        $storage->read('id');
-        $storage->write('id', 'data');
-        $storage->close();
-
-        $storage->open('', 'sid');
-        $storage->read('gc_id');
-        ini_set('session.gc_maxlifetime', -1); // test that you can set lifetime of a session after it has been read
-        $storage->write('gc_id', 'data');
-        $storage->close();
-        $this->assertEquals(2, $pdo->query('SELECT COUNT(*) FROM sessions')->fetchColumn(), 'No session pruned because gc not called');
-
-        $storage->open('', 'sid');
-        $data = $storage->read('gc_id');
-        $storage->gc(-1);
-        $storage->close();
-
-        ini_set('session.gc_maxlifetime', $previousLifeTime);
-
-        $this->assertSame('', $data, 'Session already considered garbage, so not returning data even if it is not pruned yet');
-        $this->assertEquals(1, $pdo->query('SELECT COUNT(*) FROM sessions')->fetchColumn(), 'Expired session is pruned');
-    }
-
-    public function testGetConnection()
-    {
-        $storage = new PdoSessionHandler($this->getMemorySqlitePdo());
-
-        $method = new \ReflectionMethod($storage, 'getConnection');
-        $method->setAccessible(true);
-
-        $this->assertInstanceOf('\PDO', $method->invoke($storage));
-    }
-
-    public function testGetConnectionConnectsIfNeeded()
-    {
-        $storage = new PdoSessionHandler('sqlite::memory:');
-
-        $method = new \ReflectionMethod($storage, 'getConnection');
-        $method->setAccessible(true);
-
-        $this->assertInstanceOf('\PDO', $method->invoke($storage));
-    }
-
-    private function createStream($content)
-    {
-        $stream = tmpfile();
-        fwrite($stream, $content);
-        fseek($stream, 0);
-
-        return $stream;
-    }
-}
-
-class MockPdo extends \PDO
-{
-    public $prepareResult;
-    private $driverName;
-    private $errorMode;
-
-    public function __construct($driverName = null, $errorMode = null)
-    {
-        $this->driverName = $driverName;
-        $this->errorMode = null !== $errorMode ?: \PDO::ERRMODE_EXCEPTION;
-    }
-
-    public function getAttribute($attribute)
-    {
-        if (\PDO::ATTR_ERRMODE === $attribute) {
-            return $this->errorMode;
-        }
-
-        if (\PDO::ATTR_DRIVER_NAME === $attribute) {
-            return $this->driverName;
-        }
-
-        return parent::getAttribute($attribute);
-    }
-
-    public function prepare($statement, $driverOptions = array())
-    {
-        return is_callable($this->prepareResult)
-            ? call_user_func($this->prepareResult, $statement, $driverOptions)
-            : $this->prepareResult;
-    }
-
-    public function beginTransaction()
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php
deleted file mode 100644
index 069c887..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler;
-
-/**
- * @author Adrien Brault <adrien.brault@gmail.com>
- */
-class WriteCheckSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function test()
-    {
-        $wrappedSessionHandlerMock = $this->getMock('SessionHandlerInterface');
-        $writeCheckSessionHandler = new WriteCheckSessionHandler($wrappedSessionHandlerMock);
-
-        $wrappedSessionHandlerMock
-            ->expects($this->once())
-            ->method('close')
-            ->with()
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($writeCheckSessionHandler->close());
-    }
-
-    public function testWrite()
-    {
-        $wrappedSessionHandlerMock = $this->getMock('SessionHandlerInterface');
-        $writeCheckSessionHandler = new WriteCheckSessionHandler($wrappedSessionHandlerMock);
-
-        $wrappedSessionHandlerMock
-            ->expects($this->once())
-            ->method('write')
-            ->with('foo', 'bar')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($writeCheckSessionHandler->write('foo', 'bar'));
-    }
-
-    public function testSkippedWrite()
-    {
-        $wrappedSessionHandlerMock = $this->getMock('SessionHandlerInterface');
-        $writeCheckSessionHandler = new WriteCheckSessionHandler($wrappedSessionHandlerMock);
-
-        $wrappedSessionHandlerMock
-            ->expects($this->once())
-            ->method('read')
-            ->with('foo')
-            ->will($this->returnValue('bar'))
-        ;
-
-        $wrappedSessionHandlerMock
-            ->expects($this->never())
-            ->method('write')
-        ;
-
-        $this->assertEquals('bar', $writeCheckSessionHandler->read('foo'));
-        $this->assertTrue($writeCheckSessionHandler->write('foo', 'bar'));
-    }
-
-    public function testNonSkippedWrite()
-    {
-        $wrappedSessionHandlerMock = $this->getMock('SessionHandlerInterface');
-        $writeCheckSessionHandler = new WriteCheckSessionHandler($wrappedSessionHandlerMock);
-
-        $wrappedSessionHandlerMock
-            ->expects($this->once())
-            ->method('read')
-            ->with('foo')
-            ->will($this->returnValue('bar'))
-        ;
-
-        $wrappedSessionHandlerMock
-            ->expects($this->once())
-            ->method('write')
-            ->with('foo', 'baZZZ')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertEquals('bar', $writeCheckSessionHandler->read('foo'));
-        $this->assertTrue($writeCheckSessionHandler->write('foo', 'baZZZ'));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php
deleted file mode 100644
index fb632a8..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag;
-
-/**
- * Test class for MetadataBag.
- */
-class MetadataBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var MetadataBag
-     */
-    protected $bag;
-
-    /**
-     * @var array
-     */
-    protected $array = array();
-
-    protected function setUp()
-    {
-        $this->bag = new MetadataBag();
-        $this->array = array(MetadataBag::CREATED => 1234567, MetadataBag::UPDATED => 12345678, MetadataBag::LIFETIME => 0);
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->array = array();
-        $this->bag = null;
-    }
-
-    public function testInitialize()
-    {
-        $sessionMetadata = array();
-
-        $bag1 = new MetadataBag();
-        $bag1->initialize($sessionMetadata);
-        $this->assertGreaterThanOrEqual(time(), $bag1->getCreated());
-        $this->assertEquals($bag1->getCreated(), $bag1->getLastUsed());
-
-        sleep(1);
-        $bag2 = new MetadataBag();
-        $bag2->initialize($sessionMetadata);
-        $this->assertEquals($bag1->getCreated(), $bag2->getCreated());
-        $this->assertEquals($bag1->getLastUsed(), $bag2->getLastUsed());
-        $this->assertEquals($bag2->getCreated(), $bag2->getLastUsed());
-
-        sleep(1);
-        $bag3 = new MetadataBag();
-        $bag3->initialize($sessionMetadata);
-        $this->assertEquals($bag1->getCreated(), $bag3->getCreated());
-        $this->assertGreaterThan($bag2->getLastUsed(), $bag3->getLastUsed());
-        $this->assertNotEquals($bag3->getCreated(), $bag3->getLastUsed());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('__metadata', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2_meta', $this->bag->getStorageKey());
-    }
-
-    public function testGetLifetime()
-    {
-        $bag = new MetadataBag();
-        $array = array(MetadataBag::CREATED => 1234567, MetadataBag::UPDATED => 12345678, MetadataBag::LIFETIME => 1000);
-        $bag->initialize($array);
-        $this->assertEquals(1000, $bag->getLifetime());
-    }
-
-    public function testGetCreated()
-    {
-        $this->assertEquals(1234567, $this->bag->getCreated());
-    }
-
-    public function testGetLastUsed()
-    {
-        $this->assertLessThanOrEqual(time(), $this->bag->getLastUsed());
-    }
-
-    public function testClear()
-    {
-        $this->bag->clear();
-    }
-
-    public function testSkipLastUsedUpdate()
-    {
-        $bag = new MetadataBag('', 30);
-        $timeStamp = time();
-
-        $created = $timeStamp - 15;
-        $sessionMetadata = array(
-            MetadataBag::CREATED => $created,
-            MetadataBag::UPDATED => $created,
-            MetadataBag::LIFETIME => 1000,
-        );
-        $bag->initialize($sessionMetadata);
-
-        $this->assertEquals($created, $sessionMetadata[MetadataBag::UPDATED]);
-    }
-
-    public function testDoesNotSkipLastUsedUpdate()
-    {
-        $bag = new MetadataBag('', 30);
-        $timeStamp = time();
-
-        $created = $timeStamp - 45;
-        $sessionMetadata = array(
-            MetadataBag::CREATED => $created,
-            MetadataBag::UPDATED => $created,
-            MetadataBag::LIFETIME => 1000,
-        );
-        $bag->initialize($sessionMetadata);
-
-        $this->assertEquals($timeStamp, $sessionMetadata[MetadataBag::UPDATED]);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php
deleted file mode 100644
index c56ea4a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-
-/**
- * Test class for MockArraySessionStorage.
- *
- * @author Drak <drak@zikula.org>
- */
-class MockArraySessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var MockArraySessionStorage
-     */
-    private $storage;
-
-    /**
-     * @var AttributeBag
-     */
-    private $attributes;
-
-    /**
-     * @var FlashBag
-     */
-    private $flashes;
-
-    private $data;
-
-    protected function setUp()
-    {
-        $this->attributes = new AttributeBag();
-        $this->flashes = new FlashBag();
-
-        $this->data = array(
-            $this->attributes->getStorageKey() => array('foo' => 'bar'),
-            $this->flashes->getStorageKey() => array('notice' => 'hello'),
-            );
-
-        $this->storage = new MockArraySessionStorage();
-        $this->storage->registerBag($this->flashes);
-        $this->storage->registerBag($this->attributes);
-        $this->storage->setSessionData($this->data);
-    }
-
-    protected function tearDown()
-    {
-        $this->data = null;
-        $this->flashes = null;
-        $this->attributes = null;
-        $this->storage = null;
-    }
-
-    public function testStart()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->storage->start();
-        $id = $this->storage->getId();
-        $this->assertNotEquals('', $id);
-        $this->storage->start();
-        $this->assertEquals($id, $this->storage->getId());
-    }
-
-    public function testRegenerate()
-    {
-        $this->storage->start();
-        $id = $this->storage->getId();
-        $this->storage->regenerate();
-        $this->assertNotEquals($id, $this->storage->getId());
-        $this->assertEquals(array('foo' => 'bar'), $this->storage->getBag('attributes')->all());
-        $this->assertEquals(array('notice' => 'hello'), $this->storage->getBag('flashes')->peekAll());
-
-        $id = $this->storage->getId();
-        $this->storage->regenerate(true);
-        $this->assertNotEquals($id, $this->storage->getId());
-        $this->assertEquals(array('foo' => 'bar'), $this->storage->getBag('attributes')->all());
-        $this->assertEquals(array('notice' => 'hello'), $this->storage->getBag('flashes')->peekAll());
-    }
-
-    public function testGetId()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->storage->start();
-        $this->assertNotEquals('', $this->storage->getId());
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testUnstartedSave()
-    {
-        $this->storage->save();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php
deleted file mode 100644
index 54321ea..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-
-/**
- * Test class for MockFileSessionStorage.
- *
- * @author Drak <drak@zikula.org>
- */
-class MockFileSessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    private $sessionDir;
-
-    /**
-     * @var MockFileSessionStorage
-     */
-    protected $storage;
-
-    protected function setUp()
-    {
-        $this->sessionDir = sys_get_temp_dir().'/sf2test';
-        $this->storage = $this->getStorage();
-    }
-
-    protected function tearDown()
-    {
-        $this->sessionDir = null;
-        $this->storage = null;
-        array_map('unlink', glob($this->sessionDir.'/*.session'));
-        if (is_dir($this->sessionDir)) {
-            rmdir($this->sessionDir);
-        }
-    }
-
-    public function testStart()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->assertTrue($this->storage->start());
-        $id = $this->storage->getId();
-        $this->assertNotEquals('', $this->storage->getId());
-        $this->assertTrue($this->storage->start());
-        $this->assertEquals($id, $this->storage->getId());
-    }
-
-    public function testRegenerate()
-    {
-        $this->storage->start();
-        $this->storage->getBag('attributes')->set('regenerate', 1234);
-        $this->storage->regenerate();
-        $this->assertEquals(1234, $this->storage->getBag('attributes')->get('regenerate'));
-        $this->storage->regenerate(true);
-        $this->assertEquals(1234, $this->storage->getBag('attributes')->get('regenerate'));
-    }
-
-    public function testGetId()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->storage->start();
-        $this->assertNotEquals('', $this->storage->getId());
-    }
-
-    public function testSave()
-    {
-        $this->storage->start();
-        $id = $this->storage->getId();
-        $this->assertNotEquals('108', $this->storage->getBag('attributes')->get('new'));
-        $this->assertFalse($this->storage->getBag('flashes')->has('newkey'));
-        $this->storage->getBag('attributes')->set('new', '108');
-        $this->storage->getBag('flashes')->set('newkey', 'test');
-        $this->storage->save();
-
-        $storage = $this->getStorage();
-        $storage->setId($id);
-        $storage->start();
-        $this->assertEquals('108', $storage->getBag('attributes')->get('new'));
-        $this->assertTrue($storage->getBag('flashes')->has('newkey'));
-        $this->assertEquals(array('test'), $storage->getBag('flashes')->peek('newkey'));
-    }
-
-    public function testMultipleInstances()
-    {
-        $storage1 = $this->getStorage();
-        $storage1->start();
-        $storage1->getBag('attributes')->set('foo', 'bar');
-        $storage1->save();
-
-        $storage2 = $this->getStorage();
-        $storage2->setId($storage1->getId());
-        $storage2->start();
-        $this->assertEquals('bar', $storage2->getBag('attributes')->get('foo'), 'values persist between instances');
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testSaveWithoutStart()
-    {
-        $storage1 = $this->getStorage();
-        $storage1->save();
-    }
-
-    private function getStorage()
-    {
-        $storage = new MockFileSessionStorage($this->sessionDir);
-        $storage->registerBag(new FlashBag());
-        $storage->registerBag(new AttributeBag());
-
-        return $storage;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
deleted file mode 100644
index e2146d8..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
+++ /dev/null
@@ -1,248 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NullSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy;
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy;
-
-/**
- * Test class for NativeSessionStorage.
- *
- * @author Drak <drak@zikula.org>
- *
- * These tests require separate processes.
- *
- * @runTestsInSeparateProcesses
- * @preserveGlobalState disabled
- */
-class NativeSessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    private $savePath;
-
-    protected function setUp()
-    {
-        $this->iniSet('session.save_handler', 'files');
-        $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sf2test');
-        if (!is_dir($this->savePath)) {
-            mkdir($this->savePath);
-        }
-    }
-
-    protected function tearDown()
-    {
-        session_write_close();
-        array_map('unlink', glob($this->savePath.'/*'));
-        if (is_dir($this->savePath)) {
-            rmdir($this->savePath);
-        }
-
-        $this->savePath = null;
-    }
-
-    /**
-     * @param array $options
-     *
-     * @return NativeSessionStorage
-     */
-    protected function getStorage(array $options = array())
-    {
-        $storage = new NativeSessionStorage($options);
-        $storage->registerBag(new AttributeBag());
-
-        return $storage;
-    }
-
-    public function testBag()
-    {
-        $storage = $this->getStorage();
-        $bag = new FlashBag();
-        $storage->registerBag($bag);
-        $this->assertSame($bag, $storage->getBag($bag->getName()));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRegisterBagException()
-    {
-        $storage = $this->getStorage();
-        $storage->getBag('non_existing');
-    }
-
-    public function testGetId()
-    {
-        $storage = $this->getStorage();
-        $this->assertSame('', $storage->getId(), 'Empty ID before starting session');
-
-        $storage->start();
-        $id = $storage->getId();
-        $this->assertInternalType('string', $id);
-        $this->assertNotSame('', $id);
-
-        $storage->save();
-        $this->assertSame($id, $storage->getId(), 'ID stays after saving session');
-    }
-
-    public function testRegenerate()
-    {
-        $storage = $this->getStorage();
-        $storage->start();
-        $id = $storage->getId();
-        $storage->getBag('attributes')->set('lucky', 7);
-        $storage->regenerate();
-        $this->assertNotEquals($id, $storage->getId());
-        $this->assertEquals(7, $storage->getBag('attributes')->get('lucky'));
-    }
-
-    public function testRegenerateDestroy()
-    {
-        $storage = $this->getStorage();
-        $storage->start();
-        $id = $storage->getId();
-        $storage->getBag('attributes')->set('legs', 11);
-        $storage->regenerate(true);
-        $this->assertNotEquals($id, $storage->getId());
-        $this->assertEquals(11, $storage->getBag('attributes')->get('legs'));
-    }
-
-    public function testDefaultSessionCacheLimiter()
-    {
-        $this->iniSet('session.cache_limiter', 'nocache');
-
-        $storage = new NativeSessionStorage();
-        $this->assertEquals('', ini_get('session.cache_limiter'));
-    }
-
-    public function testExplicitSessionCacheLimiter()
-    {
-        $this->iniSet('session.cache_limiter', 'nocache');
-
-        $storage = new NativeSessionStorage(array('cache_limiter' => 'public'));
-        $this->assertEquals('public', ini_get('session.cache_limiter'));
-    }
-
-    public function testCookieOptions()
-    {
-        $options = array(
-            'cookie_lifetime' => 123456,
-            'cookie_path' => '/my/cookie/path',
-            'cookie_domain' => 'symfony.example.com',
-            'cookie_secure' => true,
-            'cookie_httponly' => false,
-        );
-
-        $this->getStorage($options);
-        $temp = session_get_cookie_params();
-        $gco = array();
-
-        foreach ($temp as $key => $value) {
-            $gco['cookie_'.$key] = $value;
-        }
-
-        $this->assertEquals($options, $gco);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetSaveHandlerException()
-    {
-        $storage = $this->getStorage();
-        $storage->setSaveHandler(new \stdClass());
-    }
-
-    public function testSetSaveHandler53()
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.3 only.');
-        }
-
-        $this->iniSet('session.save_handler', 'files');
-        $storage = $this->getStorage();
-        $storage->setSaveHandler();
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(null);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new NativeSessionHandler());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new SessionHandlerProxy(new NullSessionHandler()));
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new NullSessionHandler());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new NativeProxy());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy', $storage->getSaveHandler());
-    }
-
-    public function testSetSaveHandler54()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.4 only.');
-        }
-
-        $this->iniSet('session.save_handler', 'files');
-        $storage = $this->getStorage();
-        $storage->setSaveHandler();
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(null);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new SessionHandlerProxy(new NativeSessionHandler()));
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new NativeSessionHandler());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new SessionHandlerProxy(new NullSessionHandler()));
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-        $storage->setSaveHandler(new NullSessionHandler());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testStartedOutside()
-    {
-        $storage = $this->getStorage();
-
-        $this->assertFalse(isset($_SESSION));
-        $this->assertFalse($storage->getSaveHandler()->isActive());
-        $this->assertFalse($storage->isStarted());
-
-        session_start();
-        $this->assertTrue(isset($_SESSION));
-        if (PHP_VERSION_ID >= 50400) {
-            // this only works in PHP >= 5.4 where session_status is available
-            $this->assertTrue($storage->getSaveHandler()->isActive());
-        }
-        // PHP session might have started, but the storage driver has not, so false is correct here
-        $this->assertFalse($storage->isStarted());
-
-        $key = $storage->getMetadataBag()->getStorageKey();
-        $this->assertFalse(isset($_SESSION[$key]));
-        $storage->start();
-    }
-
-    public function testRestart()
-    {
-        $storage = $this->getStorage();
-        $storage->start();
-        $id = $storage->getId();
-        $storage->getBag('attributes')->set('lucky', 7);
-        $storage->save();
-        $storage->start();
-        $this->assertSame($id, $storage->getId(), 'Same session ID after restarting');
-        $this->assertSame(7, $storage->getBag('attributes')->get('lucky'), 'Data still available');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php
deleted file mode 100644
index 0acc445..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-
-/**
- * Test class for PhpSessionStorage.
- *
- * @author Drak <drak@zikula.org>
- *
- * These tests require separate processes.
- *
- * @runTestsInSeparateProcesses
- * @preserveGlobalState disabled
- */
-class PhpBridgeSessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    private $savePath;
-
-    protected function setUp()
-    {
-        $this->iniSet('session.save_handler', 'files');
-        $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sf2test');
-        if (!is_dir($this->savePath)) {
-            mkdir($this->savePath);
-        }
-    }
-
-    protected function tearDown()
-    {
-        session_write_close();
-        array_map('unlink', glob($this->savePath.'/*'));
-        if (is_dir($this->savePath)) {
-            rmdir($this->savePath);
-        }
-
-        $this->savePath = null;
-    }
-
-    /**
-     * @return PhpBridgeSessionStorage
-     */
-    protected function getStorage()
-    {
-        $storage = new PhpBridgeSessionStorage();
-        $storage->registerBag(new AttributeBag());
-
-        return $storage;
-    }
-
-    public function testPhpSession53()
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.3 only.');
-        }
-
-        $storage = $this->getStorage();
-
-        $this->assertFalse(isset($_SESSION));
-        $this->assertFalse($storage->getSaveHandler()->isActive());
-
-        session_start();
-        $this->assertTrue(isset($_SESSION));
-        // in PHP 5.3 we cannot reliably tell if a session has started
-        $this->assertFalse($storage->getSaveHandler()->isActive());
-        // PHP session might have started, but the storage driver has not, so false is correct here
-        $this->assertFalse($storage->isStarted());
-
-        $key = $storage->getMetadataBag()->getStorageKey();
-        $this->assertFalse(isset($_SESSION[$key]));
-        $storage->start();
-        $this->assertTrue(isset($_SESSION[$key]));
-    }
-
-    public function testPhpSession54()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.4 only.');
-        }
-
-        $storage = $this->getStorage();
-
-        $this->assertFalse(isset($_SESSION));
-        $this->assertFalse($storage->getSaveHandler()->isActive());
-        $this->assertFalse($storage->isStarted());
-
-        session_start();
-        $this->assertTrue(isset($_SESSION));
-        // in PHP 5.4 we can reliably detect a session started
-        $this->assertTrue($storage->getSaveHandler()->isActive());
-        // PHP session might have started, but the storage driver has not, so false is correct here
-        $this->assertFalse($storage->isStarted());
-
-        $key = $storage->getMetadataBag()->getStorageKey();
-        $this->assertFalse(isset($_SESSION[$key]));
-        $storage->start();
-        $this->assertTrue(isset($_SESSION[$key]));
-    }
-
-    public function testClear()
-    {
-        $storage = $this->getStorage();
-        session_start();
-        $_SESSION['drak'] = 'loves symfony';
-        $storage->getBag('attributes')->set('symfony', 'greatness');
-        $key = $storage->getBag('attributes')->getStorageKey();
-        $this->assertEquals($_SESSION[$key], array('symfony' => 'greatness'));
-        $this->assertEquals($_SESSION['drak'], 'loves symfony');
-        $storage->clear();
-        $this->assertEquals($_SESSION[$key], array());
-        $this->assertEquals($_SESSION['drak'], 'loves symfony');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
deleted file mode 100644
index ee476a8..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
+++ /dev/null
@@ -1,217 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy;
-
-// Note until PHPUnit_Mock_Objects 1.2 is released you cannot mock abstracts due to
-// https://github.com/sebastianbergmann/phpunit-mock-objects/issues/73
-class ConcreteProxy extends AbstractProxy
-{
-}
-
-class ConcreteSessionHandlerInterfaceProxy extends AbstractProxy implements \SessionHandlerInterface
-{
-    public function open($savePath, $sessionName)
-    {
-    }
-
-    public function close()
-    {
-    }
-
-    public function read($id)
-    {
-    }
-
-    public function write($id, $data)
-    {
-    }
-
-    public function destroy($id)
-    {
-    }
-
-    public function gc($maxlifetime)
-    {
-    }
-}
-
-/**
- * Test class for AbstractProxy.
- *
- * @author Drak <drak@zikula.org>
- */
-class AbstractProxyTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var AbstractProxy
-     */
-    protected $proxy;
-
-    protected function setUp()
-    {
-        $this->proxy = new ConcreteProxy();
-    }
-
-    protected function tearDown()
-    {
-        $this->proxy = null;
-    }
-
-    public function testGetSaveHandlerName()
-    {
-        $this->assertNull($this->proxy->getSaveHandlerName());
-    }
-
-    public function testIsSessionHandlerInterface()
-    {
-        $this->assertFalse($this->proxy->isSessionHandlerInterface());
-        $sh = new ConcreteSessionHandlerInterfaceProxy();
-        $this->assertTrue($sh->isSessionHandlerInterface());
-    }
-
-    public function testIsWrapper()
-    {
-        $this->assertFalse($this->proxy->isWrapper());
-    }
-
-    public function testIsActivePhp53()
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.3 only.');
-        }
-
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @preserveGlobalState disabled
-     */
-    public function testIsActivePhp54()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.4 only.');
-        }
-
-        $this->assertFalse($this->proxy->isActive());
-        session_start();
-        $this->assertTrue($this->proxy->isActive());
-    }
-
-    public function testSetActivePhp53()
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.3 only.');
-        }
-
-        $this->proxy->setActive(true);
-        $this->assertTrue($this->proxy->isActive());
-        $this->proxy->setActive(false);
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @preserveGlobalState disabled
-     * @expectedException \LogicException
-     */
-    public function testSetActivePhp54()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.4 only.');
-        }
-
-        $this->proxy->setActive(true);
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @preserveGlobalState disabled
-     */
-    public function testName()
-    {
-        $this->assertEquals(session_name(), $this->proxy->getName());
-        $this->proxy->setName('foo');
-        $this->assertEquals('foo', $this->proxy->getName());
-        $this->assertEquals(session_name(), $this->proxy->getName());
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testNameExceptionPhp53()
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.3 only.');
-        }
-
-        $this->proxy->setActive(true);
-        $this->proxy->setName('foo');
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @preserveGlobalState disabled
-     * @expectedException \LogicException
-     */
-    public function testNameExceptionPhp54()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.4 only.');
-        }
-
-        session_start();
-        $this->proxy->setName('foo');
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @preserveGlobalState disabled
-     */
-    public function testId()
-    {
-        $this->assertEquals(session_id(), $this->proxy->getId());
-        $this->proxy->setId('foo');
-        $this->assertEquals('foo', $this->proxy->getId());
-        $this->assertEquals(session_id(), $this->proxy->getId());
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testIdExceptionPhp53()
-    {
-        if (PHP_VERSION_ID >= 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.3 only.');
-        }
-
-        $this->proxy->setActive(true);
-        $this->proxy->setId('foo');
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @preserveGlobalState disabled
-     * @expectedException \LogicException
-     */
-    public function testIdExceptionPhp54()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Test skipped, for PHP 5.4 only.');
-        }
-
-        session_start();
-        $this->proxy->setId('foo');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
deleted file mode 100644
index e9184ce..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy;
-
-/**
- * Test class for NativeProxy.
- *
- * @author Drak <drak@zikula.org>
- */
-class NativeProxyTest extends \PHPUnit_Framework_TestCase
-{
-    public function testIsWrapper()
-    {
-        $proxy = new NativeProxy();
-        $this->assertFalse($proxy->isWrapper());
-    }
-
-    public function testGetSaveHandlerName()
-    {
-        $name = ini_get('session.save_handler');
-        $proxy = new NativeProxy();
-        $this->assertEquals($name, $proxy->getSaveHandlerName());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
deleted file mode 100644
index d2775a8..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy;
-
-/**
- * Tests for SessionHandlerProxy class.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- * @preserveGlobalState disabled
- */
-class SessionHandlerProxyTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_Matcher
-     */
-    private $mock;
-
-    /**
-     * @var SessionHandlerProxy
-     */
-    private $proxy;
-
-    protected function setUp()
-    {
-        $this->mock = $this->getMock('SessionHandlerInterface');
-        $this->proxy = new SessionHandlerProxy($this->mock);
-    }
-
-    protected function tearDown()
-    {
-        $this->mock = null;
-        $this->proxy = null;
-    }
-
-    public function testOpen()
-    {
-        $this->mock->expects($this->once())
-            ->method('open')
-            ->will($this->returnValue(true));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->open('name', 'id');
-        if (PHP_VERSION_ID < 50400) {
-            $this->assertTrue($this->proxy->isActive());
-        } else {
-            $this->assertFalse($this->proxy->isActive());
-        }
-    }
-
-    public function testOpenFalse()
-    {
-        $this->mock->expects($this->once())
-            ->method('open')
-            ->will($this->returnValue(false));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->open('name', 'id');
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    public function testClose()
-    {
-        $this->mock->expects($this->once())
-            ->method('close')
-            ->will($this->returnValue(true));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->close();
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    public function testCloseFalse()
-    {
-        $this->mock->expects($this->once())
-            ->method('close')
-            ->will($this->returnValue(false));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->close();
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    public function testRead()
-    {
-        $this->mock->expects($this->once())
-            ->method('read');
-
-        $this->proxy->read('id');
-    }
-
-    public function testWrite()
-    {
-        $this->mock->expects($this->once())
-            ->method('write');
-
-        $this->proxy->write('id', 'data');
-    }
-
-    public function testDestroy()
-    {
-        $this->mock->expects($this->once())
-            ->method('destroy');
-
-        $this->proxy->destroy('id');
-    }
-
-    public function testGc()
-    {
-        $this->mock->expects($this->once())
-            ->method('gc');
-
-        $this->proxy->gc(86400);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php
deleted file mode 100644
index 940f17c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\StreamedResponse;
-
-class StreamedResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructor()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; }, 404, array('Content-Type' => 'text/plain'));
-
-        $this->assertEquals(404, $response->getStatusCode());
-        $this->assertEquals('text/plain', $response->headers->get('Content-Type'));
-    }
-
-    public function testPrepareWith11Protocol()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $request = Request::create('/');
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.1');
-
-        $response->prepare($request);
-
-        $this->assertEquals('1.1', $response->getProtocolVersion());
-        $this->assertNotEquals('chunked', $response->headers->get('Transfer-Encoding'), 'Apache assumes responses with a Transfer-Encoding header set to chunked to already be encoded.');
-    }
-
-    public function testPrepareWith10Protocol()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $request = Request::create('/');
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.0');
-
-        $response->prepare($request);
-
-        $this->assertEquals('1.0', $response->getProtocolVersion());
-        $this->assertNull($response->headers->get('Transfer-Encoding'));
-    }
-
-    public function testPrepareWithHeadRequest()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $request = Request::create('/', 'HEAD');
-
-        $response->prepare($request);
-    }
-
-    public function testPrepareWithCacheHeaders()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; }, 200, array('Cache-Control' => 'max-age=600, public'));
-        $request = Request::create('/', 'GET');
-
-        $response->prepare($request);
-        $this->assertEquals('max-age=600, public', $response->headers->get('Cache-Control'));
-    }
-
-    public function testSendContent()
-    {
-        $called = 0;
-
-        $response = new StreamedResponse(function () use (&$called) { ++$called; });
-
-        $response->sendContent();
-        $this->assertEquals(1, $called);
-
-        $response->sendContent();
-        $this->assertEquals(1, $called);
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSendContentWithNonCallable()
-    {
-        $response = new StreamedResponse(null);
-        $response->sendContent();
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSetCallbackNonCallable()
-    {
-        $response = new StreamedResponse(null);
-        $response->setCallback(null);
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSetContent()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $response->setContent('foo');
-    }
-
-    public function testGetContent()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $this->assertFalse($response->getContent());
-    }
-
-    public function testCreate()
-    {
-        $response = StreamedResponse::create(function () {}, 204);
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response);
-        $this->assertEquals(204, $response->getStatusCode());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json
deleted file mode 100644
index 388eda7..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    "name": "symfony/http-foundation",
-    "type": "library",
-    "description": "Symfony HttpFoundation Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7",
-        "symfony/expression-language": "~2.4"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\HttpFoundation\\": "" },
-        "classmap": [ "Symfony/Component/HttpFoundation/Resources/stubs" ]
-    },
-    "target-dir": "Symfony/Component/HttpFoundation",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist
deleted file mode 100644
index b5b660a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist
+++ /dev/null
@@ -1,28 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony HttpFoundation Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/.gitignore b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/.gitignore
deleted file mode 100644
index 94a6a25..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
-Tests/Fixtures/cache/
-Tests/Fixtures/logs/
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/Bundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/Bundle.php
deleted file mode 100644
index 93048c4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/Bundle.php
+++ /dev/null
@@ -1,211 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Bundle;
-
-use Symfony\Component\DependencyInjection\ContainerAware;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\Console\Application;
-use Symfony\Component\Finder\Finder;
-use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
-
-/**
- * An implementation of BundleInterface that adds a few conventions
- * for DependencyInjection extensions and Console commands.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-abstract class Bundle extends ContainerAware implements BundleInterface
-{
-    protected $name;
-    protected $extension;
-    protected $path;
-
-    /**
-     * Boots the Bundle.
-     */
-    public function boot()
-    {
-    }
-
-    /**
-     * Shutdowns the Bundle.
-     */
-    public function shutdown()
-    {
-    }
-
-    /**
-     * Builds the bundle.
-     *
-     * It is only ever called once when the cache is empty.
-     *
-     * This method can be overridden to register compilation passes,
-     * other extensions, ...
-     *
-     * @param ContainerBuilder $container A ContainerBuilder instance
-     */
-    public function build(ContainerBuilder $container)
-    {
-    }
-
-    /**
-     * Returns the bundle's container extension.
-     *
-     * @return ExtensionInterface|null The container extension
-     *
-     * @throws \LogicException
-     *
-     * @api
-     */
-    public function getContainerExtension()
-    {
-        if (null === $this->extension) {
-            $class = $this->getContainerExtensionClass();
-            if (class_exists($class)) {
-                $extension = new $class();
-
-                // check naming convention
-                $basename = preg_replace('/Bundle$/', '', $this->getName());
-                $expectedAlias = Container::underscore($basename);
-                if ($expectedAlias != $extension->getAlias()) {
-                    throw new \LogicException(sprintf(
-                        'Users will expect the alias of the default extension of a bundle to be the underscored version of the bundle name ("%s"). You can override "Bundle::getContainerExtension()" if you want to use "%s" or another alias.',
-                        $expectedAlias, $extension->getAlias()
-                    ));
-                }
-
-                $this->extension = $extension;
-            } else {
-                $this->extension = false;
-            }
-        }
-
-        if ($this->extension) {
-            return $this->extension;
-        }
-    }
-
-    /**
-     * Gets the Bundle namespace.
-     *
-     * @return string The Bundle namespace
-     *
-     * @api
-     */
-    public function getNamespace()
-    {
-        $class = get_class($this);
-
-        return substr($class, 0, strrpos($class, '\\'));
-    }
-
-    /**
-     * Gets the Bundle directory path.
-     *
-     * @return string The Bundle absolute path
-     *
-     * @api
-     */
-    public function getPath()
-    {
-        if (null === $this->path) {
-            $reflected = new \ReflectionObject($this);
-            $this->path = dirname($reflected->getFileName());
-        }
-
-        return $this->path;
-    }
-
-    /**
-     * Returns the bundle parent name.
-     *
-     * @return string The Bundle parent name it overrides or null if no parent
-     *
-     * @api
-     */
-    public function getParent()
-    {
-    }
-
-    /**
-     * Returns the bundle name (the class short name).
-     *
-     * @return string The Bundle name
-     *
-     * @api
-     */
-    final public function getName()
-    {
-        if (null !== $this->name) {
-            return $this->name;
-        }
-
-        $name = get_class($this);
-        $pos = strrpos($name, '\\');
-
-        return $this->name = false === $pos ? $name : substr($name, $pos + 1);
-    }
-
-    /**
-     * Finds and registers Commands.
-     *
-     * Override this method if your bundle commands do not follow the conventions:
-     *
-     * * Commands are in the 'Command' sub-directory
-     * * Commands extend Symfony\Component\Console\Command\Command
-     *
-     * @param Application $application An Application instance
-     */
-    public function registerCommands(Application $application)
-    {
-        if (!is_dir($dir = $this->getPath().'/Command')) {
-            return;
-        }
-
-        $finder = new Finder();
-        $finder->files()->name('*Command.php')->in($dir);
-
-        $prefix = $this->getNamespace().'\\Command';
-        foreach ($finder as $file) {
-            $ns = $prefix;
-            if ($relativePath = $file->getRelativePath()) {
-                $ns .= '\\'.strtr($relativePath, '/', '\\');
-            }
-            $class = $ns.'\\'.$file->getBasename('.php');
-            if ($this->container) {
-                $alias = 'console.command.'.strtolower(str_replace('\\', '_', $class));
-                if ($this->container->has($alias)) {
-                    continue;
-                }
-            }
-            $r = new \ReflectionClass($class);
-            if ($r->isSubclassOf('Symfony\\Component\\Console\\Command\\Command') && !$r->isAbstract() && !$r->getConstructor()->getNumberOfRequiredParameters()) {
-                $application->add($r->newInstance());
-            }
-        }
-    }
-
-    /**
-     * Returns the bundle's container extension class.
-     *
-     * @return string
-     */
-    protected function getContainerExtensionClass()
-    {
-        $basename = preg_replace('/Bundle$/', '', $this->getName());
-
-        return $this->getNamespace().'\\DependencyInjection\\'.$basename.'Extension';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/BundleInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/BundleInterface.php
deleted file mode 100644
index 3203d84..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/BundleInterface.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Bundle;
-
-use Symfony\Component\DependencyInjection\ContainerAwareInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
-
-/**
- * BundleInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface BundleInterface extends ContainerAwareInterface
-{
-    /**
-     * Boots the Bundle.
-     *
-     * @api
-     */
-    public function boot();
-
-    /**
-     * Shutdowns the Bundle.
-     *
-     * @api
-     */
-    public function shutdown();
-
-    /**
-     * Builds the bundle.
-     *
-     * It is only ever called once when the cache is empty.
-     *
-     * @param ContainerBuilder $container A ContainerBuilder instance
-     *
-     * @api
-     */
-    public function build(ContainerBuilder $container);
-
-    /**
-     * Returns the container extension that should be implicitly loaded.
-     *
-     * @return ExtensionInterface|null The default extension or null if there is none
-     *
-     * @api
-     */
-    public function getContainerExtension();
-
-    /**
-     * Returns the bundle name that this bundle overrides.
-     *
-     * Despite its name, this method does not imply any parent/child relationship
-     * between the bundles, just a way to extend and override an existing
-     * bundle.
-     *
-     * @return string The Bundle name it overrides or null if no parent
-     *
-     * @api
-     */
-    public function getParent();
-
-    /**
-     * Returns the bundle name (the class short name).
-     *
-     * @return string The Bundle name
-     *
-     * @api
-     */
-    public function getName();
-
-    /**
-     * Gets the Bundle namespace.
-     *
-     * @return string The Bundle namespace
-     *
-     * @api
-     */
-    public function getNamespace();
-
-    /**
-     * Gets the Bundle directory path.
-     *
-     * The path should always be returned as a Unix path (with /).
-     *
-     * @return string The Bundle absolute path
-     *
-     * @api
-     */
-    public function getPath();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CHANGELOG.md b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CHANGELOG.md
deleted file mode 100644
index 39d35f3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CHANGELOG.md
+++ /dev/null
@@ -1,68 +0,0 @@
-CHANGELOG
-=========
-
-2.6.0
------
-
- * deprecated `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener`, use `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` instead
- * deprecated unused method `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle`
-
-2.5.0
------
-
- * deprecated `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass`, use `Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass` instead
-
-2.4.0
------
-
- * added event listeners for the session
- * added the KernelEvents::FINISH_REQUEST event
-
-2.3.0
------
-
- * [BC BREAK] renamed `Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListener` to `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener` and changed its constructor
- * deprecated `Symfony\Component\HttpKernel\Debug\ErrorHandler`, `Symfony\Component\HttpKernel\Debug\ExceptionHandler`,
-   `Symfony\Component\HttpKernel\Exception\FatalErrorException` and `Symfony\Component\HttpKernel\Exception\FlattenException`
- * deprecated `Symfony\Component\HttpKernel\Kernel::init()``
- * added the possibility to specify an id an extra attributes to hinclude tags
- * added the collect of data if a controller is a Closure in the Request collector
- * pass exceptions from the ExceptionListener to the logger using the logging context to allow for more
-   detailed messages
-
-2.2.0
------
-
- * [BC BREAK] the path info for sub-request is now always _fragment (or whatever you configured instead of the default)
- * added Symfony\Component\HttpKernel\EventListener\FragmentListener
- * added Symfony\Component\HttpKernel\UriSigner
- * added Symfony\Component\HttpKernel\FragmentRenderer and rendering strategies (in Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface)
- * added Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel
- * added ControllerReference to create reference of Controllers (used in the FragmentRenderer class)
- * [BC BREAK] renamed TimeDataCollector::getTotalTime() to
-   TimeDataCollector::getDuration()
- * updated the MemoryDataCollector to include the memory used in the
-   kernel.terminate event listeners
- * moved the Stopwatch classes to a new component
- * added TraceableControllerResolver
- * added TraceableEventDispatcher (removed ContainerAwareTraceableEventDispatcher)
- * added support for WinCache opcode cache in ConfigDataCollector
-
-2.1.0
------
-
- * [BC BREAK] the charset is now configured via the Kernel::getCharset() method
- * [BC BREAK] the current locale for the user is not stored anymore in the session
- * added the HTTP method to the profiler storage
- * updated all listeners to implement EventSubscriberInterface
- * added TimeDataCollector
- * added ContainerAwareTraceableEventDispatcher
- * moved TraceableEventDispatcherInterface to the EventDispatcher component
- * added RouterListener, LocaleListener, and StreamedResponseListener
- * added CacheClearerInterface (and ChainCacheClearer)
- * added a kernel.terminate event (via TerminableInterface and PostResponseEvent)
- * added a Stopwatch class
- * added WarmableInterface
- * improved extensibility between bundles
- * added profiler storages for Memcache(d), File-based, MongoDB, Redis
- * moved Filesystem class to its own component
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php
deleted file mode 100644
index d4a2db3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\CacheClearer;
-
-/**
- * CacheClearerInterface.
- *
- * @author Dustin Dobervich <ddobervich@gmail.com>
- */
-interface CacheClearerInterface
-{
-    /**
-     * Clears any caches necessary.
-     *
-     * @param string $cacheDir The cache directory.
-     */
-    public function clear($cacheDir);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/ChainCacheClearer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/ChainCacheClearer.php
deleted file mode 100644
index 81c43b6..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/ChainCacheClearer.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\CacheClearer;
-
-/**
- * ChainCacheClearer.
- *
- * @author Dustin Dobervich <ddobervich@gmail.com>
- */
-class ChainCacheClearer implements CacheClearerInterface
-{
-    /**
-     * @var array
-     */
-    protected $clearers;
-
-    /**
-     * Constructs a new instance of ChainCacheClearer.
-     *
-     * @param array $clearers The initial clearers.
-     */
-    public function __construct(array $clearers = array())
-    {
-        $this->clearers = $clearers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear($cacheDir)
-    {
-        foreach ($this->clearers as $clearer) {
-            $clearer->clear($cacheDir);
-        }
-    }
-
-    /**
-     * Adds a cache clearer to the aggregate.
-     *
-     * @param CacheClearerInterface $clearer
-     */
-    public function add(CacheClearerInterface $clearer)
-    {
-        $this->clearers[] = $clearer;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmer.php
deleted file mode 100644
index 948b3ff..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmer.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\CacheWarmer;
-
-/**
- * Abstract cache warmer that knows how to write a file to the cache.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class CacheWarmer implements CacheWarmerInterface
-{
-    protected function writeCacheFile($file, $content)
-    {
-        $tmpFile = tempnam(dirname($file), basename($file));
-        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
-            @chmod($file, 0666 & ~umask());
-
-            return;
-        }
-
-        throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $file));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php
deleted file mode 100644
index e5f4e4f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\CacheWarmer;
-
-/**
- * Aggregates several cache warmers into a single one.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class CacheWarmerAggregate implements CacheWarmerInterface
-{
-    protected $warmers = array();
-    protected $optionalsEnabled = false;
-
-    public function __construct(array $warmers = array())
-    {
-        foreach ($warmers as $warmer) {
-            $this->add($warmer);
-        }
-    }
-
-    public function enableOptionalWarmers()
-    {
-        $this->optionalsEnabled = true;
-    }
-
-    /**
-     * Warms up the cache.
-     *
-     * @param string $cacheDir The cache directory
-     */
-    public function warmUp($cacheDir)
-    {
-        foreach ($this->warmers as $warmer) {
-            if (!$this->optionalsEnabled && $warmer->isOptional()) {
-                continue;
-            }
-
-            $warmer->warmUp($cacheDir);
-        }
-    }
-
-    /**
-     * Checks whether this warmer is optional or not.
-     *
-     * @return bool always false
-     */
-    public function isOptional()
-    {
-        return false;
-    }
-
-    public function setWarmers(array $warmers)
-    {
-        $this->warmers = array();
-        foreach ($warmers as $warmer) {
-            $this->add($warmer);
-        }
-    }
-
-    public function add(CacheWarmerInterface $warmer)
-    {
-        $this->warmers[] = $warmer;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerInterface.php
deleted file mode 100644
index 8fece5e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerInterface.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\CacheWarmer;
-
-/**
- * Interface for classes able to warm up the cache.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface CacheWarmerInterface extends WarmableInterface
-{
-    /**
-     * Checks whether this warmer is optional or not.
-     *
-     * Optional warmers can be ignored on certain conditions.
-     *
-     * A warmer should return true if the cache can be
-     * generated incrementally and on-demand.
-     *
-     * @return bool true if the warmer is optional, false otherwise
-     */
-    public function isOptional();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/WarmableInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/WarmableInterface.php
deleted file mode 100644
index 25d8ee8..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/WarmableInterface.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\CacheWarmer;
-
-/**
- * Interface for classes that support warming their cache.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface WarmableInterface
-{
-    /**
-     * Warms up the cache.
-     *
-     * @param string $cacheDir The cache directory
-     */
-    public function warmUp($cacheDir);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php
deleted file mode 100644
index 0503f5d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php
+++ /dev/null
@@ -1,228 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-use Symfony\Component\BrowserKit\Client as BaseClient;
-use Symfony\Component\BrowserKit\Request as DomRequest;
-use Symfony\Component\BrowserKit\Response as DomResponse;
-use Symfony\Component\BrowserKit\Cookie as DomCookie;
-use Symfony\Component\BrowserKit\History;
-use Symfony\Component\BrowserKit\CookieJar;
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Client simulates a browser and makes requests to a Kernel object.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class Client extends BaseClient
-{
-    protected $kernel;
-
-    /**
-     * Constructor.
-     *
-     * @param HttpKernelInterface $kernel    An HttpKernel instance
-     * @param array               $server    The server parameters (equivalent of $_SERVER)
-     * @param History             $history   A History instance to store the browser history
-     * @param CookieJar           $cookieJar A CookieJar instance to store the cookies
-     */
-    public function __construct(HttpKernelInterface $kernel, array $server = array(), History $history = null, CookieJar $cookieJar = null)
-    {
-        // These class properties must be set before calling the parent constructor, as it may depend on it.
-        $this->kernel = $kernel;
-        $this->followRedirects = false;
-
-        parent::__construct($server, $history, $cookieJar);
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @return Request|null A Request instance
-     */
-    public function getRequest()
-    {
-        return parent::getRequest();
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @return Response|null A Response instance
-     */
-    public function getResponse()
-    {
-        return parent::getResponse();
-    }
-
-    /**
-     * Makes a request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return Response A Response instance
-     */
-    protected function doRequest($request)
-    {
-        $response = $this->kernel->handle($request);
-
-        if ($this->kernel instanceof TerminableInterface) {
-            $this->kernel->terminate($request, $response);
-        }
-
-        return $response;
-    }
-
-    /**
-     * Returns the script to execute when the request must be insulated.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return string
-     */
-    protected function getScript($request)
-    {
-        $kernel = str_replace("'", "\\'", serialize($this->kernel));
-        $request = str_replace("'", "\\'", serialize($request));
-
-        $r = new \ReflectionClass('\\Symfony\\Component\\ClassLoader\\ClassLoader');
-        $requirePath = str_replace("'", "\\'", $r->getFileName());
-        $symfonyPath = str_replace("'", "\\'", realpath(__DIR__.'/../../..'));
-        $errorReporting = error_reporting();
-
-        $code = <<<EOF
-<?php
-
-error_reporting($errorReporting & ~E_USER_DEPRECATED);
-
-require_once '$requirePath';
-
-\$loader = new Symfony\Component\ClassLoader\ClassLoader();
-\$loader->addPrefix('Symfony', '$symfonyPath');
-\$loader->register();
-
-\$kernel = unserialize('$kernel');
-\$request = unserialize('$request');
-EOF;
-
-        return $code.$this->getHandleScript();
-    }
-
-    protected function getHandleScript()
-    {
-        return <<<'EOF'
-$response = $kernel->handle($request);
-
-if ($kernel instanceof Symfony\Component\HttpKernel\TerminableInterface) {
-    $kernel->terminate($request, $response);
-}
-
-echo serialize($response);
-EOF;
-    }
-
-    /**
-     * Converts the BrowserKit request to a HttpKernel request.
-     *
-     * @param DomRequest $request A DomRequest instance
-     *
-     * @return Request A Request instance
-     */
-    protected function filterRequest(DomRequest $request)
-    {
-        $httpRequest = Request::create($request->getUri(), $request->getMethod(), $request->getParameters(), $request->getCookies(), $request->getFiles(), $request->getServer(), $request->getContent());
-
-        foreach ($this->filterFiles($httpRequest->files->all()) as $key => $value) {
-            $httpRequest->files->set($key, $value);
-        }
-
-        return $httpRequest;
-    }
-
-    /**
-     * Filters an array of files.
-     *
-     * This method created test instances of UploadedFile so that the move()
-     * method can be called on those instances.
-     *
-     * If the size of a file is greater than the allowed size (from php.ini) then
-     * an invalid UploadedFile is returned with an error set to UPLOAD_ERR_INI_SIZE.
-     *
-     * @see UploadedFile
-     *
-     * @param array $files An array of files
-     *
-     * @return array An array with all uploaded files marked as already moved
-     */
-    protected function filterFiles(array $files)
-    {
-        $filtered = array();
-        foreach ($files as $key => $value) {
-            if (is_array($value)) {
-                $filtered[$key] = $this->filterFiles($value);
-            } elseif ($value instanceof UploadedFile) {
-                if ($value->isValid() && $value->getSize() > UploadedFile::getMaxFilesize()) {
-                    $filtered[$key] = new UploadedFile(
-                        '',
-                        $value->getClientOriginalName(),
-                        $value->getClientMimeType(),
-                        0,
-                        UPLOAD_ERR_INI_SIZE,
-                        true
-                    );
-                } else {
-                    $filtered[$key] = new UploadedFile(
-                        $value->getPathname(),
-                        $value->getClientOriginalName(),
-                        $value->getClientMimeType(),
-                        $value->getClientSize(),
-                        $value->getError(),
-                        true
-                    );
-                }
-            }
-        }
-
-        return $filtered;
-    }
-
-    /**
-     * Converts the HttpKernel response to a BrowserKit response.
-     *
-     * @param Response $response A Response instance
-     *
-     * @return DomResponse A DomResponse instance
-     */
-    protected function filterResponse($response)
-    {
-        $headers = $response->headers->all();
-        if ($response->headers->getCookies()) {
-            $cookies = array();
-            foreach ($response->headers->getCookies() as $cookie) {
-                $cookies[] = new DomCookie($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 DomResponse($content, $response->getStatusCode(), $headers);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/EnvParametersResource.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/EnvParametersResource.php
deleted file mode 100644
index 5f54450..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/EnvParametersResource.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Config;
-
-use Symfony\Component\Config\Resource\ResourceInterface;
-
-/**
- * EnvParametersResource represents resources stored in prefixed environment variables.
- *
- * @author Chris Wilkinson <chriswilkinson84@gmail.com>
- */
-class EnvParametersResource implements ResourceInterface, \Serializable
-{
-    /**
-     * @var string
-     */
-    private $prefix;
-
-    /**
-     * @var string
-     */
-    private $variables;
-
-    /**
-     * Constructor.
-     *
-     * @param string $prefix
-     */
-    public function __construct($prefix)
-    {
-        $this->prefix = $prefix;
-        $this->variables = $this->findVariables();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return serialize($this->getResource());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getResource()
-    {
-        return array('prefix' => $this->prefix, 'variables' => $this->variables);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($timestamp)
-    {
-        return $this->findVariables() === $this->variables;
-    }
-
-    public function serialize()
-    {
-        return serialize(array('prefix' => $this->prefix, 'variables' => $this->variables));
-    }
-
-    public function unserialize($serialized)
-    {
-        $unserialized = unserialize($serialized);
-
-        $this->prefix = $unserialized['prefix'];
-        $this->variables = $unserialized['variables'];
-    }
-
-    private function findVariables()
-    {
-        $variables = array();
-
-        foreach ($_SERVER as $key => $value) {
-            if (0 === strpos($key, $this->prefix)) {
-                $variables[$key] = $value;
-            }
-        }
-
-        ksort($variables);
-
-        return $variables;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/FileLocator.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/FileLocator.php
deleted file mode 100644
index 169c9ad..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/FileLocator.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Config;
-
-use Symfony\Component\Config\FileLocator as BaseFileLocator;
-use Symfony\Component\HttpKernel\KernelInterface;
-
-/**
- * FileLocator uses the KernelInterface to locate resources in bundles.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class FileLocator extends BaseFileLocator
-{
-    private $kernel;
-    private $path;
-
-    /**
-     * Constructor.
-     *
-     * @param KernelInterface $kernel A KernelInterface instance
-     * @param null|string     $path   The path the global resource directory
-     * @param array           $paths  An array of paths where to look for resources
-     */
-    public function __construct(KernelInterface $kernel, $path = null, array $paths = array())
-    {
-        $this->kernel = $kernel;
-        if (null !== $path) {
-            $this->path = $path;
-            $paths[] = $path;
-        }
-
-        parent::__construct($paths);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function locate($file, $currentPath = null, $first = true)
-    {
-        if (isset($file[0]) && '@' === $file[0]) {
-            return $this->kernel->locateResource($file, $this->path, $first);
-        }
-
-        return parent::locate($file, $currentPath, $first);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerReference.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerReference.php
deleted file mode 100644
index 3d1592e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerReference.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Controller;
-
-use Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface;
-
-/**
- * Acts as a marker and a data holder for a Controller.
- *
- * Some methods in Symfony accept both a URI (as a string) or a controller as
- * an argument. In the latter case, instead of passing an array representing
- * the controller, you can use an instance of this class.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @see FragmentRendererInterface
- */
-class ControllerReference
-{
-    public $controller;
-    public $attributes = array();
-    public $query = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $controller The controller name
-     * @param array  $attributes An array of parameters to add to the Request attributes
-     * @param array  $query      An array of parameters to add to the Request query string
-     */
-    public function __construct($controller, array $attributes = array(), array $query = array())
-    {
-        $this->controller = $controller;
-        $this->attributes = $attributes;
-        $this->query = $query;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolver.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
deleted file mode 100644
index b9bac02..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Controller;
-
-use Psr\Log\LoggerInterface;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * ControllerResolver.
- *
- * This implementation uses the '_controller' request attribute to determine
- * the controller to execute and uses the request attributes to determine
- * the controller method arguments.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class ControllerResolver implements ControllerResolverInterface
-{
-    private $logger;
-
-    /**
-     * Constructor.
-     *
-     * @param LoggerInterface $logger A LoggerInterface instance
-     */
-    public function __construct(LoggerInterface $logger = null)
-    {
-        $this->logger = $logger;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * This method looks for a '_controller' request attribute that represents
-     * the controller name (a string like ClassName::MethodName).
-     *
-     * @api
-     */
-    public function getController(Request $request)
-    {
-        if (!$controller = $request->attributes->get('_controller')) {
-            if (null !== $this->logger) {
-                $this->logger->warning('Unable to look for the controller as the "_controller" parameter is missing');
-            }
-
-            return false;
-        }
-
-        if (is_array($controller)) {
-            return $controller;
-        }
-
-        if (is_object($controller)) {
-            if (method_exists($controller, '__invoke')) {
-                return $controller;
-            }
-
-            throw new \InvalidArgumentException(sprintf('Controller "%s" for URI "%s" is not callable.', get_class($controller), $request->getPathInfo()));
-        }
-
-        if (false === strpos($controller, ':')) {
-            if (method_exists($controller, '__invoke')) {
-                return $this->instantiateController($controller);
-            } elseif (function_exists($controller)) {
-                return $controller;
-            }
-        }
-
-        $callable = $this->createController($controller);
-
-        if (!is_callable($callable)) {
-            throw new \InvalidArgumentException(sprintf('Controller "%s" for URI "%s" is not callable.', $controller, $request->getPathInfo()));
-        }
-
-        return $callable;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getArguments(Request $request, $controller)
-    {
-        if (is_array($controller)) {
-            $r = new \ReflectionMethod($controller[0], $controller[1]);
-        } elseif (is_object($controller) && !$controller instanceof \Closure) {
-            $r = new \ReflectionObject($controller);
-            $r = $r->getMethod('__invoke');
-        } else {
-            $r = new \ReflectionFunction($controller);
-        }
-
-        return $this->doGetArguments($request, $controller, $r->getParameters());
-    }
-
-    protected function doGetArguments(Request $request, $controller, array $parameters)
-    {
-        $attributes = $request->attributes->all();
-        $arguments = array();
-        foreach ($parameters as $param) {
-            if (array_key_exists($param->name, $attributes)) {
-                $arguments[] = $attributes[$param->name];
-            } elseif ($param->getClass() && $param->getClass()->isInstance($request)) {
-                $arguments[] = $request;
-            } elseif ($param->isDefaultValueAvailable()) {
-                $arguments[] = $param->getDefaultValue();
-            } else {
-                if (is_array($controller)) {
-                    $repr = sprintf('%s::%s()', get_class($controller[0]), $controller[1]);
-                } elseif (is_object($controller)) {
-                    $repr = get_class($controller);
-                } else {
-                    $repr = $controller;
-                }
-
-                throw new \RuntimeException(sprintf('Controller "%s" requires that you provide a value for the "$%s" argument (because there is no default value or because there is a non optional argument after this one).', $repr, $param->name));
-            }
-        }
-
-        return $arguments;
-    }
-
-    /**
-     * Returns a callable for the given controller.
-     *
-     * @param string $controller A Controller string
-     *
-     * @return mixed A PHP callable
-     *
-     * @throws \InvalidArgumentException
-     */
-    protected function createController($controller)
-    {
-        if (false === strpos($controller, '::')) {
-            throw new \InvalidArgumentException(sprintf('Unable to find controller "%s".', $controller));
-        }
-
-        list($class, $method) = explode('::', $controller, 2);
-
-        if (!class_exists($class)) {
-            throw new \InvalidArgumentException(sprintf('Class "%s" does not exist.', $class));
-        }
-
-        return array($this->instantiateController($class), $method);
-    }
-
-    /**
-     * Returns an instantiated controller
-     *
-     * @param string $class A class name
-     *
-     * @return object
-     */
-    protected function instantiateController($class)
-    {
-        return new $class();
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
deleted file mode 100644
index 6f805ed..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Controller;
-
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * A ControllerResolverInterface implementation knows how to determine the
- * controller to execute based on a Request object.
- *
- * It can also determine the arguments to pass to the Controller.
- *
- * A Controller can be any valid PHP callable.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface ControllerResolverInterface
-{
-    /**
-     * Returns the Controller instance associated with a Request.
-     *
-     * As several resolvers can exist for a single application, a resolver must
-     * return false when it is not able to determine the controller.
-     *
-     * The resolver must only throw an exception when it should be able to load
-     * controller but cannot because of some errors made by the developer.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return callable|false A PHP callable representing the Controller,
-     *                        or false if this resolver is not able to determine the controller
-     *
-     * @throws \LogicException If the controller can't be found
-     *
-     * @api
-     */
-    public function getController(Request $request);
-
-    /**
-     * Returns the arguments to pass to the controller.
-     *
-     * @param Request  $request    A Request instance
-     * @param callable $controller A PHP callable
-     *
-     * @return array An array of arguments to pass to the controller
-     *
-     * @throws \RuntimeException When value for argument given is not provided
-     *
-     * @api
-     */
-    public function getArguments(Request $request, $controller);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/TraceableControllerResolver.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/TraceableControllerResolver.php
deleted file mode 100644
index f8de31c..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/TraceableControllerResolver.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Controller;
-
-use Symfony\Component\Stopwatch\Stopwatch;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * TraceableControllerResolver.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class TraceableControllerResolver implements ControllerResolverInterface
-{
-    private $resolver;
-    private $stopwatch;
-
-    /**
-     * Constructor.
-     *
-     * @param ControllerResolverInterface $resolver  A ControllerResolverInterface instance
-     * @param Stopwatch                   $stopwatch A Stopwatch instance
-     */
-    public function __construct(ControllerResolverInterface $resolver, Stopwatch $stopwatch)
-    {
-        $this->resolver = $resolver;
-        $this->stopwatch = $stopwatch;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getController(Request $request)
-    {
-        $e = $this->stopwatch->start('controller.get_callable');
-
-        $ret = $this->resolver->getController($request);
-
-        $e->stop();
-
-        return $ret;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getArguments(Request $request, $controller)
-    {
-        $e = $this->stopwatch->start('controller.get_arguments');
-
-        $ret = $this->resolver->getArguments($request, $controller);
-
-        $e->stop();
-
-        return $ret;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php
deleted file mode 100644
index f58027e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php
+++ /dev/null
@@ -1,245 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpKernel\KernelInterface;
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * ConfigDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ConfigDataCollector extends DataCollector
-{
-    private $kernel;
-    private $name;
-    private $version;
-
-    /**
-     * Constructor.
-     *
-     * @param string $name    The name of the application using the web profiler
-     * @param string $version The version of the application using the web profiler
-     */
-    public function __construct($name = null, $version = null)
-    {
-        $this->name = $name;
-        $this->version = $version;
-    }
-
-    /**
-     * Sets the Kernel associated with this Request.
-     *
-     * @param KernelInterface $kernel A KernelInterface instance
-     */
-    public function setKernel(KernelInterface $kernel = null)
-    {
-        $this->kernel = $kernel;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        $this->data = array(
-            'app_name' => $this->name,
-            'app_version' => $this->version,
-            'token' => $response->headers->get('X-Debug-Token'),
-            'symfony_version' => Kernel::VERSION,
-            'name' => isset($this->kernel) ? $this->kernel->getName() : 'n/a',
-            'env' => isset($this->kernel) ? $this->kernel->getEnvironment() : 'n/a',
-            'debug' => isset($this->kernel) ? $this->kernel->isDebug() : 'n/a',
-            'php_version' => PHP_VERSION,
-            'xdebug_enabled' => extension_loaded('xdebug'),
-            'eaccel_enabled' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'),
-            'apc_enabled' => extension_loaded('apc') && ini_get('apc.enabled'),
-            'xcache_enabled' => extension_loaded('xcache') && ini_get('xcache.cacher'),
-            'wincache_enabled' => extension_loaded('wincache') && ini_get('wincache.ocenabled'),
-            'zend_opcache_enabled' => extension_loaded('Zend OPcache') && ini_get('opcache.enable'),
-            'bundles' => array(),
-            'sapi_name' => php_sapi_name(),
-        );
-
-        if (isset($this->kernel)) {
-            foreach ($this->kernel->getBundles() as $name => $bundle) {
-                $this->data['bundles'][$name] = $bundle->getPath();
-            }
-        }
-    }
-
-    public function getApplicationName()
-    {
-        return $this->data['app_name'];
-    }
-
-    public function getApplicationVersion()
-    {
-        return $this->data['app_version'];
-    }
-
-    /**
-     * Gets the token.
-     *
-     * @return string The token
-     */
-    public function getToken()
-    {
-        return $this->data['token'];
-    }
-
-    /**
-     * Gets the Symfony version.
-     *
-     * @return string The Symfony version
-     */
-    public function getSymfonyVersion()
-    {
-        return $this->data['symfony_version'];
-    }
-
-    /**
-     * Gets the PHP version.
-     *
-     * @return string The PHP version
-     */
-    public function getPhpVersion()
-    {
-        return $this->data['php_version'];
-    }
-
-    /**
-     * Gets the application name.
-     *
-     * @return string The application name
-     */
-    public function getAppName()
-    {
-        return $this->data['name'];
-    }
-
-    /**
-     * Gets the environment.
-     *
-     * @return string The environment
-     */
-    public function getEnv()
-    {
-        return $this->data['env'];
-    }
-
-    /**
-     * Returns true if the debug is enabled.
-     *
-     * @return bool true if debug is enabled, false otherwise
-     */
-    public function isDebug()
-    {
-        return $this->data['debug'];
-    }
-
-    /**
-     * Returns true if the XDebug is enabled.
-     *
-     * @return bool true if XDebug is enabled, false otherwise
-     */
-    public function hasXDebug()
-    {
-        return $this->data['xdebug_enabled'];
-    }
-
-    /**
-     * Returns true if EAccelerator is enabled.
-     *
-     * @return bool true if EAccelerator is enabled, false otherwise
-     */
-    public function hasEAccelerator()
-    {
-        return $this->data['eaccel_enabled'];
-    }
-
-    /**
-     * Returns true if APC is enabled.
-     *
-     * @return bool true if APC is enabled, false otherwise
-     */
-    public function hasApc()
-    {
-        return $this->data['apc_enabled'];
-    }
-
-    /**
-     * Returns true if Zend OPcache is enabled.
-     *
-     * @return bool true if Zend OPcache is enabled, false otherwise
-     */
-    public function hasZendOpcache()
-    {
-        return $this->data['zend_opcache_enabled'];
-    }
-
-    /**
-     * Returns true if XCache is enabled.
-     *
-     * @return bool true if XCache is enabled, false otherwise
-     */
-    public function hasXCache()
-    {
-        return $this->data['xcache_enabled'];
-    }
-
-    /**
-     * Returns true if WinCache is enabled.
-     *
-     * @return bool true if WinCache is enabled, false otherwise
-     */
-    public function hasWinCache()
-    {
-        return $this->data['wincache_enabled'];
-    }
-
-    /**
-     * Returns true if any accelerator is enabled.
-     *
-     * @return bool true if any accelerator is enabled, false otherwise
-     */
-    public function hasAccelerator()
-    {
-        return $this->hasApc() || $this->hasZendOpcache() || $this->hasEAccelerator() || $this->hasXCache() || $this->hasWinCache();
-    }
-
-    public function getBundles()
-    {
-        return $this->data['bundles'];
-    }
-
-    /**
-     * Gets the PHP SAPI name.
-     *
-     * @return string The environment
-     */
-    public function getSapiName()
-    {
-        return $this->data['sapi_name'];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'config';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
deleted file mode 100644
index 5dca652..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\Util\ValueExporter;
-
-/**
- * DataCollector.
- *
- * Children of this class must store the collected data in the data property.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@symfony.com>
- */
-abstract class DataCollector implements DataCollectorInterface, \Serializable
-{
-    protected $data = array();
-
-    /**
-     * @var ValueExporter
-     */
-    private $valueExporter;
-
-    public function serialize()
-    {
-        return serialize($this->data);
-    }
-
-    public function unserialize($data)
-    {
-        $this->data = unserialize($data);
-    }
-
-    /**
-     * Converts a PHP variable to a string.
-     *
-     * @param mixed $var A PHP variable
-     *
-     * @return string The string representation of the variable
-     */
-    protected function varToString($var)
-    {
-        if (null === $this->valueExporter) {
-            $this->valueExporter = new ValueExporter();
-        }
-
-        return $this->valueExporter->exportValue($var);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php
deleted file mode 100644
index cf4cdfd..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * DataCollectorInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface DataCollectorInterface
-{
-    /**
-     * Collects data for the given Request and Response.
-     *
-     * @param Request    $request   A Request instance
-     * @param Response   $response  A Response instance
-     * @param \Exception $exception An Exception instance
-     *
-     * @api
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null);
-
-    /**
-     * Returns the name of the collector.
-     *
-     * @return string The collector name
-     *
-     * @api
-     */
-    public function getName();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php
deleted file mode 100644
index 91851c9..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\Stopwatch\Stopwatch;
-use Symfony\Component\VarDumper\Cloner\Data;
-use Symfony\Component\VarDumper\Cloner\VarCloner;
-use Symfony\Component\VarDumper\Dumper\CliDumper;
-use Symfony\Component\VarDumper\Dumper\HtmlDumper;
-use Symfony\Component\VarDumper\Dumper\DataDumperInterface;
-
-/**
- * @author Nicolas Grekas <p@tchwork.com>
- */
-class DumpDataCollector extends DataCollector implements DataDumperInterface
-{
-    private $stopwatch;
-    private $fileLinkFormat;
-    private $dataCount = 0;
-    private $isCollected = true;
-    private $clonesCount = 0;
-    private $clonesIndex = 0;
-    private $rootRefs;
-    private $charset;
-
-    public function __construct(Stopwatch $stopwatch = null, $fileLinkFormat = null, $charset = null)
-    {
-        $this->stopwatch = $stopwatch;
-        $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
-        $this->charset = $charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8';
-
-        // All clones share these properties by reference:
-        $this->rootRefs = array(
-            &$this->data,
-            &$this->dataCount,
-            &$this->isCollected,
-            &$this->clonesCount,
-        );
-    }
-
-    public function __clone()
-    {
-        $this->clonesIndex = ++$this->clonesCount;
-    }
-
-    public function dump(Data $data)
-    {
-        if ($this->stopwatch) {
-            $this->stopwatch->start('dump');
-        }
-        if ($this->isCollected) {
-            $this->isCollected = false;
-        }
-
-        $trace = PHP_VERSION_ID >= 50306 ? DEBUG_BACKTRACE_PROVIDE_OBJECT | DEBUG_BACKTRACE_IGNORE_ARGS : true;
-        if (PHP_VERSION_ID >= 50400) {
-            $trace = debug_backtrace($trace, 7);
-        } else {
-            $trace = debug_backtrace($trace);
-        }
-
-        $file = $trace[0]['file'];
-        $line = $trace[0]['line'];
-        $name = false;
-        $fileExcerpt = false;
-
-        for ($i = 1; $i < 7; ++$i) {
-            if (isset($trace[$i]['class'], $trace[$i]['function'])
-                && 'dump' === $trace[$i]['function']
-                && 'Symfony\Component\VarDumper\VarDumper' === $trace[$i]['class']
-            ) {
-                $file = $trace[$i]['file'];
-                $line = $trace[$i]['line'];
-
-                while (++$i < 7) {
-                    if (isset($trace[$i]['function']) && empty($trace[$i]['class']) && 'call_user_func' !== $trace[$i]['function']) {
-                        $file = $trace[$i]['file'];
-                        $line = $trace[$i]['line'];
-
-                        break;
-                    } elseif (isset($trace[$i]['object']) && $trace[$i]['object'] instanceof \Twig_Template) {
-                        $info = $trace[$i]['object'];
-                        $name = $info->getTemplateName();
-                        $src = $info->getEnvironment()->getLoader()->getSource($name);
-                        $info = $info->getDebugInfo();
-                        if (isset($info[$trace[$i-1]['line']])) {
-                            $file = false;
-                            $line = $info[$trace[$i-1]['line']];
-                            $src = explode("\n", $src);
-                            $fileExcerpt = array();
-
-                            for ($i = max($line - 3, 1), $max = min($line + 3, count($src)); $i <= $max; ++$i) {
-                                $fileExcerpt[] = '<li'.($i === $line ? ' class="selected"' : '').'><code>'.$this->htmlEncode($src[$i - 1]).'</code></li>';
-                            }
-
-                            $fileExcerpt = '<ol start="'.max($line - 3, 1).'">'.implode("\n", $fileExcerpt).'</ol>';
-                        }
-                        break;
-                    }
-                }
-                break;
-            }
-        }
-
-        if (false === $name) {
-            $name = strtr($file, '\\', '/');
-            $name = substr($name, strrpos($name, '/') + 1);
-        }
-
-        $this->data[] = compact('data', 'name', 'file', 'line', 'fileExcerpt');
-        ++$this->dataCount;
-
-        if ($this->stopwatch) {
-            $this->stopwatch->stop('dump');
-        }
-    }
-
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-    }
-
-    public function serialize()
-    {
-        if ($this->clonesCount !== $this->clonesIndex) {
-            return 'a:0:{}';
-        }
-
-        $ser = serialize($this->data);
-        $this->data = array();
-        $this->dataCount = 0;
-        $this->isCollected = true;
-
-        return $ser;
-    }
-
-    public function unserialize($data)
-    {
-        parent::unserialize($data);
-        $this->dataCount = count($this->data);
-        self::__construct($this->stopwatch);
-    }
-
-    public function getDumpsCount()
-    {
-        return $this->dataCount;
-    }
-
-    public function getDumps($format, $maxDepthLimit = -1, $maxItemsPerDepth = -1)
-    {
-        $data = fopen('php://memory', 'r+b');
-
-        if ('html' === $format) {
-            $dumper = new HtmlDumper($data, $this->charset);
-        } else {
-            throw new \InvalidArgumentException(sprintf('Invalid dump format: %s', $format));
-        }
-        $dumps = array();
-
-        foreach ($this->data as $dump) {
-            $dumper->dump($dump['data']->getLimitedClone($maxDepthLimit, $maxItemsPerDepth));
-            rewind($data);
-            $dump['data'] = stream_get_contents($data);
-            ftruncate($data, 0);
-            rewind($data);
-            $dumps[] = $dump;
-        }
-
-        return $dumps;
-    }
-
-    public function getName()
-    {
-        return 'dump';
-    }
-
-    public function __destruct()
-    {
-        if (0 === $this->clonesCount-- && !$this->isCollected && $this->data) {
-            $this->clonesCount = 0;
-            $this->isCollected = true;
-
-            $h = headers_list();
-            $i = count($h);
-            array_unshift($h, 'Content-Type: '.ini_get('default_mimetype'));
-            while (0 !== stripos($h[$i], 'Content-Type:')) {
-                --$i;
-            }
-
-            if ('cli' !== PHP_SAPI && stripos($h[$i], 'html')) {
-                $dumper = new HtmlDumper('php://output', $this->charset);
-            } else {
-                $dumper = new CliDumper('php://output', $this->charset);
-                $dumper->setColors(false);
-            }
-
-            foreach ($this->data as $i => $dump) {
-                $this->data[$i] = null;
-
-                if ($dumper instanceof HtmlDumper) {
-                    $dump['name'] = $this->htmlEncode($dump['name']);
-                    $dump['file'] = $this->htmlEncode($dump['file']);
-                    if ('' !== $dump['file']) {
-                        if ($this->fileLinkFormat) {
-                            $link = strtr($this->fileLinkFormat, array('%f' => $dump['file'], '%l' => $dump['line']));
-                            $dump['name'] = sprintf('<a href="%s" title="%s">%s</a>', $link, $dump['file'], $dump['name']);
-                        } else {
-                            $dump['name'] = sprintf('<abbr title="%s">%s</abbr>', $dump['file'], $dump['name']);
-                        }
-                    }
-                    echo "\n<span class=\"sf-dump-meta\">{$dump['name']} on line {$dump['line']}:</span>";
-                } else {
-                    echo "{$dump['name']} on line {$dump['line']}:\n";
-                }
-                $dumper->dump($dump['data']);
-            }
-
-            $this->data = array();
-            $this->dataCount = 0;
-        }
-    }
-
-    private function htmlEncode($s)
-    {
-        $html = '';
-
-        $dumper = new HtmlDumper(function ($line) use (&$html) {$html .= $line;}, $this->charset);
-        $dumper->setDumpHeader('');
-        $dumper->setDumpBoundaries('', '');
-
-        $cloner = new VarCloner();
-        $dumper->dump($cloner->cloneVar($s));
-
-        return substr(strip_tags($html), 1, -1);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php
deleted file mode 100644
index 0a87bc3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface;
-
-/**
- * EventDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class EventDataCollector extends DataCollector implements LateDataCollectorInterface
-{
-    protected $dispatcher;
-
-    public function __construct(EventDispatcherInterface $dispatcher = null)
-    {
-        $this->dispatcher = $dispatcher;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        $this->data = array(
-            'called_listeners' => array(),
-            'not_called_listeners' => array(),
-        );
-    }
-
-    public function lateCollect()
-    {
-        if ($this->dispatcher instanceof TraceableEventDispatcherInterface) {
-            $this->setCalledListeners($this->dispatcher->getCalledListeners());
-            $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners());
-        }
-    }
-
-    /**
-     * Sets the called listeners.
-     *
-     * @param array $listeners An array of called listeners
-     *
-     * @see TraceableEventDispatcherInterface
-     */
-    public function setCalledListeners(array $listeners)
-    {
-        $this->data['called_listeners'] = $listeners;
-    }
-
-    /**
-     * Gets the called listeners.
-     *
-     * @return array An array of called listeners
-     *
-     * @see TraceableEventDispatcherInterface
-     */
-    public function getCalledListeners()
-    {
-        return $this->data['called_listeners'];
-    }
-
-    /**
-     * Sets the not called listeners.
-     *
-     * @param array $listeners An array of not called listeners
-     *
-     * @see TraceableEventDispatcherInterface
-     */
-    public function setNotCalledListeners(array $listeners)
-    {
-        $this->data['not_called_listeners'] = $listeners;
-    }
-
-    /**
-     * Gets the not called listeners.
-     *
-     * @return array An array of not called listeners
-     *
-     * @see TraceableEventDispatcherInterface
-     */
-    public function getNotCalledListeners()
-    {
-        return $this->data['not_called_listeners'];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'events';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php
deleted file mode 100644
index 9fe8264..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\Debug\Exception\FlattenException;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * ExceptionDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ExceptionDataCollector extends DataCollector
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        if (null !== $exception) {
-            $this->data = array(
-                'exception' => FlattenException::create($exception),
-            );
-        }
-    }
-
-    /**
-     * Checks if the exception is not null.
-     *
-     * @return bool true if the exception is not null, false otherwise
-     */
-    public function hasException()
-    {
-        return isset($this->data['exception']);
-    }
-
-    /**
-     * Gets the exception.
-     *
-     * @return \Exception The exception
-     */
-    public function getException()
-    {
-        return $this->data['exception'];
-    }
-
-    /**
-     * Gets the exception message.
-     *
-     * @return string The exception message
-     */
-    public function getMessage()
-    {
-        return $this->data['exception']->getMessage();
-    }
-
-    /**
-     * Gets the exception code.
-     *
-     * @return int The exception code
-     */
-    public function getCode()
-    {
-        return $this->data['exception']->getCode();
-    }
-
-    /**
-     * Gets the status code.
-     *
-     * @return int The status code
-     */
-    public function getStatusCode()
-    {
-        return $this->data['exception']->getStatusCode();
-    }
-
-    /**
-     * Gets the exception trace.
-     *
-     * @return array The exception trace
-     */
-    public function getTrace()
-    {
-        return $this->data['exception']->getTrace();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'exception';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LateDataCollectorInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LateDataCollectorInterface.php
deleted file mode 100644
index 012332d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LateDataCollectorInterface.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-/**
- * LateDataCollectorInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface LateDataCollectorInterface
-{
-    /**
-     * Collects data as late as possible.
-     */
-    public function lateCollect();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php
deleted file mode 100644
index 0d1decd..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
-
-/**
- * LogDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class LoggerDataCollector extends DataCollector implements LateDataCollectorInterface
-{
-    private $logger;
-
-    public function __construct($logger = null)
-    {
-        if (null !== $logger && $logger instanceof DebugLoggerInterface) {
-            $this->logger = $logger;
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        // everything is done as late as possible
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function lateCollect()
-    {
-        if (null !== $this->logger) {
-            $this->data = $this->computeErrorsCount();
-            $this->data['logs'] = $this->sanitizeLogs($this->logger->getLogs());
-        }
-    }
-
-    /**
-     * Gets the called events.
-     *
-     * @return array An array of called events
-     *
-     * @see TraceableEventDispatcherInterface
-     */
-    public function countErrors()
-    {
-        return isset($this->data['error_count']) ? $this->data['error_count'] : 0;
-    }
-
-    /**
-     * Gets the logs.
-     *
-     * @return array An array of logs
-     */
-    public function getLogs()
-    {
-        return isset($this->data['logs']) ? $this->data['logs'] : array();
-    }
-
-    public function getPriorities()
-    {
-        return isset($this->data['priorities']) ? $this->data['priorities'] : array();
-    }
-
-    public function countDeprecations()
-    {
-        return isset($this->data['deprecation_count']) ? $this->data['deprecation_count'] : 0;
-    }
-
-    public function countScreams()
-    {
-        return isset($this->data['scream_count']) ? $this->data['scream_count'] : 0;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'logger';
-    }
-
-    private function sanitizeLogs($logs)
-    {
-        foreach ($logs as $i => $log) {
-            $context = $this->sanitizeContext($log['context']);
-            if (isset($context['type'], $context['level']) && !($context['type'] & $context['level'])) {
-                $context['scream'] = true;
-            }
-            $logs[$i]['context'] = $context;
-        }
-
-        return $logs;
-    }
-
-    private function sanitizeContext($context)
-    {
-        if (is_array($context)) {
-            foreach ($context as $key => $value) {
-                $context[$key] = $this->sanitizeContext($value);
-            }
-
-            return $context;
-        }
-
-        if (is_resource($context)) {
-            return sprintf('Resource(%s)', get_resource_type($context));
-        }
-
-        if (is_object($context)) {
-            return sprintf('Object(%s)', get_class($context));
-        }
-
-        return $context;
-    }
-
-    private function computeErrorsCount()
-    {
-        $count = array(
-            'error_count' => $this->logger->countErrors(),
-            'deprecation_count' => 0,
-            'scream_count' => 0,
-            'priorities' => array(),
-        );
-
-        foreach ($this->logger->getLogs() as $log) {
-            if (isset($count['priorities'][$log['priority']])) {
-                ++$count['priorities'][$log['priority']]['count'];
-            } else {
-                $count['priorities'][$log['priority']] = array(
-                    'count' => 1,
-                    'name' => $log['priorityName'],
-                );
-            }
-
-            if (isset($log['context']['type'], $log['context']['level'])) {
-                if (E_DEPRECATED === $log['context']['type'] || E_USER_DEPRECATED === $log['context']['type']) {
-                    ++$count['deprecation_count'];
-                } elseif (!($log['context']['type'] & $log['context']['level'])) {
-                    ++$count['scream_count'];
-                }
-            }
-        }
-
-        ksort($count['priorities']);
-
-        return $count;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php
deleted file mode 100644
index 9385010..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * MemoryDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class MemoryDataCollector extends DataCollector implements LateDataCollectorInterface
-{
-    public function __construct()
-    {
-        $this->data = array(
-            'memory' => 0,
-            'memory_limit' => $this->convertToBytes(ini_get('memory_limit')),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        $this->updateMemoryUsage();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function lateCollect()
-    {
-        $this->updateMemoryUsage();
-    }
-
-    /**
-     * Gets the memory.
-     *
-     * @return int The memory
-     */
-    public function getMemory()
-    {
-        return $this->data['memory'];
-    }
-
-    /**
-     * Gets the PHP memory limit.
-     *
-     * @return int The memory limit
-     */
-    public function getMemoryLimit()
-    {
-        return $this->data['memory_limit'];
-    }
-
-    /**
-     * Updates the memory usage data.
-     */
-    public function updateMemoryUsage()
-    {
-        $this->data['memory'] = memory_get_peak_usage(true);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'memory';
-    }
-
-    private function convertToBytes($memoryLimit)
-    {
-        if ('-1' === $memoryLimit) {
-            return -1;
-        }
-
-        $memoryLimit = strtolower($memoryLimit);
-        $max = strtolower(ltrim($memoryLimit, '+'));
-        if (0 === strpos($max, '0x')) {
-            $max = intval($max, 16);
-        } elseif (0 === strpos($max, '0')) {
-            $max = intval($max, 8);
-        } else {
-            $max = (int) $max;
-        }
-
-        switch (substr($memoryLimit, -1)) {
-            case 't': $max *= 1024;
-            case 'g': $max *= 1024;
-            case 'm': $max *= 1024;
-            case 'k': $max *= 1024;
-        }
-
-        return $max;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php
deleted file mode 100644
index b839cc0..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php
+++ /dev/null
@@ -1,338 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\ParameterBag;
-use Symfony\Component\HttpFoundation\HeaderBag;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\ResponseHeaderBag;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * RequestDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class RequestDataCollector extends DataCollector implements EventSubscriberInterface
-{
-    protected $controllers;
-
-    public function __construct()
-    {
-        $this->controllers = new \SplObjectStorage();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        $responseHeaders = $response->headers->all();
-        $cookies = array();
-        foreach ($response->headers->getCookies() as $cookie) {
-            $cookies[] = $this->getCookieHeader($cookie->getName(), $cookie->getValue(), $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly());
-        }
-        if (count($cookies) > 0) {
-            $responseHeaders['Set-Cookie'] = $cookies;
-        }
-
-        // attributes are serialized and as they can be anything, they need to be converted to strings.
-        $attributes = array();
-        foreach ($request->attributes->all() as $key => $value) {
-            if ('_route' === $key && is_object($value)) {
-                $attributes[$key] = $this->varToString($value->getPath());
-            } elseif ('_route_params' === $key) {
-                // we need to keep route params as an array (see getRouteParams())
-                foreach ($value as $k => $v) {
-                    $value[$k] = $this->varToString($v);
-                }
-                $attributes[$key] = $value;
-            } else {
-                $attributes[$key] = $this->varToString($value);
-            }
-        }
-
-        $content = null;
-        try {
-            $content = $request->getContent();
-        } catch (\LogicException $e) {
-            // the user already got the request content as a resource
-            $content = false;
-        }
-
-        $sessionMetadata = array();
-        $sessionAttributes = array();
-        $flashes = array();
-        if ($request->hasSession()) {
-            $session = $request->getSession();
-            if ($session->isStarted()) {
-                $sessionMetadata['Created'] = date(DATE_RFC822, $session->getMetadataBag()->getCreated());
-                $sessionMetadata['Last used'] = date(DATE_RFC822, $session->getMetadataBag()->getLastUsed());
-                $sessionMetadata['Lifetime'] = $session->getMetadataBag()->getLifetime();
-                $sessionAttributes = $session->all();
-                $flashes = $session->getFlashBag()->peekAll();
-            }
-        }
-
-        $statusCode = $response->getStatusCode();
-
-        $this->data = array(
-            'format' => $request->getRequestFormat(),
-            'content' => $content,
-            'content_type' => $response->headers->get('Content-Type', 'text/html'),
-            'status_text' => isset(Response::$statusTexts[$statusCode]) ? Response::$statusTexts[$statusCode] : '',
-            'status_code' => $statusCode,
-            'request_query' => $request->query->all(),
-            'request_request' => $request->request->all(),
-            'request_headers' => $request->headers->all(),
-            'request_server' => $request->server->all(),
-            'request_cookies' => $request->cookies->all(),
-            'request_attributes' => $attributes,
-            'response_headers' => $responseHeaders,
-            'session_metadata' => $sessionMetadata,
-            'session_attributes' => $sessionAttributes,
-            'flashes' => $flashes,
-            'path_info' => $request->getPathInfo(),
-            'controller' => 'n/a',
-            'locale' => $request->getLocale(),
-        );
-
-        if (isset($this->data['request_headers']['php-auth-pw'])) {
-            $this->data['request_headers']['php-auth-pw'] = '******';
-        }
-
-        if (isset($this->data['request_server']['PHP_AUTH_PW'])) {
-            $this->data['request_server']['PHP_AUTH_PW'] = '******';
-        }
-
-        if (isset($this->controllers[$request])) {
-            $controller = $this->controllers[$request];
-            if (is_array($controller)) {
-                try {
-                    $r = new \ReflectionMethod($controller[0], $controller[1]);
-                    $this->data['controller'] = array(
-                        'class' => is_object($controller[0]) ? get_class($controller[0]) : $controller[0],
-                        'method' => $controller[1],
-                        'file' => $r->getFilename(),
-                        'line' => $r->getStartLine(),
-                    );
-                } catch (\ReflectionException $re) {
-                    if (is_callable($controller)) {
-                        // using __call or  __callStatic
-                        $this->data['controller'] = array(
-                            'class' => is_object($controller[0]) ? get_class($controller[0]) : $controller[0],
-                            'method' => $controller[1],
-                            'file' => 'n/a',
-                            'line' => 'n/a',
-                        );
-                    }
-                }
-            } elseif ($controller instanceof \Closure) {
-                $r = new \ReflectionFunction($controller);
-                $this->data['controller'] = array(
-                    'class' => $r->getName(),
-                    'method' => null,
-                    'file' => $r->getFilename(),
-                    'line' => $r->getStartLine(),
-                );
-            } elseif (is_object($controller)) {
-                $r = new \ReflectionClass($controller);
-                $this->data['controller'] = array(
-                    'class' => $r->getName(),
-                    'method' => null,
-                    'file' => $r->getFileName(),
-                    'line' => $r->getStartLine(),
-                );
-            } else {
-                $this->data['controller'] = (string) $controller ?: 'n/a';
-            }
-            unset($this->controllers[$request]);
-        }
-    }
-
-    public function getPathInfo()
-    {
-        return $this->data['path_info'];
-    }
-
-    public function getRequestRequest()
-    {
-        return new ParameterBag($this->data['request_request']);
-    }
-
-    public function getRequestQuery()
-    {
-        return new ParameterBag($this->data['request_query']);
-    }
-
-    public function getRequestHeaders()
-    {
-        return new HeaderBag($this->data['request_headers']);
-    }
-
-    public function getRequestServer()
-    {
-        return new ParameterBag($this->data['request_server']);
-    }
-
-    public function getRequestCookies()
-    {
-        return new ParameterBag($this->data['request_cookies']);
-    }
-
-    public function getRequestAttributes()
-    {
-        return new ParameterBag($this->data['request_attributes']);
-    }
-
-    public function getResponseHeaders()
-    {
-        return new ResponseHeaderBag($this->data['response_headers']);
-    }
-
-    public function getSessionMetadata()
-    {
-        return $this->data['session_metadata'];
-    }
-
-    public function getSessionAttributes()
-    {
-        return $this->data['session_attributes'];
-    }
-
-    public function getFlashes()
-    {
-        return $this->data['flashes'];
-    }
-
-    public function getContent()
-    {
-        return $this->data['content'];
-    }
-
-    public function getContentType()
-    {
-        return $this->data['content_type'];
-    }
-
-    public function getStatusText()
-    {
-        return $this->data['status_text'];
-    }
-
-    public function getStatusCode()
-    {
-        return $this->data['status_code'];
-    }
-
-    public function getFormat()
-    {
-        return $this->data['format'];
-    }
-
-    public function getLocale()
-    {
-        return $this->data['locale'];
-    }
-
-    /**
-     * Gets the route name.
-     *
-     * The _route request attributes is automatically set by the Router Matcher.
-     *
-     * @return string The route
-     */
-    public function getRoute()
-    {
-        return isset($this->data['request_attributes']['_route']) ? $this->data['request_attributes']['_route'] : '';
-    }
-
-    /**
-     * Gets the route parameters.
-     *
-     * The _route_params request attributes is automatically set by the RouterListener.
-     *
-     * @return array The parameters
-     */
-    public function getRouteParams()
-    {
-        return isset($this->data['request_attributes']['_route_params']) ? $this->data['request_attributes']['_route_params'] : array();
-    }
-
-    /**
-     * Gets the controller.
-     *
-     * @return string The controller as a string
-     */
-    public function getController()
-    {
-        return $this->data['controller'];
-    }
-
-    public function onKernelController(FilterControllerEvent $event)
-    {
-        $this->controllers[$event->getRequest()] = $event->getController();
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(KernelEvents::CONTROLLER => 'onKernelController');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'request';
-    }
-
-    private function getCookieHeader($name, $value, $expires, $path, $domain, $secure, $httponly)
-    {
-        $cookie = sprintf('%s=%s', $name, urlencode($value));
-
-        if (0 !== $expires) {
-            if (is_numeric($expires)) {
-                $expires = (int) $expires;
-            } elseif ($expires instanceof \DateTime) {
-                $expires = $expires->getTimestamp();
-            } else {
-                $tmp = strtotime($expires);
-                if (false === $tmp || -1 == $tmp) {
-                    throw new \InvalidArgumentException(sprintf('The "expires" cookie parameter is not valid (%s).', $expires));
-                }
-                $expires = $tmp;
-            }
-
-            $cookie .= '; expires='.str_replace('+0000', '', \DateTime::createFromFormat('U', $expires, new \DateTimeZone('GMT'))->format('D, d-M-Y H:i:s T'));
-        }
-
-        if ($domain) {
-            $cookie .= '; domain='.$domain;
-        }
-
-        $cookie .= '; path='.$path;
-
-        if ($secure) {
-            $cookie .= '; secure';
-        }
-
-        if ($httponly) {
-            $cookie .= '; httponly';
-        }
-
-        return $cookie;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php
deleted file mode 100644
index 76d9623..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
-
-/**
- * RouterDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class RouterDataCollector extends DataCollector
-{
-    protected $controllers;
-
-    public function __construct()
-    {
-        $this->controllers = new \SplObjectStorage();
-
-        $this->data = array(
-            'redirect' => false,
-            'url' => null,
-            'route' => null,
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        if ($response instanceof RedirectResponse) {
-            $this->data['redirect'] = true;
-            $this->data['url'] = $response->getTargetUrl();
-
-            if ($this->controllers->contains($request)) {
-                $this->data['route'] = $this->guessRoute($request, $this->controllers[$request]);
-            }
-        }
-
-        unset($this->controllers[$request]);
-    }
-
-    protected function guessRoute(Request $request, $controller)
-    {
-        return 'n/a';
-    }
-
-    /**
-     * Remembers the controller associated to each request.
-     *
-     * @param FilterControllerEvent $event The filter controller event
-     */
-    public function onKernelController(FilterControllerEvent $event)
-    {
-        $this->controllers[$event->getRequest()] = $event->getController();
-    }
-
-    /**
-     * @return bool Whether this request will result in a redirect
-     */
-    public function getRedirect()
-    {
-        return $this->data['redirect'];
-    }
-
-    /**
-     * @return string|null The target URL
-     */
-    public function getTargetUrl()
-    {
-        return $this->data['url'];
-    }
-
-    /**
-     * @return string|null The target route
-     */
-    public function getTargetRoute()
-    {
-        return $this->data['route'];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'router';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php
deleted file mode 100644
index 4ccaafa..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\KernelInterface;
-
-/**
- * TimeDataCollector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class TimeDataCollector extends DataCollector implements LateDataCollectorInterface
-{
-    protected $kernel;
-    protected $stopwatch;
-
-    public function __construct(KernelInterface $kernel = null, $stopwatch = null)
-    {
-        $this->kernel = $kernel;
-        $this->stopwatch = $stopwatch;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        if (null !== $this->kernel) {
-            $startTime = $this->kernel->getStartTime();
-        } else {
-            $startTime = $request->server->get('REQUEST_TIME_FLOAT', $request->server->get('REQUEST_TIME'));
-        }
-
-        $this->data = array(
-            'token' => $response->headers->get('X-Debug-Token'),
-            'start_time' => $startTime * 1000,
-            'events' => array(),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function lateCollect()
-    {
-        if (null !== $this->stopwatch && isset($this->data['token'])) {
-            $this->setEvents($this->stopwatch->getSectionEvents($this->data['token']));
-        }
-        unset($this->data['token']);
-    }
-
-    /**
-     * Sets the request events.
-     *
-     * @param array $events The request events
-     */
-    public function setEvents(array $events)
-    {
-        foreach ($events as $event) {
-            $event->ensureStopped();
-        }
-
-        $this->data['events'] = $events;
-    }
-
-    /**
-     * Gets the request events.
-     *
-     * @return array The request events
-     */
-    public function getEvents()
-    {
-        return $this->data['events'];
-    }
-
-    /**
-     * Gets the request elapsed time.
-     *
-     * @return float The elapsed time
-     */
-    public function getDuration()
-    {
-        if (!isset($this->data['events']['__section__'])) {
-            return 0;
-        }
-
-        $lastEvent = $this->data['events']['__section__'];
-
-        return $lastEvent->getOrigin() + $lastEvent->getDuration() - $this->getStartTime();
-    }
-
-    /**
-     * Gets the initialization time.
-     *
-     * This is the time spent until the beginning of the request handling.
-     *
-     * @return float The elapsed time
-     */
-    public function getInitTime()
-    {
-        if (!isset($this->data['events']['__section__'])) {
-            return 0;
-        }
-
-        return $this->data['events']['__section__']->getOrigin() - $this->getStartTime();
-    }
-
-    /**
-     * Gets the request time.
-     *
-     * @return int The time
-     */
-    public function getStartTime()
-    {
-        return $this->data['start_time'];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'time';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/Util/ValueExporter.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/Util/ValueExporter.php
deleted file mode 100644
index 20d6074..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/Util/ValueExporter.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DataCollector\Util;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ValueExporter
-{
-    /**
-     * Converts a PHP value to a string.
-     *
-     * @param mixed $value The PHP value
-     * @param int   $depth only for internal usage
-     * @param bool  $deep  only for internal usage
-     *
-     * @return string The string representation of the given value
-     */
-    public function exportValue($value, $depth = 1, $deep = false)
-    {
-        if (is_object($value)) {
-            if ($value instanceof \DateTime || $value instanceof \DateTimeInterface) {
-                return sprintf('Object(%s) - %s', get_class($value), $value->format(\DateTime::ISO8601));
-            }
-
-            return sprintf('Object(%s)', get_class($value));
-        }
-
-        if (is_array($value)) {
-            if (empty($value)) {
-                return '[]';
-            }
-
-            $indent = str_repeat('  ', $depth);
-
-            $a = array();
-            foreach ($value as $k => $v) {
-                if (is_array($v)) {
-                    $deep = true;
-                }
-                $a[] = sprintf('%s => %s', $k, $this->exportValue($v, $depth + 1, $deep));
-            }
-
-            if ($deep) {
-                return sprintf("[\n%s%s\n%s]", $indent, implode(sprintf(", \n%s", $indent), $a), str_repeat('  ', $depth - 1));
-            }
-
-            return sprintf("[%s]", implode(', ', $a));
-        }
-
-        if (is_resource($value)) {
-            return sprintf('Resource(%s#%d)', get_resource_type($value), $value);
-        }
-
-        if (null === $value) {
-            return 'null';
-        }
-
-        if (false === $value) {
-            return 'false';
-        }
-
-        if (true === $value) {
-            return 'true';
-        }
-
-        return (string) $value;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ErrorHandler.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
deleted file mode 100644
index 2718f89..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Debug;
-
-use Symfony\Component\Debug\ErrorHandler as DebugErrorHandler;
-
-/**
- * ErrorHandler.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead.
- */
-class ErrorHandler extends DebugErrorHandler
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php
deleted file mode 100644
index 581e29c..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Debug;
-
-use Symfony\Component\Debug\ExceptionHandler as DebugExceptionHandler;
-
-/**
- * ExceptionHandler converts an exception to a Response object.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead.
- */
-class ExceptionHandler extends DebugExceptionHandler
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
deleted file mode 100644
index 02df524..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Debug;
-
-use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher as BaseTraceableEventDispatcher;
-use Symfony\Component\HttpKernel\Profiler\Profiler;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\EventDispatcher\Event;
-
-/**
- * Collects some data about event listeners.
- *
- * This event dispatcher delegates the dispatching to another one.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class TraceableEventDispatcher extends BaseTraceableEventDispatcher
-{
-    /**
-     * Sets the profiler.
-     *
-     * The traceable event dispatcher does not use the profiler anymore.
-     * The job is now done directly by the Profiler listener and the
-     * data collectors themselves.
-     *
-     * @param Profiler|null $profiler A Profiler instance
-     *
-     * @deprecated Deprecated since version 2.4, to be removed in 3.0.
-     */
-    public function setProfiler(Profiler $profiler = null)
-    {
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function preDispatch($eventName, Event $event)
-    {
-        switch ($eventName) {
-            case KernelEvents::REQUEST:
-                $this->stopwatch->openSection();
-                break;
-            case KernelEvents::VIEW:
-            case KernelEvents::RESPONSE:
-                // stop only if a controller has been executed
-                if ($this->stopwatch->isStarted('controller')) {
-                    $this->stopwatch->stop('controller');
-                }
-                break;
-            case KernelEvents::TERMINATE:
-                $token = $event->getResponse()->headers->get('X-Debug-Token');
-                // There is a very special case when using built-in AppCache class as kernel wrapper, in the case
-                // of an ESI request leading to a `stale` response [B]  inside a `fresh` cached response [A].
-                // In this case, `$token` contains the [B] debug token, but the  open `stopwatch` section ID
-                // is equal to the [A] debug token. Trying to reopen section with the [B] token throws an exception
-                // which must be caught.
-                try {
-                    $this->stopwatch->openSection($token);
-                } catch (\LogicException $e) {
-                }
-                break;
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function postDispatch($eventName, Event $event)
-    {
-        switch ($eventName) {
-            case KernelEvents::CONTROLLER:
-                $this->stopwatch->start('controller', 'section');
-                break;
-            case KernelEvents::RESPONSE:
-                $token = $event->getResponse()->headers->get('X-Debug-Token');
-                $this->stopwatch->stopSection($token);
-                break;
-            case KernelEvents::TERMINATE:
-                // In the special case described in the `preDispatch` method above, the `$token` section
-                // does not exist, then closing it throws an exception which must be caught.
-                $token = $event->getResponse()->headers->get('X-Debug-Token');
-                try {
-                    $this->stopwatch->stopSection($token);
-                } catch (\LogicException $e) {
-                }
-                break;
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/AddClassesToCachePass.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/AddClassesToCachePass.php
deleted file mode 100644
index 09af6bd..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/AddClassesToCachePass.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
-use Symfony\Component\HttpKernel\Kernel;
-
-/**
- * Sets the classes to compile in the cache for the container.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class AddClassesToCachePass implements CompilerPassInterface
-{
-    private $kernel;
-
-    public function __construct(Kernel $kernel)
-    {
-        $this->kernel = $kernel;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function process(ContainerBuilder $container)
-    {
-        $classes = array();
-        foreach ($container->getExtensions() as $extension) {
-            if ($extension instanceof Extension) {
-                $classes = array_merge($classes, $extension->getClassesToCompile());
-            }
-        }
-
-        $this->kernel->setClassCache(array_unique($container->getParameterBag()->resolveValue($classes)));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ConfigurableExtension.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ConfigurableExtension.php
deleted file mode 100644
index 3ec454b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ConfigurableExtension.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * This extension sub-class provides first-class integration with the
- * Config/Definition Component.
- *
- * You can use this as base class if you
- *
- *    a) use the Config/Definition component for configuration
- *    b) your configuration class is named "Configuration" and
- *    c) the configuration class resides in the DependencyInjection sub-folder
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-abstract class ConfigurableExtension extends Extension
-{
-    /**
-     * {@inheritdoc}
-     */
-    final public function load(array $configs, ContainerBuilder $container)
-    {
-        $this->loadInternal($this->processConfiguration($this->getConfiguration($configs, $container), $configs), $container);
-    }
-
-    /**
-     * Configures the passed container according to the merged configuration.
-     *
-     * @param array            $mergedConfig
-     * @param ContainerBuilder $container
-     */
-    abstract protected function loadInternal(array $mergedConfig, ContainerBuilder $container);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php
deleted file mode 100644
index 69e7937..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DependencyInjection;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Scope;
-
-/**
- * Adds a managed request scope.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ContainerAwareHttpKernel extends HttpKernel
-{
-    protected $container;
-
-    /**
-     * Constructor.
-     *
-     * @param EventDispatcherInterface    $dispatcher         An EventDispatcherInterface instance
-     * @param ContainerInterface          $container          A ContainerInterface instance
-     * @param ControllerResolverInterface $controllerResolver A ControllerResolverInterface instance
-     * @param RequestStack                $requestStack       A stack for master/sub requests
-     */
-    public function __construct(EventDispatcherInterface $dispatcher, ContainerInterface $container, ControllerResolverInterface $controllerResolver, RequestStack $requestStack = null)
-    {
-        parent::__construct($dispatcher, $controllerResolver, $requestStack);
-
-        $this->container = $container;
-
-        // the request scope might have been created before (see FrameworkBundle)
-        if (!$container->hasScope('request')) {
-            $container->addScope(new Scope('request'));
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
-    {
-        $request->headers->set('X-Php-Ob-Level', ob_get_level());
-
-        $this->container->enterScope('request');
-        $this->container->set('request', $request, 'request');
-
-        try {
-            $response = parent::handle($request, $type, $catch);
-        } catch (\Exception $e) {
-            $this->container->set('request', null, 'request');
-            $this->container->leaveScope('request');
-
-            throw $e;
-        }
-
-        $this->container->set('request', null, 'request');
-        $this->container->leaveScope('request');
-
-        return $response;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/Extension.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/Extension.php
deleted file mode 100644
index 2ca0f13..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/Extension.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\Extension\Extension as BaseExtension;
-
-/**
- * Allow adding classes to the class cache.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Extension extends BaseExtension
-{
-    private $classes = array();
-
-    /**
-     * Gets the classes to cache.
-     *
-     * @return array An array of classes
-     */
-    public function getClassesToCompile()
-    {
-        return $this->classes;
-    }
-
-    /**
-     * Adds classes to the class cache.
-     *
-     * @param array $classes An array of classes
-     */
-    public function addClassesToCompile(array $classes)
-    {
-        $this->classes = array_merge($this->classes, $classes);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php
deleted file mode 100644
index dcd7382..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass as BaseMergeExtensionConfigurationPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Ensures certain extensions are always loaded.
- *
- * @author Kris Wallsmith <kris@symfony.com>
- */
-class MergeExtensionConfigurationPass extends BaseMergeExtensionConfigurationPass
-{
-    private $extensions;
-
-    public function __construct(array $extensions)
-    {
-        $this->extensions = $extensions;
-    }
-
-    public function process(ContainerBuilder $container)
-    {
-        foreach ($this->extensions as $extension) {
-            if (!count($container->getExtensionConfig($extension))) {
-                $container->loadFromExtension($extension, array());
-            }
-        }
-
-        parent::process($container);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
deleted file mode 100644
index 0e14e91..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\DependencyInjection;
-
-use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass as BaseRegisterListenersPass;
-
-/**
- * Compiler pass to register tagged services for an event dispatcher.
- *
- * @deprecated Deprecated in 2.5, to be removed in 3.0. Use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass instead.
- */
-class RegisterListenersPass extends BaseRegisterListenersPass
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterControllerEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterControllerEvent.php
deleted file mode 100644
index e33a011..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterControllerEvent.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * Allows filtering of a controller callable.
- *
- * You can call getController() to retrieve the current controller. With
- * setController() you can set a new controller that is used in the processing
- * of the request.
- *
- * Controllers should be callables.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class FilterControllerEvent extends KernelEvent
-{
-    /**
-     * The current controller.
-     *
-     * @var callable
-     */
-    private $controller;
-
-    public function __construct(HttpKernelInterface $kernel, $controller, Request $request, $requestType)
-    {
-        parent::__construct($kernel, $request, $requestType);
-
-        $this->setController($controller);
-    }
-
-    /**
-     * Returns the current controller.
-     *
-     * @return callable
-     *
-     * @api
-     */
-    public function getController()
-    {
-        return $this->controller;
-    }
-
-    /**
-     * Sets a new controller.
-     *
-     * @param callable $controller
-     *
-     * @throws \LogicException
-     *
-     * @api
-     */
-    public function setController($controller)
-    {
-        // controller must be a callable
-        if (!is_callable($controller)) {
-            throw new \LogicException(sprintf('The controller must be a callable (%s given).', $this->varToString($controller)));
-        }
-
-        $this->controller = $controller;
-    }
-
-    private function varToString($var)
-    {
-        if (is_object($var)) {
-            return sprintf('Object(%s)', get_class($var));
-        }
-
-        if (is_array($var)) {
-            $a = array();
-            foreach ($var as $k => $v) {
-                $a[] = sprintf('%s => %s', $k, $this->varToString($v));
-            }
-
-            return sprintf('Array(%s)', implode(', ', $a));
-        }
-
-        if (is_resource($var)) {
-            return sprintf('Resource(%s)', get_resource_type($var));
-        }
-
-        if (null === $var) {
-            return 'null';
-        }
-
-        if (false === $var) {
-            return 'false';
-        }
-
-        if (true === $var) {
-            return 'true';
-        }
-
-        return (string) $var;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterResponseEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterResponseEvent.php
deleted file mode 100644
index fd88f87..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterResponseEvent.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Allows to filter a Response object.
- *
- * You can call getResponse() to retrieve the current response. With
- * setResponse() you can set a new response that will be returned to the
- * browser.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class FilterResponseEvent extends KernelEvent
-{
-    /**
-     * The current response object.
-     *
-     * @var Response
-     */
-    private $response;
-
-    public function __construct(HttpKernelInterface $kernel, Request $request, $requestType, Response $response)
-    {
-        parent::__construct($kernel, $request, $requestType);
-
-        $this->setResponse($response);
-    }
-
-    /**
-     * Returns the current response object.
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function getResponse()
-    {
-        return $this->response;
-    }
-
-    /**
-     * Sets a new response object.
-     *
-     * @param Response $response
-     *
-     * @api
-     */
-    public function setResponse(Response $response)
-    {
-        $this->response = $response;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FinishRequestEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FinishRequestEvent.php
deleted file mode 100644
index ee72484..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FinishRequestEvent.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-/**
- * Triggered whenever a request is fully processed.
- *
- * @author Benjamin Eberlei <kontakt@beberlei.de>
- */
-class FinishRequestEvent extends KernelEvent
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseEvent.php
deleted file mode 100644
index b9310fa..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseEvent.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Allows to create a response for a request.
- *
- * Call setResponse() to set the response that will be returned for the
- * current request. The propagation of this event is stopped as soon as a
- * response is set.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class GetResponseEvent extends KernelEvent
-{
-    /**
-     * The response object.
-     *
-     * @var Response
-     */
-    private $response;
-
-    /**
-     * Returns the response object.
-     *
-     * @return Response
-     *
-     * @api
-     */
-    public function getResponse()
-    {
-        return $this->response;
-    }
-
-    /**
-     * Sets a response and stops event propagation.
-     *
-     * @param Response $response
-     *
-     * @api
-     */
-    public function setResponse(Response $response)
-    {
-        $this->response = $response;
-
-        $this->stopPropagation();
-    }
-
-    /**
-     * Returns whether a response was set.
-     *
-     * @return bool Whether a response was set
-     *
-     * @api
-     */
-    public function hasResponse()
-    {
-        return null !== $this->response;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForControllerResultEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForControllerResultEvent.php
deleted file mode 100644
index afb1c45..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForControllerResultEvent.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * Allows to create a response for the return value of a controller.
- *
- * Call setResponse() to set the response that will be returned for the
- * current request. The propagation of this event is stopped as soon as a
- * response is set.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class GetResponseForControllerResultEvent extends GetResponseEvent
-{
-    /**
-     * The return value of the controller.
-     *
-     * @var mixed
-     */
-    private $controllerResult;
-
-    public function __construct(HttpKernelInterface $kernel, Request $request, $requestType, $controllerResult)
-    {
-        parent::__construct($kernel, $request, $requestType);
-
-        $this->controllerResult = $controllerResult;
-    }
-
-    /**
-     * Returns the return value of the controller.
-     *
-     * @return mixed The controller return value
-     *
-     * @api
-     */
-    public function getControllerResult()
-    {
-        return $this->controllerResult;
-    }
-
-    /**
-     * Assigns the return value of the controller.
-     *
-     * @param mixed $controllerResult The controller return value
-     *
-     * @api
-     */
-    public function setControllerResult($controllerResult)
-    {
-        $this->controllerResult = $controllerResult;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForExceptionEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForExceptionEvent.php
deleted file mode 100644
index 3b5957e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForExceptionEvent.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * Allows to create a response for a thrown exception.
- *
- * Call setResponse() to set the response that will be returned for the
- * current request. The propagation of this event is stopped as soon as a
- * response is set.
- *
- * You can also call setException() to replace the thrown exception. This
- * exception will be thrown if no response is set during processing of this
- * event.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class GetResponseForExceptionEvent extends GetResponseEvent
-{
-    /**
-     * The exception object.
-     *
-     * @var \Exception
-     */
-    private $exception;
-
-    public function __construct(HttpKernelInterface $kernel, Request $request, $requestType, \Exception $e)
-    {
-        parent::__construct($kernel, $request, $requestType);
-
-        $this->setException($e);
-    }
-
-    /**
-     * Returns the thrown exception.
-     *
-     * @return \Exception The thrown exception
-     *
-     * @api
-     */
-    public function getException()
-    {
-        return $this->exception;
-    }
-
-    /**
-     * Replaces the thrown exception.
-     *
-     * This exception will be thrown if no response is set in the event.
-     *
-     * @param \Exception $exception The thrown exception
-     *
-     * @api
-     */
-    public function setException(\Exception $exception)
-    {
-        $this->exception = $exception;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/KernelEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/KernelEvent.php
deleted file mode 100644
index 1d97ead..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/KernelEvent.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\EventDispatcher\Event;
-
-/**
- * Base class for events thrown in the HttpKernel component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class KernelEvent extends Event
-{
-    /**
-     * The kernel in which this event was thrown.
-     *
-     * @var HttpKernelInterface
-     */
-    private $kernel;
-
-    /**
-     * The request the kernel is currently processing.
-     *
-     * @var Request
-     */
-    private $request;
-
-    /**
-     * The request type the kernel is currently processing.  One of
-     * HttpKernelInterface::MASTER_REQUEST and HttpKernelInterface::SUB_REQUEST.
-     *
-     * @var int
-     */
-    private $requestType;
-
-    public function __construct(HttpKernelInterface $kernel, Request $request, $requestType)
-    {
-        $this->kernel = $kernel;
-        $this->request = $request;
-        $this->requestType = $requestType;
-    }
-
-    /**
-     * Returns the kernel in which this event was thrown.
-     *
-     * @return HttpKernelInterface
-     *
-     * @api
-     */
-    public function getKernel()
-    {
-        return $this->kernel;
-    }
-
-    /**
-     * Returns the request the kernel is currently processing.
-     *
-     * @return Request
-     *
-     * @api
-     */
-    public function getRequest()
-    {
-        return $this->request;
-    }
-
-    /**
-     * Returns the request type the kernel is currently processing.
-     *
-     * @return int One of HttpKernelInterface::MASTER_REQUEST and
-     *             HttpKernelInterface::SUB_REQUEST
-     *
-     * @api
-     */
-    public function getRequestType()
-    {
-        return $this->requestType;
-    }
-
-    /**
-     * Checks if this is a master request.
-     *
-     * @return bool True if the request is a master request
-     *
-     * @api
-     */
-    public function isMasterRequest()
-    {
-        return HttpKernelInterface::MASTER_REQUEST === $this->requestType;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/PostResponseEvent.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/PostResponseEvent.php
deleted file mode 100644
index 5d4450b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/PostResponseEvent.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Event;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Allows to execute logic after a response was sent.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class PostResponseEvent extends Event
-{
-    /**
-     * The kernel in which this event was thrown.
-     *
-     * @var HttpKernelInterface
-     */
-    private $kernel;
-
-    private $request;
-
-    private $response;
-
-    public function __construct(HttpKernelInterface $kernel, Request $request, Response $response)
-    {
-        $this->kernel = $kernel;
-        $this->request = $request;
-        $this->response = $response;
-    }
-
-    /**
-     * Returns the kernel in which this event was thrown.
-     *
-     * @return HttpKernelInterface
-     */
-    public function getKernel()
-    {
-        return $this->kernel;
-    }
-
-    /**
-     * Returns the request for which this event was thrown.
-     *
-     * @return Request
-     */
-    public function getRequest()
-    {
-        return $this->request;
-    }
-
-    /**
-     * Returns the response for which this event was thrown.
-     *
-     * @return Response
-     */
-    public function getResponse()
-    {
-        return $this->response;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/AddRequestFormatsListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/AddRequestFormatsListener.php
deleted file mode 100644
index c37a537..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/AddRequestFormatsListener.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-
-/**
- * Adds configured formats to each request
- *
- * @author Gildas Quemener <gildas.quemener@gmail.com>
- */
-class AddRequestFormatsListener implements EventSubscriberInterface
-{
-    /**
-     * @var array
-     */
-    protected $formats;
-
-    /**
-     * @param array $formats
-     */
-    public function __construct(array $formats)
-    {
-        $this->formats = $formats;
-    }
-
-    /**
-     * Adds request formats
-     *
-     * @param GetResponseEvent $event
-     */
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        foreach ($this->formats as $format => $mimeTypes) {
-            $event->getRequest()->setFormat($format, $mimeTypes);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function getSubscribedEvents()
-    {
-        return array(KernelEvents::REQUEST => 'onKernelRequest');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php
deleted file mode 100644
index f50e4d6..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Psr\Log\LoggerInterface;
-use Symfony\Component\Debug\ErrorHandler;
-use Symfony\Component\Debug\ExceptionHandler;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpKernel\Event\KernelEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\Console\ConsoleEvents;
-use Symfony\Component\Console\Event\ConsoleEvent;
-use Symfony\Component\Console\Output\ConsoleOutputInterface;
-
-/**
- * Configures errors and exceptions handlers.
- *
- * @author Nicolas Grekas <p@tchwork.com>
- */
-class DebugHandlersListener implements EventSubscriberInterface
-{
-    private $exceptionHandler;
-    private $logger;
-    private $levels;
-    private $throwAt;
-    private $scream;
-    private $fileLinkFormat;
-    private $firstCall = true;
-
-    /**
-     * @param callable|null        $exceptionHandler A handler that will be called on Exception
-     * @param LoggerInterface|null $logger           A PSR-3 logger
-     * @param array|int            $levels           An array map of E_* to LogLevel::* or an integer bit field of E_* constants
-     * @param int|null             $throwAt          Thrown errors in a bit field of E_* constants, or null to keep the current value
-     * @param bool                 $scream           Enables/disables screaming mode, where even silenced errors are logged
-     * @param string               $fileLinkFormat   The format for links to source files
-     */
-    public function __construct($exceptionHandler, LoggerInterface $logger = null, $levels = null, $throwAt = -1, $scream = true, $fileLinkFormat = null)
-    {
-        $this->exceptionHandler = $exceptionHandler;
-        $this->logger = $logger;
-        $this->levels = $levels;
-        $this->throwAt = is_numeric($throwAt) ? (int) $throwAt : (null === $throwAt ? null : ($throwAt ? -1 : null));
-        $this->scream = (bool) $scream;
-        $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
-    }
-
-    /**
-     * Configures the error handler.
-     *
-     * @param Event|null $event The triggering event
-     */
-    public function configure(Event $event = null)
-    {
-        if (!$this->firstCall) {
-            return;
-        }
-        $this->firstCall = false;
-        if ($this->logger || null !== $this->throwAt) {
-            $handler = set_error_handler('var_dump', 0);
-            $handler = is_array($handler) ? $handler[0] : null;
-            restore_error_handler();
-            if ($handler instanceof ErrorHandler) {
-                if ($this->logger) {
-                    $handler->setDefaultLogger($this->logger, $this->levels);
-                    if (is_array($this->levels)) {
-                        $scream = 0;
-                        foreach ($this->levels as $type => $log) {
-                            $scream |= $type;
-                        }
-                    } else {
-                        $scream = null === $this->levels ? E_ALL | E_STRICT : $this->levels;
-                    }
-                    if ($this->scream) {
-                        $handler->screamAt($scream);
-                    }
-                    $this->logger = $this->levels = null;
-                }
-                if (null !== $this->throwAt) {
-                    $handler->throwAt($this->throwAt, true);
-                }
-            }
-        }
-        if (!$this->exceptionHandler) {
-            if ($event instanceof KernelEvent) {
-                $this->exceptionHandler = array($event->getKernel(), 'terminateWithException');
-            } elseif ($event instanceof ConsoleEvent && $app = $event->getCommand()->getApplication()) {
-                $output = $event->getOutput();
-                if ($output instanceof ConsoleOutputInterface) {
-                    $output = $output->getErrorOutput();
-                }
-                $this->exceptionHandler = function ($e) use ($app, $output) {
-                    $app->renderException($e, $output);
-                };
-            }
-        }
-        if ($this->exceptionHandler) {
-            $handler = set_exception_handler('var_dump');
-            $handler = is_array($handler) ? $handler[0] : null;
-            restore_exception_handler();
-            if ($handler instanceof ErrorHandler) {
-                $h = $handler->setExceptionHandler('var_dump') ?: $this->exceptionHandler;
-                $handler->setExceptionHandler($h);
-                $handler = is_array($h) ? $h[0] : null;
-            }
-            if ($handler instanceof ExceptionHandler) {
-                $handler->setHandler($this->exceptionHandler);
-                if (null !== $this->fileLinkFormat) {
-                    $handler->setFileLinkFormat($this->fileLinkFormat);
-                }
-            }
-            $this->exceptionHandler = null;
-        }
-    }
-
-    public static function getSubscribedEvents()
-    {
-        $events = array(KernelEvents::REQUEST => array('configure', 2048));
-
-        if (defined('Symfony\Component\Console\ConsoleEvents::COMMAND')) {
-            $events[ConsoleEvents::COMMAND] = array('configure', 2048);
-        }
-
-        return $events;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DumpListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DumpListener.php
deleted file mode 100644
index bccde8e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DumpListener.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\VarDumper\Cloner\ClonerInterface;
-use Symfony\Component\VarDumper\Dumper\DataDumperInterface;
-use Symfony\Component\VarDumper\VarDumper;
-
-/**
- * Configures dump() handler.
- *
- * @author Nicolas Grekas <p@tchwork.com>
- */
-class DumpListener implements EventSubscriberInterface
-{
-    private $cloner;
-    private $dumper;
-
-    /**
-     * @param ClonerInterface     $cloner Cloner service.
-     * @param DataDumperInterface $dumper Dumper service.
-     */
-    public function __construct(ClonerInterface $cloner, DataDumperInterface $dumper)
-    {
-        $this->cloner = $cloner;
-        $this->dumper = $dumper;
-    }
-
-    public function configure()
-    {
-        $cloner = $this->cloner;
-        $dumper = $this->dumper;
-
-        VarDumper::setHandler(function ($var) use ($cloner, $dumper) {
-            $dumper->dump($cloner->cloneVar($var));
-        });
-    }
-
-    public static function getSubscribedEvents()
-    {
-        // Register early to have a working dump() as early as possible
-        return array(KernelEvents::REQUEST => array('configure', 1024));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ErrorsLoggerListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ErrorsLoggerListener.php
deleted file mode 100644
index d5400b7..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ErrorsLoggerListener.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Psr\Log\LoggerInterface;
-use Symfony\Component\Debug\ErrorHandler;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpKernel\KernelEvents;
-
-/**
- * Injects the logger into the ErrorHandler, so that it can log various errors.
- *
- * @author Colin Frei <colin@colinfrei.com>
- * @author Konstantin Myakshin <koc-dp@yandex.ru>
- *
- * @deprecated since 2.6, to be removed in 3.0. Use DebugHandlersListener instead.
- */
-class ErrorsLoggerListener implements EventSubscriberInterface
-{
-    private $channel;
-
-    private $logger;
-
-    public function __construct($channel, LoggerInterface $logger = null)
-    {
-        $this->channel = $channel;
-        $this->logger = $logger;
-    }
-
-    public function injectLogger()
-    {
-        if (null !== $this->logger) {
-            ErrorHandler::setLogger($this->logger, $this->channel);
-            $this->logger = null;
-        }
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(KernelEvents::REQUEST => array('injectLogger', 2048));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/EsiListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/EsiListener.php
deleted file mode 100644
index 6380169..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/EsiListener.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-/**
- * EsiListener adds a Surrogate-Control HTTP header when the Response needs to be parsed for ESI.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use SurrogateListener instead
- */
-class EsiListener extends SurrogateListener
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
deleted file mode 100644
index 76fe41a..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Psr\Log\LoggerInterface;
-use Symfony\Component\Debug\Exception\FlattenException;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * ExceptionListener.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ExceptionListener implements EventSubscriberInterface
-{
-    protected $controller;
-    protected $logger;
-
-    public function __construct($controller, LoggerInterface $logger = null)
-    {
-        $this->controller = $controller;
-        $this->logger = $logger;
-    }
-
-    public function onKernelException(GetResponseForExceptionEvent $event)
-    {
-        static $handling;
-
-        if (true === $handling) {
-            return false;
-        }
-
-        $handling = true;
-
-        $exception = $event->getException();
-        $request = $event->getRequest();
-
-        $this->logException($exception, sprintf('Uncaught PHP Exception %s: "%s" at %s line %s', get_class($exception), $exception->getMessage(), $exception->getFile(), $exception->getLine()));
-
-        $request = $this->duplicateRequest($exception, $request);
-
-        try {
-            $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, true);
-        } catch (\Exception $e) {
-            $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()), false);
-
-            // set handling to false otherwise it wont be able to handle further more
-            $handling = false;
-
-            // throwing $e, not $exception, is on purpose: fixing error handling code paths is the most important
-            throw $e;
-        }
-
-        $event->setResponse($response);
-
-        $handling = false;
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::EXCEPTION => array('onKernelException', -128),
-        );
-    }
-
-    /**
-     * Logs an exception.
-     *
-     * @param \Exception $exception The \Exception instance
-     * @param string     $message   The error message to log
-     * @param bool       $original  False when the handling of the exception thrown another exception
-     */
-    protected function logException(\Exception $exception, $message, $original = true)
-    {
-        $isCritical = !$exception instanceof HttpExceptionInterface || $exception->getStatusCode() >= 500;
-        $context = array('exception' => $exception);
-        if (null !== $this->logger) {
-            if ($isCritical) {
-                $this->logger->critical($message, $context);
-            } else {
-                $this->logger->error($message, $context);
-            }
-        } elseif (!$original || $isCritical) {
-            error_log($message);
-        }
-    }
-
-    /**
-     * Clones the request for the exception.
-     *
-     * @param \Exception $exception The thrown exception.
-     * @param Request    $request   The original request.
-     *
-     * @return Request $request The cloned request.
-     */
-    protected function duplicateRequest(\Exception $exception, Request $request)
-    {
-        $attributes = array(
-            '_controller' => $this->controller,
-            'exception' => FlattenException::create($exception),
-            'logger' => $this->logger instanceof DebugLoggerInterface ? $this->logger : null,
-            // keep for BC -- as $format can be an argument of the controller callable
-            // see src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
-            // @deprecated in 2.4, to be removed in 3.0
-            'format' => $request->getRequestFormat(),
-        );
-        $request = $request->duplicate(null, null, $attributes);
-        $request->setMethod('GET');
-
-        return $request;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/FragmentListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/FragmentListener.php
deleted file mode 100644
index d0a2298..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/FragmentListener.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
-use Symfony\Component\HttpKernel\UriSigner;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * Handles content fragments represented by special URIs.
- *
- * All URL paths starting with /_fragment are handled as
- * content fragments by this listener.
- *
- * If throws an AccessDeniedHttpException exception if the request
- * is not signed or if it is not an internal sub-request.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class FragmentListener implements EventSubscriberInterface
-{
-    private $signer;
-    private $fragmentPath;
-
-    /**
-     * Constructor.
-     *
-     * @param UriSigner $signer       A UriSigner instance
-     * @param string    $fragmentPath The path that triggers this listener
-     */
-    public function __construct(UriSigner $signer, $fragmentPath = '/_fragment')
-    {
-        $this->signer = $signer;
-        $this->fragmentPath = $fragmentPath;
-    }
-
-    /**
-     * Fixes request attributes when the path is '/_fragment'.
-     *
-     * @param GetResponseEvent $event A GetResponseEvent instance
-     *
-     * @throws AccessDeniedHttpException if the request does not come from a trusted IP.
-     */
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        $request = $event->getRequest();
-
-        if ($this->fragmentPath !== rawurldecode($request->getPathInfo())) {
-            return;
-        }
-
-        if ($event->isMasterRequest()) {
-            $this->validateRequest($request);
-        }
-
-        parse_str($request->query->get('_path', ''), $attributes);
-        $request->attributes->add($attributes);
-        $request->attributes->set('_route_params', array_replace($request->attributes->get('_route_params', array()), $attributes));
-        $request->query->remove('_path');
-    }
-
-    protected function validateRequest(Request $request)
-    {
-        // is the Request safe?
-        if (!$request->isMethodSafe()) {
-            throw new AccessDeniedHttpException();
-        }
-
-        // is the Request signed?
-        // we cannot use $request->getUri() here as we want to work with the original URI (no query string reordering)
-        if ($this->signer->check($request->getSchemeAndHttpHost().$request->getBaseUrl().$request->getPathInfo().(null !== ($qs = $request->server->get('QUERY_STRING')) ? '?'.$qs : ''))) {
-            return;
-        }
-
-        throw new AccessDeniedHttpException();
-    }
-
-    /**
-     * @deprecated Deprecated since 2.3.19, to be removed in 3.0.
-     *
-     * @return string[]
-     */
-    protected function getLocalIpAddresses()
-    {
-        return array('127.0.0.1', 'fe80::1', '::1');
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::REQUEST => array(array('onKernelRequest', 48)),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/LocaleListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/LocaleListener.php
deleted file mode 100644
index bdcf4c7..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/LocaleListener.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\Routing\RequestContextAwareInterface;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * Initializes the locale based on the current request.
- *
- * This listener works in 2 modes:
- *
- *  * 2.3 compatibility mode where you must call setRequest whenever the Request changes.
- *  * 2.4+ mode where you must pass a RequestStack instance in the constructor.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class LocaleListener implements EventSubscriberInterface
-{
-    private $router;
-    private $defaultLocale;
-    private $requestStack;
-
-    /**
-     * RequestStack will become required in 3.0.
-     */
-    public function __construct($defaultLocale = 'en', RequestContextAwareInterface $router = null, RequestStack $requestStack = null)
-    {
-        $this->defaultLocale = $defaultLocale;
-        $this->requestStack = $requestStack;
-        $this->router = $router;
-    }
-
-    /**
-     * Sets the current Request.
-     *
-     * This method was used to synchronize the Request, but as the HttpKernel
-     * is doing that automatically now, you should never call it directly.
-     * It is kept public for BC with the 2.3 version.
-     *
-     * @param Request|null $request A Request instance
-     *
-     * @deprecated Deprecated since version 2.4, to be removed in 3.0.
-     */
-    public function setRequest(Request $request = null)
-    {
-        if (null === $request) {
-            return;
-        }
-
-        $this->setLocale($request);
-        $this->setRouterContext($request);
-    }
-
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        $request = $event->getRequest();
-        $request->setDefaultLocale($this->defaultLocale);
-
-        $this->setLocale($request);
-        $this->setRouterContext($request);
-    }
-
-    public function onKernelFinishRequest(FinishRequestEvent $event)
-    {
-        if (null === $this->requestStack) {
-            return; // removed when requestStack is required
-        }
-
-        if (null !== $parentRequest = $this->requestStack->getParentRequest()) {
-            $this->setRouterContext($parentRequest);
-        }
-    }
-
-    private function setLocale(Request $request)
-    {
-        if ($locale = $request->attributes->get('_locale')) {
-            $request->setLocale($locale);
-        }
-    }
-
-    private function setRouterContext(Request $request)
-    {
-        if (null !== $this->router) {
-            $this->router->getContext()->setParameter('_locale', $request->getLocale());
-        }
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            // must be registered after the Router to have access to the _locale
-            KernelEvents::REQUEST => array(array('onKernelRequest', 16)),
-            KernelEvents::FINISH_REQUEST => array(array('onKernelFinishRequest', 0)),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php
deleted file mode 100644
index 43d8d03..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\Event\PostResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Profiler\Profiler;
-use Symfony\Component\HttpFoundation\RequestMatcherInterface;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * ProfilerListener collects data for the current request by listening to the onKernelResponse event.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ProfilerListener implements EventSubscriberInterface
-{
-    protected $profiler;
-    protected $matcher;
-    protected $onlyException;
-    protected $onlyMasterRequests;
-    protected $exception;
-    protected $requests = array();
-    protected $profiles;
-    protected $requestStack;
-    protected $parents;
-
-    /**
-     * Constructor.
-     *
-     * @param Profiler                     $profiler           A Profiler instance
-     * @param RequestMatcherInterface|null $matcher            A RequestMatcher instance
-     * @param bool                         $onlyException      true if the profiler only collects data when an exception occurs, false otherwise
-     * @param bool                         $onlyMasterRequests true if the profiler only collects data when the request is a master request, false otherwise
-     * @param RequestStack|null            $requestStack       A RequestStack instance
-     */
-    public function __construct(Profiler $profiler, RequestMatcherInterface $matcher = null, $onlyException = false, $onlyMasterRequests = false, RequestStack $requestStack = null)
-    {
-        $this->profiler = $profiler;
-        $this->matcher = $matcher;
-        $this->onlyException = (bool) $onlyException;
-        $this->onlyMasterRequests = (bool) $onlyMasterRequests;
-        $this->profiles = new \SplObjectStorage();
-        $this->parents = new \SplObjectStorage();
-        $this->requestStack = $requestStack;
-    }
-
-    /**
-     * Handles the onKernelException event.
-     *
-     * @param GetResponseForExceptionEvent $event A GetResponseForExceptionEvent instance
-     */
-    public function onKernelException(GetResponseForExceptionEvent $event)
-    {
-        if ($this->onlyMasterRequests && !$event->isMasterRequest()) {
-            return;
-        }
-
-        $this->exception = $event->getException();
-    }
-
-    /**
-     * @deprecated Deprecated since version 2.4, to be removed in 3.0.
-     */
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        if (null === $this->requestStack) {
-            $this->requests[] = $event->getRequest();
-        }
-    }
-
-    /**
-     * Handles the onKernelResponse event.
-     *
-     * @param FilterResponseEvent $event A FilterResponseEvent instance
-     */
-    public function onKernelResponse(FilterResponseEvent $event)
-    {
-        $master = $event->isMasterRequest();
-        if ($this->onlyMasterRequests && !$master) {
-            return;
-        }
-
-        if ($this->onlyException && null === $this->exception) {
-            return;
-        }
-
-        $request = $event->getRequest();
-        $exception = $this->exception;
-        $this->exception = null;
-
-        if (null !== $this->matcher && !$this->matcher->matches($request)) {
-            return;
-        }
-
-        if (!$profile = $this->profiler->collect($request, $event->getResponse(), $exception)) {
-            return;
-        }
-
-        $this->profiles[$request] = $profile;
-
-        if (null !== $this->requestStack) {
-            $this->parents[$request] = $this->requestStack->getParentRequest();
-        } elseif (!$master) {
-            // to be removed when requestStack is required
-            array_pop($this->requests);
-
-            $this->parents[$request] = end($this->requests);
-        }
-    }
-
-    public function onKernelTerminate(PostResponseEvent $event)
-    {
-        // attach children to parents
-        foreach ($this->profiles as $request) {
-            // isset call should be removed when requestStack is required
-            if (isset($this->parents[$request]) && null !== $parentRequest = $this->parents[$request]) {
-                if (isset($this->profiles[$parentRequest])) {
-                    $this->profiles[$parentRequest]->addChild($this->profiles[$request]);
-                }
-            }
-        }
-
-        // save profiles
-        foreach ($this->profiles as $request) {
-            $this->profiler->saveProfile($this->profiles[$request]);
-        }
-
-        $this->profiles = new \SplObjectStorage();
-        $this->parents = new \SplObjectStorage();
-        $this->requests = array();
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            // kernel.request must be registered as early as possible to not break
-            // when an exception is thrown in any other kernel.request listener
-            KernelEvents::REQUEST => array('onKernelRequest', 1024),
-            KernelEvents::RESPONSE => array('onKernelResponse', -100),
-            KernelEvents::EXCEPTION => 'onKernelException',
-            KernelEvents::TERMINATE => array('onKernelTerminate', -1024),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ResponseListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ResponseListener.php
deleted file mode 100644
index eeb2b0f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ResponseListener.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * ResponseListener fixes the Response headers based on the Request.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ResponseListener implements EventSubscriberInterface
-{
-    private $charset;
-
-    public function __construct($charset)
-    {
-        $this->charset = $charset;
-    }
-
-    /**
-     * Filters the Response.
-     *
-     * @param FilterResponseEvent $event A FilterResponseEvent instance
-     */
-    public function onKernelResponse(FilterResponseEvent $event)
-    {
-        if (!$event->isMasterRequest()) {
-            return;
-        }
-
-        $response = $event->getResponse();
-
-        if (null === $response->getCharset()) {
-            $response->setCharset($this->charset);
-        }
-
-        $response->prepare($event->getRequest());
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::RESPONSE => 'onKernelResponse',
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/RouterListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/RouterListener.php
deleted file mode 100644
index db05fca..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/RouterListener.php
+++ /dev/null
@@ -1,169 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Psr\Log\LoggerInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
-use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\Matcher\UrlMatcherInterface;
-use Symfony\Component\Routing\Matcher\RequestMatcherInterface;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\RequestContextAwareInterface;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * Initializes the context from the request and sets request attributes based on a matching route.
- *
- * This listener works in 2 modes:
- *
- *  * 2.3 compatibility mode where you must call setRequest whenever the Request changes.
- *  * 2.4+ mode where you must pass a RequestStack instance in the constructor.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class RouterListener implements EventSubscriberInterface
-{
-    private $matcher;
-    private $context;
-    private $logger;
-    private $request;
-    private $requestStack;
-
-    /**
-     * Constructor.
-     *
-     * RequestStack will become required in 3.0.
-     *
-     * @param UrlMatcherInterface|RequestMatcherInterface $matcher      The Url or Request matcher
-     * @param RequestContext|null                         $context      The RequestContext (can be null when $matcher implements RequestContextAwareInterface)
-     * @param LoggerInterface|null                        $logger       The logger
-     * @param RequestStack|null                           $requestStack A RequestStack instance
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function __construct($matcher, RequestContext $context = null, LoggerInterface $logger = null, RequestStack $requestStack = null)
-    {
-        if (!$matcher instanceof UrlMatcherInterface && !$matcher instanceof RequestMatcherInterface) {
-            throw new \InvalidArgumentException('Matcher must either implement UrlMatcherInterface or RequestMatcherInterface.');
-        }
-
-        if (null === $context && !$matcher instanceof RequestContextAwareInterface) {
-            throw new \InvalidArgumentException('You must either pass a RequestContext or the matcher must implement RequestContextAwareInterface.');
-        }
-
-        $this->matcher = $matcher;
-        $this->context = $context ?: $matcher->getContext();
-        $this->requestStack = $requestStack;
-        $this->logger = $logger;
-    }
-
-    /**
-     * Sets the current Request.
-     *
-     * This method was used to synchronize the Request, but as the HttpKernel
-     * is doing that automatically now, you should never call it directly.
-     * It is kept public for BC with the 2.3 version.
-     *
-     * @param Request|null $request A Request instance
-     *
-     * @deprecated Deprecated since version 2.4, to be moved to a private function in 3.0.
-     */
-    public function setRequest(Request $request = null)
-    {
-        if (null !== $request && $this->request !== $request) {
-            $this->context->fromRequest($request);
-        }
-        $this->request = $request;
-    }
-
-    public function onKernelFinishRequest(FinishRequestEvent $event)
-    {
-        if (null === $this->requestStack) {
-            return; // removed when requestStack is required
-        }
-
-        $this->setRequest($this->requestStack->getParentRequest());
-    }
-
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        $request = $event->getRequest();
-
-        // initialize the context that is also used by the generator (assuming matcher and generator share the same context instance)
-        // we call setRequest even if most of the time, it has already been done to keep compatibility
-        // with frameworks which do not use the Symfony service container
-        // when we have a RequestStack, no need to do it
-        if (null !== $this->requestStack) {
-            $this->setRequest($request);
-        }
-
-        if ($request->attributes->has('_controller')) {
-            // routing is already done
-            return;
-        }
-
-        // add attributes based on the request (routing)
-        try {
-            // matching a request is more powerful than matching a URL path + context, so try that first
-            if ($this->matcher instanceof RequestMatcherInterface) {
-                $parameters = $this->matcher->matchRequest($request);
-            } else {
-                $parameters = $this->matcher->match($request->getPathInfo());
-            }
-
-            if (null !== $this->logger) {
-                $this->logger->info(sprintf('Matched route "%s" (parameters: %s)', $parameters['_route'], $this->parametersToString($parameters)));
-            }
-
-            $request->attributes->add($parameters);
-            unset($parameters['_route'], $parameters['_controller']);
-            $request->attributes->set('_route_params', $parameters);
-        } catch (ResourceNotFoundException $e) {
-            $message = sprintf('No route found for "%s %s"', $request->getMethod(), $request->getPathInfo());
-
-            if ($referer = $request->headers->get('referer')) {
-                $message .= sprintf(' (from "%s")', $referer);
-            }
-
-            throw new NotFoundHttpException($message, $e);
-        } catch (MethodNotAllowedException $e) {
-            $message = sprintf('No route found for "%s %s": Method Not Allowed (Allow: %s)', $request->getMethod(), $request->getPathInfo(), implode(', ', $e->getAllowedMethods()));
-
-            throw new MethodNotAllowedHttpException($e->getAllowedMethods(), $message, $e);
-        }
-    }
-
-    private function parametersToString(array $parameters)
-    {
-        $pieces = array();
-        foreach ($parameters as $key => $val) {
-            $pieces[] = sprintf('"%s": "%s"', $key, (is_string($val) ? $val : json_encode($val)));
-        }
-
-        return implode(', ', $pieces);
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::REQUEST => array(array('onKernelRequest', 32)),
-            KernelEvents::FINISH_REQUEST => array(array('onKernelFinishRequest', 0)),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SaveSessionListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SaveSessionListener.php
deleted file mode 100644
index 36809b5..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SaveSessionListener.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-
-/**
- * Saves the session, in case it is still open, before sending the response/headers.
- *
- * This ensures several things in case the developer did not save the session explicitly:
- *
- *  * If a session save handler without locking is used, it ensures the data is available
- *    on the next request, e.g. after a redirect. PHPs auto-save at script end via
- *    session_register_shutdown is executed after fastcgi_finish_request. So in this case
- *    the data could be missing the next request because it might not be saved the moment
- *    the new request is processed.
- *  * A locking save handler (e.g. the native 'files') circumvents concurrency problems like
- *    the one above. But by saving the session before long-running things in the terminate event,
- *    we ensure the session is not blocked longer than needed.
- *  * When regenerating the session ID no locking is involved in PHPs session design. See
- *    https://bugs.php.net/bug.php?id=61470 for a discussion. So in this case, the session must
- *    be saved anyway before sending the headers with the new session ID. Otherwise session
- *    data could get lost again for concurrent requests with the new ID. One result could be
- *    that you get logged out after just logging in.
- *
- * This listener should be executed as one of the last listeners, so that previous listeners
- * can still operate on the open session. This prevents the overhead of restarting it.
- * Listeners after closing the session can still work with the session as usual because
- * Symfonys session implementation starts the session on demand. So writing to it after
- * it is saved will just restart it.
- *
- * @author Tobias Schultze <http://tobion.de>
- */
-class SaveSessionListener implements EventSubscriberInterface
-{
-    public function onKernelResponse(FilterResponseEvent $event)
-    {
-        if (!$event->isMasterRequest()) {
-            return;
-        }
-
-        $session = $event->getRequest()->getSession();
-        if ($session && $session->isStarted()) {
-            $session->save();
-        }
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            // low priority but higher than StreamedResponseListener
-            KernelEvents::RESPONSE => array(array('onKernelResponse', -1000)),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SessionListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SessionListener.php
deleted file mode 100644
index ecf065f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SessionListener.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * Sets the session in the request.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-abstract class SessionListener implements EventSubscriberInterface
-{
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        if (!$event->isMasterRequest()) {
-            return;
-        }
-
-        $request = $event->getRequest();
-        $session = $this->getSession();
-        if (null === $session || $request->hasSession()) {
-            return;
-        }
-
-        $request->setSession($session);
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::REQUEST => array('onKernelRequest', 128),
-        );
-    }
-
-    /**
-     * Gets the session object.
-     *
-     * @return SessionInterface|null A SessionInterface instance or null if no session is available
-     */
-    abstract protected function getSession();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/StreamedResponseListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/StreamedResponseListener.php
deleted file mode 100644
index 571cd74..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/StreamedResponseListener.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpFoundation\StreamedResponse;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * StreamedResponseListener is responsible for sending the Response
- * to the client.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class StreamedResponseListener implements EventSubscriberInterface
-{
-    /**
-     * Filters the Response.
-     *
-     * @param FilterResponseEvent $event A FilterResponseEvent instance
-     */
-    public function onKernelResponse(FilterResponseEvent $event)
-    {
-        if (!$event->isMasterRequest()) {
-            return;
-        }
-
-        $response = $event->getResponse();
-
-        if ($response instanceof StreamedResponse) {
-            $response->send();
-        }
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::RESPONSE => array('onKernelResponse', -1024),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php
deleted file mode 100644
index 00f4fbf..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\HttpCache\SurrogateInterface;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * SurrogateListener adds a Surrogate-Control HTTP header when the Response needs to be parsed for Surrogates
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class SurrogateListener implements EventSubscriberInterface
-{
-    private $surrogate;
-
-    /**
-     * Constructor.
-     *
-     * @param SurrogateInterface $surrogate An SurrogateInterface instance
-     */
-    public function __construct(SurrogateInterface $surrogate = null)
-    {
-        $this->surrogate = $surrogate;
-    }
-
-    /**
-     * Filters the Response.
-     *
-     * @param FilterResponseEvent $event A FilterResponseEvent instance
-     */
-    public function onKernelResponse(FilterResponseEvent $event)
-    {
-        if (!$event->isMasterRequest() || null === $this->surrogate) {
-            return;
-        }
-
-        $this->surrogate->addSurrogateControl($event->getResponse());
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::RESPONSE => 'onKernelResponse',
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TestSessionListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TestSessionListener.php
deleted file mode 100644
index 42a0f20..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TestSessionListener.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\HttpFoundation\Cookie;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * TestSessionListener.
- *
- * Saves session in test environment.
- *
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class TestSessionListener implements EventSubscriberInterface
-{
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        if (!$event->isMasterRequest()) {
-            return;
-        }
-
-        // bootstrap the session
-        $session = $this->getSession();
-        if (!$session) {
-            return;
-        }
-
-        $cookies = $event->getRequest()->cookies;
-
-        if ($cookies->has($session->getName())) {
-            $session->setId($cookies->get($session->getName()));
-        }
-    }
-
-    /**
-     * Checks if session was initialized and saves if current request is master
-     * Runs on 'kernel.response' in test environment
-     *
-     * @param FilterResponseEvent $event
-     */
-    public function onKernelResponse(FilterResponseEvent $event)
-    {
-        if (!$event->isMasterRequest()) {
-            return;
-        }
-
-        $session = $event->getRequest()->getSession();
-        if ($session && $session->isStarted()) {
-            $session->save();
-            $params = session_get_cookie_params();
-            $event->getResponse()->headers->setCookie(new Cookie($session->getName(), $session->getId(), 0 === $params['lifetime'] ? 0 : time() + $params['lifetime'], $params['path'], $params['domain'], $params['secure'], $params['httponly']));
-        }
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            KernelEvents::REQUEST => array('onKernelRequest', 192),
-            KernelEvents::RESPONSE => array('onKernelResponse', -128),
-        );
-    }
-
-    /**
-     * Gets the session object.
-     *
-     * @return SessionInterface|null A SessionInterface instance or null if no session is available
-     */
-    abstract protected function getSession();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TranslatorListener.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TranslatorListener.php
deleted file mode 100644
index 6967ad0..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TranslatorListener.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\EventListener;
-
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\Translation\TranslatorInterface;
-
-/**
- * Synchronizes the locale between the request and the translator.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class TranslatorListener implements EventSubscriberInterface
-{
-    private $translator;
-    private $requestStack;
-
-    public function __construct(TranslatorInterface $translator, RequestStack $requestStack)
-    {
-        $this->translator = $translator;
-        $this->requestStack = $requestStack;
-    }
-
-    public function onKernelRequest(GetResponseEvent $event)
-    {
-        $this->setLocale($event->getRequest());
-    }
-
-    public function onKernelFinishRequest(FinishRequestEvent $event)
-    {
-        if (null === $parentRequest = $this->requestStack->getParentRequest()) {
-            return;
-        }
-
-        $this->setLocale($parentRequest);
-    }
-
-    public static function getSubscribedEvents()
-    {
-        return array(
-            // must be registered after the Locale listener
-            KernelEvents::REQUEST => array(array('onKernelRequest', 10)),
-            KernelEvents::FINISH_REQUEST => array(array('onKernelFinishRequest', 0)),
-        );
-    }
-
-    private function setLocale(Request $request)
-    {
-        try {
-            $this->translator->setLocale($request->getLocale());
-        } catch (\InvalidArgumentException $e) {
-            $this->translator->setLocale($request->getDefaultLocale());
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php
deleted file mode 100644
index 79d8639..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * AccessDeniedHttpException.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Christophe Coevoet <stof@notk.org>
- */
-class AccessDeniedHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(403, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php
deleted file mode 100644
index 5f68172..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * BadRequestHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class BadRequestHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(400, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php
deleted file mode 100644
index 34d738e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * ConflictHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class ConflictHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(409, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FatalErrorException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FatalErrorException.php
deleted file mode 100644
index 7a1cd23..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FatalErrorException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/*
- * Fatal Error Exception.
- *
- * @author Konstanton Myakshin <koc-dp@yandex.ru>
- *
- * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead.
- */
-class_exists('Symfony\Component\Debug\Exception\FatalErrorException');
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FlattenException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FlattenException.php
deleted file mode 100644
index ebe45b4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FlattenException.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/*
- * FlattenException wraps a PHP Exception to be able to serialize it.
- *
- * Basically, this class removes all objects from the trace.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead.
- */
-class_exists('Symfony\Component\Debug\Exception\FlattenException');
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/GoneHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/GoneHttpException.php
deleted file mode 100644
index 16ea223..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/GoneHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * GoneHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class GoneHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(410, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpException.php
deleted file mode 100644
index 4e1b526..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpException.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * HttpException.
- *
- * @author Kris Wallsmith <kris@symfony.com>
- */
-class HttpException extends \RuntimeException implements HttpExceptionInterface
-{
-    private $statusCode;
-    private $headers;
-
-    public function __construct($statusCode, $message = null, \Exception $previous = null, array $headers = array(), $code = 0)
-    {
-        $this->statusCode = $statusCode;
-        $this->headers = $headers;
-
-        parent::__construct($message, $code, $previous);
-    }
-
-    public function getStatusCode()
-    {
-        return $this->statusCode;
-    }
-
-    public function getHeaders()
-    {
-        return $this->headers;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpExceptionInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpExceptionInterface.php
deleted file mode 100644
index 8aa50a9..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpExceptionInterface.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * Interface for HTTP error exceptions.
- *
- * @author Kris Wallsmith <kris@symfony.com>
- */
-interface HttpExceptionInterface
-{
-    /**
-     * Returns the status code.
-     *
-     * @return int An HTTP response status code
-     */
-    public function getStatusCode();
-
-    /**
-     * Returns response headers.
-     *
-     * @return array Response headers
-     */
-    public function getHeaders();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php
deleted file mode 100644
index 0c4b943..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * LengthRequiredHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class LengthRequiredHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(411, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php
deleted file mode 100644
index 78dd26b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * MethodNotAllowedHttpException.
- *
- * @author Kris Wallsmith <kris@symfony.com>
- */
-class MethodNotAllowedHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param array      $allow    An array of allowed methods
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct(array $allow, $message = null, \Exception $previous = null, $code = 0)
-    {
-        $headers = array('Allow' => strtoupper(implode(', ', $allow)));
-
-        parent::__construct(405, $message, $previous, $headers, $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php
deleted file mode 100644
index cc6be4b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * NotAcceptableHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class NotAcceptableHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(406, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php
deleted file mode 100644
index 4639e37..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * NotFoundHttpException.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class NotFoundHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(404, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php
deleted file mode 100644
index 9df0e7b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * PreconditionFailedHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class PreconditionFailedHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(412, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php
deleted file mode 100644
index 08ebca2..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * PreconditionRequiredHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- *
- * @see http://tools.ietf.org/html/rfc6585
- */
-class PreconditionRequiredHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(428, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php
deleted file mode 100644
index 32b9e2d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * ServiceUnavailableHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class ServiceUnavailableHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param int|string $retryAfter The number of seconds or HTTP-date after which the request may be retried
-     * @param string     $message    The internal exception message
-     * @param \Exception $previous   The previous exception
-     * @param int        $code       The internal exception code
-     */
-    public function __construct($retryAfter = null, $message = null, \Exception $previous = null, $code = 0)
-    {
-        $headers = array();
-        if ($retryAfter) {
-            $headers = array('Retry-After' => $retryAfter);
-        }
-
-        parent::__construct(503, $message, $previous, $headers, $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php
deleted file mode 100644
index ab86e09..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * TooManyRequestsHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- *
- * @see http://tools.ietf.org/html/rfc6585
- */
-class TooManyRequestsHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param int|string $retryAfter The number of seconds or HTTP-date after which the request may be retried
-     * @param string     $message    The internal exception message
-     * @param \Exception $previous   The previous exception
-     * @param int        $code       The internal exception code
-     */
-    public function __construct($retryAfter = null, $message = null, \Exception $previous = null, $code = 0)
-    {
-        $headers = array();
-        if ($retryAfter) {
-            $headers = array('Retry-After' => $retryAfter);
-        }
-
-        parent::__construct(429, $message, $previous, $headers, $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php
deleted file mode 100644
index 0dfe42d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * UnauthorizedHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class UnauthorizedHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $challenge WWW-Authenticate challenge string
-     * @param string     $message   The internal exception message
-     * @param \Exception $previous  The previous exception
-     * @param int        $code      The internal exception code
-     */
-    public function __construct($challenge, $message = null, \Exception $previous = null, $code = 0)
-    {
-        $headers = array('WWW-Authenticate' => $challenge);
-
-        parent::__construct(401, $message, $previous, $headers, $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php
deleted file mode 100644
index eb13f56..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * UnprocessableEntityHttpException.
- *
- * @author Steve Hutchins <hutchinsteve@gmail.com>
- */
-class UnprocessableEntityHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(422, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php
deleted file mode 100644
index a9d8fa0..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Exception;
-
-/**
- * UnsupportedMediaTypeHttpException.
- *
- * @author Ben Ramsey <ben@benramsey.com>
- */
-class UnsupportedMediaTypeHttpException extends HttpException
-{
-    /**
-     * Constructor.
-     *
-     * @param string     $message  The internal exception message
-     * @param \Exception $previous The previous exception
-     * @param int        $code     The internal exception code
-     */
-    public function __construct($message = null, \Exception $previous = null, $code = 0)
-    {
-        parent::__construct(415, $message, $previous, array(), $code);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php
deleted file mode 100644
index 1968001..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpKernel\HttpCache\SurrogateInterface;
-use Symfony\Component\HttpKernel\UriSigner;
-
-/**
- * Implements Surrogate rendering strategy.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class AbstractSurrogateFragmentRenderer extends RoutableFragmentRenderer
-{
-    private $surrogate;
-    private $inlineStrategy;
-    private $signer;
-
-    /**
-     * Constructor.
-     *
-     * The "fallback" strategy when surrogate is not available should always be an
-     * instance of InlineFragmentRenderer.
-     *
-     * @param SurrogateInterface        $surrogate      An Surrogate instance
-     * @param FragmentRendererInterface $inlineStrategy The inline strategy to use when the surrogate is not supported
-     * @param UriSigner                 $signer
-     */
-    public function __construct(SurrogateInterface $surrogate = null, FragmentRendererInterface $inlineStrategy, UriSigner $signer = null)
-    {
-        $this->surrogate = $surrogate;
-        $this->inlineStrategy = $inlineStrategy;
-        $this->signer = $signer;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * Note that if the current Request has no surrogate capability, this method
-     * falls back to use the inline rendering strategy.
-     *
-     * Additional available options:
-     *
-     *  * alt: an alternative URI to render in case of an error
-     *  * comment: a comment to add when returning the surrogate tag
-     *
-     * Note, that not all surrogate strategies support all options. For now
-     * 'alt' and 'comment' are only supported by ESI.
-     *
-     * @see Symfony\Component\HttpKernel\HttpCache\SurrogateInterface
-     */
-    public function render($uri, Request $request, array $options = array())
-    {
-        if (!$this->surrogate || !$this->surrogate->hasSurrogateCapability($request)) {
-            return $this->inlineStrategy->render($uri, $request, $options);
-        }
-
-        if ($uri instanceof ControllerReference) {
-            $uri = $this->generateSignedFragmentUri($uri, $request);
-        }
-
-        $alt = isset($options['alt']) ? $options['alt'] : null;
-        if ($alt instanceof ControllerReference) {
-            $alt = $this->generateSignedFragmentUri($alt, $request);
-        }
-
-        $tag = $this->surrogate->renderIncludeTag($uri, $alt, isset($options['ignore_errors']) ? $options['ignore_errors'] : false, isset($options['comment']) ? $options['comment'] : '');
-
-        return new Response($tag);
-    }
-
-    private function generateSignedFragmentUri($uri, Request $request)
-    {
-        if (null === $this->signer) {
-            throw new \LogicException('You must use a URI when using the ESI rendering strategy or set a URL signer.');
-        }
-
-        // we need to sign the absolute URI, but want to return the path only.
-        $fragmentUri = $this->signer->sign($this->generateFragmentUri($uri, $request, true));
-
-        return substr($fragmentUri, strlen($request->getSchemeAndHttpHost()));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
deleted file mode 100644
index a4570e3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-/**
- * Implements the ESI rendering strategy.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class EsiFragmentRenderer extends AbstractSurrogateFragmentRenderer
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'esi';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
deleted file mode 100644
index 27fa7ea..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\StreamedResponse;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-
-/**
- * Renders a URI that represents a resource fragment.
- *
- * This class handles the rendering of resource fragments that are included into
- * a main resource. The handling of the rendering is managed by specialized renderers.
- *
- * This listener works in 2 modes:
- *
- *  * 2.3 compatibility mode where you must call setRequest whenever the Request changes.
- *  * 2.4+ mode where you must pass a RequestStack instance in the constructor.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @see FragmentRendererInterface
- */
-class FragmentHandler
-{
-    private $debug;
-    private $renderers = array();
-    private $request;
-    private $requestStack;
-
-    /**
-     * Constructor.
-     *
-     * RequestStack will become required in 3.0.
-     *
-     * @param FragmentRendererInterface[] $renderers    An array of FragmentRendererInterface instances
-     * @param bool                        $debug        Whether the debug mode is enabled or not
-     * @param RequestStack|null           $requestStack The Request stack that controls the lifecycle of requests
-     */
-    public function __construct(array $renderers = array(), $debug = false, RequestStack $requestStack = null)
-    {
-        $this->requestStack = $requestStack;
-        foreach ($renderers as $renderer) {
-            $this->addRenderer($renderer);
-        }
-        $this->debug = $debug;
-    }
-
-    /**
-     * Adds a renderer.
-     *
-     * @param FragmentRendererInterface $renderer A FragmentRendererInterface instance
-     */
-    public function addRenderer(FragmentRendererInterface $renderer)
-    {
-        $this->renderers[$renderer->getName()] = $renderer;
-    }
-
-    /**
-     * Sets the current Request.
-     *
-     * This method was used to synchronize the Request, but as the HttpKernel
-     * is doing that automatically now, you should never call it directly.
-     * It is kept public for BC with the 2.3 version.
-     *
-     * @param Request|null $request A Request instance
-     *
-     * @deprecated Deprecated since version 2.4, to be removed in 3.0.
-     */
-    public function setRequest(Request $request = null)
-    {
-        $this->request = $request;
-    }
-
-    /**
-     * Renders a URI and returns the Response content.
-     *
-     * Available options:
-     *
-     *  * ignore_errors: true to return an empty string in case of an error
-     *
-     * @param string|ControllerReference $uri      A URI as a string or a ControllerReference instance
-     * @param string                     $renderer The renderer name
-     * @param array                      $options  An array of options
-     *
-     * @return string|null The Response content or null when the Response is streamed
-     *
-     * @throws \InvalidArgumentException when the renderer does not exist
-     * @throws \LogicException           when no master request is being handled
-     */
-    public function render($uri, $renderer = 'inline', array $options = array())
-    {
-        if (!isset($options['ignore_errors'])) {
-            $options['ignore_errors'] = !$this->debug;
-        }
-
-        if (!isset($this->renderers[$renderer])) {
-            throw new \InvalidArgumentException(sprintf('The "%s" renderer does not exist.', $renderer));
-        }
-
-        if (!$request = $this->getRequest()) {
-            throw new \LogicException('Rendering a fragment can only be done when handling a Request.');
-        }
-
-        return $this->deliver($this->renderers[$renderer]->render($uri, $request, $options));
-    }
-
-    /**
-     * Delivers the Response as a string.
-     *
-     * When the Response is a StreamedResponse, the content is streamed immediately
-     * instead of being returned.
-     *
-     * @param Response $response A Response instance
-     *
-     * @return string|null The Response content or null when the Response is streamed
-     *
-     * @throws \RuntimeException when the Response is not successful
-     */
-    protected function deliver(Response $response)
-    {
-        if (!$response->isSuccessful()) {
-            throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).', $this->getRequest()->getUri(), $response->getStatusCode()));
-        }
-
-        if (!$response instanceof StreamedResponse) {
-            return $response->getContent();
-        }
-
-        $response->sendContent();
-    }
-
-    private function getRequest()
-    {
-        return $this->requestStack ? $this->requestStack->getCurrentRequest() : $this->request;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentRendererInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentRendererInterface.php
deleted file mode 100644
index b177c3a..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentRendererInterface.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Interface implemented by all rendering strategies.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface FragmentRendererInterface
-{
-    /**
-     * Renders a URI and returns the Response content.
-     *
-     * @param string|ControllerReference $uri     A URI as a string or a ControllerReference instance
-     * @param Request                    $request A Request instance
-     * @param array                      $options An array of options
-     *
-     * @return Response A Response instance
-     */
-    public function render($uri, Request $request, array $options = array());
-
-    /**
-     * Gets the name of the strategy.
-     *
-     * @return string The strategy name
-     */
-    public function getName();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php
deleted file mode 100644
index 56c96b3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\Templating\EngineInterface;
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpKernel\UriSigner;
-
-/**
- * Implements the Hinclude rendering strategy.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class HIncludeFragmentRenderer extends RoutableFragmentRenderer
-{
-    private $globalDefaultTemplate;
-    private $signer;
-    private $templating;
-    private $charset;
-
-    /**
-     * Constructor.
-     *
-     * @param EngineInterface|\Twig_Environment $templating            An EngineInterface or a \Twig_Environment instance
-     * @param UriSigner                         $signer                A UriSigner instance
-     * @param string                            $globalDefaultTemplate The global default content (it can be a template name or the content)
-     * @param string                            $charset
-     */
-    public function __construct($templating = null, UriSigner $signer = null, $globalDefaultTemplate = null, $charset = 'utf-8')
-    {
-        $this->setTemplating($templating);
-        $this->globalDefaultTemplate = $globalDefaultTemplate;
-        $this->signer = $signer;
-        $this->charset = $charset;
-    }
-
-    /**
-     * Sets the templating engine to use to render the default content.
-     *
-     * @param EngineInterface|\Twig_Environment|null $templating An EngineInterface or a \Twig_Environment instance
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function setTemplating($templating)
-    {
-        if (null !== $templating && !$templating instanceof EngineInterface && !$templating instanceof \Twig_Environment) {
-            throw new \InvalidArgumentException('The hinclude rendering strategy needs an instance of \Twig_Environment or Symfony\Component\Templating\EngineInterface');
-        }
-
-        $this->templating = $templating;
-    }
-
-    /**
-     * Checks if a templating engine has been set.
-     *
-     * @return bool true if the templating engine has been set, false otherwise
-     */
-    public function hasTemplating()
-    {
-        return null !== $this->templating;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * Additional available options:
-     *
-     *  * default:    The default content (it can be a template name or the content)
-     *  * id:         An optional hx:include tag id attribute
-     *  * attributes: An optional array of hx:include tag attributes
-     */
-    public function render($uri, Request $request, array $options = array())
-    {
-        if ($uri instanceof ControllerReference) {
-            if (null === $this->signer) {
-                throw new \LogicException('You must use a proper URI when using the Hinclude rendering strategy or set a URL signer.');
-            }
-
-            // we need to sign the absolute URI, but want to return the path only.
-            $uri = substr($this->signer->sign($this->generateFragmentUri($uri, $request, true)), strlen($request->getSchemeAndHttpHost()));
-        }
-
-        // We need to replace ampersands in the URI with the encoded form in order to return valid html/xml content.
-        $uri = str_replace('&', '&amp;', $uri);
-
-        $template = isset($options['default']) ? $options['default'] : $this->globalDefaultTemplate;
-        if (null !== $this->templating && $template && $this->templateExists($template)) {
-            $content = $this->templating->render($template);
-        } else {
-            $content = $template;
-        }
-
-        $attributes = isset($options['attributes']) && is_array($options['attributes']) ? $options['attributes'] : array();
-        if (isset($options['id']) && $options['id']) {
-            $attributes['id'] = $options['id'];
-        }
-        $renderedAttributes = '';
-        if (count($attributes) > 0) {
-            if (PHP_VERSION_ID >= 50400) {
-                $flags = ENT_QUOTES | ENT_SUBSTITUTE;
-            } else {
-                $flags = ENT_QUOTES;
-            }
-            foreach ($attributes as $attribute => $value) {
-                $renderedAttributes .= sprintf(
-                    ' %s="%s"',
-                    htmlspecialchars($attribute, $flags, $this->charset, false),
-                    htmlspecialchars($value, $flags, $this->charset, false)
-                );
-            }
-        }
-
-        return new Response(sprintf('<hx:include src="%s"%s>%s</hx:include>', $uri, $renderedAttributes, $content));
-    }
-
-    /**
-     * @param string $template
-     *
-     * @return bool
-     */
-    private function templateExists($template)
-    {
-        if ($this->templating instanceof EngineInterface) {
-            try {
-                return $this->templating->exists($template);
-            } catch (\InvalidArgumentException $e) {
-                return false;
-            }
-        }
-
-        $loader = $this->templating->getLoader();
-        if ($loader instanceof \Twig_ExistsLoaderInterface) {
-            return $loader->exists($template);
-        }
-
-        try {
-            $loader->getSource($template);
-
-            return true;
-        } catch (\Twig_Error_Loader $e) {
-        }
-
-        return false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'hinclude';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php
deleted file mode 100644
index a6ab82e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-
-/**
- * Implements the inline rendering strategy where the Request is rendered by the current HTTP kernel.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class InlineFragmentRenderer extends RoutableFragmentRenderer
-{
-    private $kernel;
-    private $dispatcher;
-
-    /**
-     * Constructor.
-     *
-     * @param HttpKernelInterface      $kernel     A HttpKernelInterface instance
-     * @param EventDispatcherInterface $dispatcher A EventDispatcherInterface instance
-     */
-    public function __construct(HttpKernelInterface $kernel, EventDispatcherInterface $dispatcher = null)
-    {
-        $this->kernel = $kernel;
-        $this->dispatcher = $dispatcher;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * Additional available options:
-     *
-     *  * alt: an alternative URI to render in case of an error
-     */
-    public function render($uri, Request $request, array $options = array())
-    {
-        $reference = null;
-        if ($uri instanceof ControllerReference) {
-            $reference = $uri;
-
-            // Remove attributes from the generated URI because if not, the Symfony
-            // routing system will use them to populate the Request attributes. We don't
-            // want that as we want to preserve objects (so we manually set Request attributes
-            // below instead)
-            $attributes = $reference->attributes;
-            $reference->attributes = array();
-
-            // The request format and locale might have been overridden by the user
-            foreach (array('_format', '_locale') as $key) {
-                if (isset($attributes[$key])) {
-                    $reference->attributes[$key] = $attributes[$key];
-                }
-            }
-
-            $uri = $this->generateFragmentUri($uri, $request, false, false);
-
-            $reference->attributes = array_merge($attributes, $reference->attributes);
-        }
-
-        $subRequest = $this->createSubRequest($uri, $request);
-
-        // override Request attributes as they can be objects (which are not supported by the generated URI)
-        if (null !== $reference) {
-            $subRequest->attributes->add($reference->attributes);
-        }
-
-        $level = ob_get_level();
-        try {
-            return $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST, false);
-        } catch (\Exception $e) {
-            // we dispatch the exception event to trigger the logging
-            // the response that comes back is simply ignored
-            if (isset($options['ignore_errors']) && $options['ignore_errors'] && $this->dispatcher) {
-                $event = new GetResponseForExceptionEvent($this->kernel, $request, HttpKernelInterface::SUB_REQUEST, $e);
-
-                $this->dispatcher->dispatch(KernelEvents::EXCEPTION, $event);
-            }
-
-            // let's clean up the output buffers that were created by the sub-request
-            Response::closeOutputBuffers($level, false);
-
-            if (isset($options['alt'])) {
-                $alt = $options['alt'];
-                unset($options['alt']);
-
-                return $this->render($alt, $request, $options);
-            }
-
-            if (!isset($options['ignore_errors']) || !$options['ignore_errors']) {
-                throw $e;
-            }
-
-            return new Response();
-        }
-    }
-
-    protected function createSubRequest($uri, Request $request)
-    {
-        $cookies = $request->cookies->all();
-        $server = $request->server->all();
-
-        // Override the arguments to emulate a sub-request.
-        // Sub-request object will point to localhost as client ip and real client ip
-        // will be included into trusted header for client ip
-        try {
-            if ($trustedHeaderName = Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP)) {
-                $currentXForwardedFor = $request->headers->get($trustedHeaderName, '');
-
-                $server['HTTP_'.$trustedHeaderName] = ($currentXForwardedFor ? $currentXForwardedFor.', ' : '').$request->getClientIp();
-            }
-        } catch (\InvalidArgumentException $e) {
-            // Do nothing
-        }
-
-        $server['REMOTE_ADDR'] = '127.0.0.1';
-
-        $subRequest = Request::create($uri, 'get', array(), $cookies, array(), $server);
-        if ($request->headers->has('Surrogate-Capability')) {
-            $subRequest->headers->set('Surrogate-Capability', $request->headers->get('Surrogate-Capability'));
-        }
-
-        if ($session = $request->getSession()) {
-            $subRequest->setSession($session);
-        }
-
-        return $subRequest;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'inline';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
deleted file mode 100644
index d7eeb89..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\EventListener\FragmentListener;
-
-/**
- * Adds the possibility to generate a fragment URI for a given Controller.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class RoutableFragmentRenderer implements FragmentRendererInterface
-{
-    private $fragmentPath = '/_fragment';
-
-    /**
-     * Sets the fragment path that triggers the fragment listener.
-     *
-     * @param string $path The path
-     *
-     * @see FragmentListener
-     */
-    public function setFragmentPath($path)
-    {
-        $this->fragmentPath = $path;
-    }
-
-    /**
-     * Generates a fragment URI for a given controller.
-     *
-     * @param ControllerReference $reference A ControllerReference instance
-     * @param Request             $request   A Request instance
-     * @param bool                $absolute  Whether to generate an absolute URL or not
-     * @param bool                $strict    Whether to allow non-scalar attributes or not
-     *
-     * @return string A fragment URI
-     */
-    protected function generateFragmentUri(ControllerReference $reference, Request $request, $absolute = false, $strict = true)
-    {
-        if ($strict) {
-            $this->checkNonScalar($reference->attributes);
-        }
-
-        // We need to forward the current _format and _locale values as we don't have
-        // a proper routing pattern to do the job for us.
-        // This makes things inconsistent if you switch from rendering a controller
-        // to rendering a route if the route pattern does not contain the special
-        // _format and _locale placeholders.
-        if (!isset($reference->attributes['_format'])) {
-            $reference->attributes['_format'] = $request->getRequestFormat();
-        }
-        if (!isset($reference->attributes['_locale'])) {
-            $reference->attributes['_locale'] = $request->getLocale();
-        }
-
-        $reference->attributes['_controller'] = $reference->controller;
-
-        $reference->query['_path'] = http_build_query($reference->attributes, '', '&');
-
-        $path = $this->fragmentPath.'?'.http_build_query($reference->query, '', '&');
-
-        if ($absolute) {
-            return $request->getUriForPath($path);
-        }
-
-        return $request->getBaseUrl().$path;
-    }
-
-    private function checkNonScalar($values)
-    {
-        foreach ($values as $key => $value) {
-            if (is_array($value)) {
-                $this->checkNonScalar($value);
-            } elseif (!is_scalar($value) && null !== $value) {
-                throw new \LogicException(sprintf('Controller attributes cannot contain non-scalar/non-null values (value for key "%s" is not a scalar or null).', $key));
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/SsiFragmentRenderer.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/SsiFragmentRenderer.php
deleted file mode 100644
index 45e7122..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/SsiFragmentRenderer.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Fragment;
-
-/**
- * Implements the SSI rendering strategy.
- *
- * @author Sebastian Krebs <krebs.seb@gmail.com>
- */
-class SsiFragmentRenderer extends AbstractSurrogateFragmentRenderer
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'ssi';
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php
deleted file mode 100644
index b233741..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php
+++ /dev/null
@@ -1,290 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-
-/**
- * Esi implements the ESI capabilities to Request and Response instances.
- *
- * For more information, read the following W3C notes:
- *
- *  * ESI Language Specification 1.0 (http://www.w3.org/TR/esi-lang)
- *
- *  * Edge Architecture Specification (http://www.w3.org/TR/edge-arch)
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Esi implements SurrogateInterface
-{
-    private $contentTypes;
-    private $phpEscapeMap = array(
-        array('<?', '<%', '<s', '<S'),
-        array('<?php echo "<?"; ?>', '<?php echo "<%"; ?>', '<?php echo "<s"; ?>', '<?php echo "<S"; ?>'),
-    );
-
-    /**
-     * Constructor.
-     *
-     * @param array $contentTypes An array of content-type that should be parsed for ESI information.
-     *                            (default: text/html, text/xml, application/xhtml+xml, and application/xml)
-     */
-    public function __construct(array $contentTypes = array('text/html', 'text/xml', 'application/xhtml+xml', 'application/xml'))
-    {
-        $this->contentTypes = $contentTypes;
-    }
-
-    public function getName()
-    {
-        return 'esi';
-    }
-
-    /**
-     * Returns a new cache strategy instance.
-     *
-     * @return ResponseCacheStrategyInterface A ResponseCacheStrategyInterface instance
-     */
-    public function createCacheStrategy()
-    {
-        return new EsiResponseCacheStrategy();
-    }
-
-    /**
-     * Checks that at least one surrogate has ESI/1.0 capability.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool true if one surrogate has ESI/1.0 capability, false otherwise
-     */
-    public function hasSurrogateCapability(Request $request)
-    {
-        return $this->hasSurrogateEsiCapability($request);
-    }
-
-    /**
-     * Checks that at least one surrogate has ESI/1.0 capability.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool true if one surrogate has ESI/1.0 capability, false otherwise
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use hasSurrogateCapability() instead
-     */
-    public function hasSurrogateEsiCapability(Request $request)
-    {
-        if (null === $value = $request->headers->get('Surrogate-Capability')) {
-            return false;
-        }
-
-        return false !== strpos($value, 'ESI/1.0');
-    }
-
-    /**
-     * Adds ESI/1.0 capability to the given Request.
-     *
-     * @param Request $request A Request instance
-     */
-    public function addSurrogateCapability(Request $request)
-    {
-        $this->addSurrogateEsiCapability($request);
-    }
-
-    /**
-     * Adds ESI/1.0 capability to the given Request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use addSurrogateCapability() instead
-     */
-    public function addSurrogateEsiCapability(Request $request)
-    {
-        $current = $request->headers->get('Surrogate-Capability');
-        $new = 'symfony2="ESI/1.0"';
-
-        $request->headers->set('Surrogate-Capability', $current ? $current.', '.$new : $new);
-    }
-
-    /**
-     * Adds HTTP headers to specify that the Response needs to be parsed for ESI.
-     *
-     * This method only adds an ESI HTTP header if the Response has some ESI tags.
-     *
-     * @param Response $response A Response instance
-     */
-    public function addSurrogateControl(Response $response)
-    {
-        if (false !== strpos($response->getContent(), '<esi:include')) {
-            $response->headers->set('Surrogate-Control', 'content="ESI/1.0"');
-        }
-    }
-
-    /**
-     * Checks that the Response needs to be parsed for ESI tags.
-     *
-     * @param Response $response A Response instance
-     *
-     * @return bool true if the Response needs to be parsed, false otherwise
-     */
-    public function needsParsing(Response $response)
-    {
-        return $this->needsEsiParsing($response);
-    }
-
-    /**
-     * Checks that the Response needs to be parsed for ESI tags.
-     *
-     * @param Response $response A Response instance
-     *
-     * @return bool true if the Response needs to be parsed, false otherwise
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use needsParsing() instead
-     */
-    public function needsEsiParsing(Response $response)
-    {
-        if (!$control = $response->headers->get('Surrogate-Control')) {
-            return false;
-        }
-
-        return (bool) preg_match('#content="[^"]*ESI/1.0[^"]*"#', $control);
-    }
-
-    /**
-     * Renders an ESI tag.
-     *
-     * @param string $uri          A URI
-     * @param string $alt          An alternate URI
-     * @param bool   $ignoreErrors Whether to ignore errors or not
-     * @param string $comment      A comment to add as an esi:include tag
-     *
-     * @return string
-     */
-    public function renderIncludeTag($uri, $alt = null, $ignoreErrors = true, $comment = '')
-    {
-        $html = sprintf('<esi:include src="%s"%s%s />',
-            $uri,
-            $ignoreErrors ? ' onerror="continue"' : '',
-            $alt ? sprintf(' alt="%s"', $alt) : ''
-        );
-
-        if (!empty($comment)) {
-            return sprintf("<esi:comment text=\"%s\" />\n%s", $comment, $html);
-        }
-
-        return $html;
-    }
-
-    /**
-     * Replaces a Response ESI tags with the included resource content.
-     *
-     * @param Request  $request  A Request instance
-     * @param Response $response A Response instance
-     *
-     * @return Response
-     */
-    public function process(Request $request, Response $response)
-    {
-        $this->request = $request;
-        $type = $response->headers->get('Content-Type');
-        if (empty($type)) {
-            $type = 'text/html';
-        }
-
-        $parts = explode(';', $type);
-        if (!in_array($parts[0], $this->contentTypes)) {
-            return $response;
-        }
-
-        // we don't use a proper XML parser here as we can have ESI tags in a plain text response
-        $content = $response->getContent();
-        $content = preg_replace('#<esi\:remove>.*?</esi\:remove>#', '', $content);
-        $content = preg_replace('#<esi\:comment[^>]*(?:/|</esi\:comment)>#', '', $content);
-
-        $chunks = preg_split('#<esi\:include\s+(.*?)\s*(?:/|</esi\:include)>#', $content, -1, PREG_SPLIT_DELIM_CAPTURE);
-        $chunks[0] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[0]);
-
-        $i = 1;
-        while (isset($chunks[$i])) {
-            $options = array();
-            preg_match_all('/(src|onerror|alt)="([^"]*?)"/', $chunks[$i], $matches, PREG_SET_ORDER);
-            foreach ($matches as $set) {
-                $options[$set[1]] = $set[2];
-            }
-
-            if (!isset($options['src'])) {
-                throw new \RuntimeException('Unable to process an ESI tag without a "src" attribute.');
-            }
-
-            $chunks[$i] = sprintf('<?php echo $this->surrogate->handle($this, %s, %s, %s) ?>'."\n",
-                var_export($options['src'], true),
-                var_export(isset($options['alt']) ? $options['alt'] : '', true),
-                isset($options['onerror']) && 'continue' == $options['onerror'] ? 'true' : 'false'
-            );
-            ++$i;
-            $chunks[$i] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[$i]);
-            ++$i;
-        }
-        $content = implode('', $chunks);
-
-        $response->setContent($content);
-        $response->headers->set('X-Body-Eval', 'ESI');
-
-        // remove ESI/1.0 from the Surrogate-Control header
-        if ($response->headers->has('Surrogate-Control')) {
-            $value = $response->headers->get('Surrogate-Control');
-            if ('content="ESI/1.0"' == $value) {
-                $response->headers->remove('Surrogate-Control');
-            } elseif (preg_match('#,\s*content="ESI/1.0"#', $value)) {
-                $response->headers->set('Surrogate-Control', preg_replace('#,\s*content="ESI/1.0"#', '', $value));
-            } elseif (preg_match('#content="ESI/1.0",\s*#', $value)) {
-                $response->headers->set('Surrogate-Control', preg_replace('#content="ESI/1.0",\s*#', '', $value));
-            }
-        }
-    }
-
-    /**
-     * Handles an ESI from the cache.
-     *
-     * @param HttpCache $cache        An HttpCache instance
-     * @param string    $uri          The main URI
-     * @param string    $alt          An alternative URI
-     * @param bool      $ignoreErrors Whether to ignore errors or not
-     *
-     * @return string
-     *
-     * @throws \RuntimeException
-     * @throws \Exception
-     */
-    public function handle(HttpCache $cache, $uri, $alt, $ignoreErrors)
-    {
-        $subRequest = Request::create($uri, 'get', array(), $cache->getRequest()->cookies->all(), array(), $cache->getRequest()->server->all());
-
-        try {
-            $response = $cache->handle($subRequest, HttpKernelInterface::SUB_REQUEST, true);
-
-            if (!$response->isSuccessful()) {
-                throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).', $subRequest->getUri(), $response->getStatusCode()));
-            }
-
-            return $response->getContent();
-        } catch (\Exception $e) {
-            if ($alt) {
-                return $this->handle($cache, $alt, '', $ignoreErrors);
-            }
-
-            if (!$ignoreErrors) {
-                throw $e;
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategy.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategy.php
deleted file mode 100644
index 1bef147..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategy.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * This code is partially based on the Rack-Cache library by Ryan Tomayko,
- * which is released under the MIT license.
- * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801)
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-/**
- * EsiResponseCacheStrategy knows how to compute the Response cache HTTP header
- * based on the different ESI response cache headers.
- *
- * This implementation changes the master response TTL to the smallest TTL received
- * or force validation if one of the ESI has validation cache strategy.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use ResponseCacheStrategy instead
- */
-class EsiResponseCacheStrategy extends ResponseCacheStrategy implements EsiResponseCacheStrategyInterface
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategyInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategyInterface.php
deleted file mode 100644
index 03df057..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategyInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * This code is partially based on the Rack-Cache library by Ryan Tomayko,
- * which is released under the MIT license.
- * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801)
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-/**
- * ResponseCacheStrategyInterface implementations know how to compute the
- * Response cache HTTP header based on the different response cache headers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use ResponseCacheStrategyInterface instead
- */
-interface EsiResponseCacheStrategyInterface extends ResponseCacheStrategyInterface
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php
deleted file mode 100644
index 83a7e4e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php
+++ /dev/null
@@ -1,709 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * This code is partially based on the Rack-Cache library by Ryan Tomayko,
- * which is released under the MIT license.
- * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801)
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\TerminableInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Cache provides HTTP caching.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class HttpCache implements HttpKernelInterface, TerminableInterface
-{
-    private $kernel;
-    private $store;
-    private $request;
-    private $surrogate;
-    private $surrogateCacheStrategy;
-    private $options = array();
-    private $traces = array();
-
-    /**
-     * Constructor.
-     *
-     * The available options are:
-     *
-     *   * debug:                 If true, the traces are added as a HTTP header to ease debugging
-     *
-     *   * default_ttl            The number of seconds that a cache entry should be considered
-     *                            fresh when no explicit freshness information is provided in
-     *                            a response. Explicit Cache-Control or Expires headers
-     *                            override this value. (default: 0)
-     *
-     *   * private_headers        Set of request headers that trigger "private" cache-control behavior
-     *                            on responses that don't explicitly state whether the response is
-     *                            public or private via a Cache-Control directive. (default: Authorization and Cookie)
-     *
-     *   * allow_reload           Specifies whether the client can force a cache reload by including a
-     *                            Cache-Control "no-cache" directive in the request. Set it to ``true``
-     *                            for compliance with RFC 2616. (default: false)
-     *
-     *   * allow_revalidate       Specifies whether the client can force a cache revalidate by including
-     *                            a Cache-Control "max-age=0" directive in the request. Set it to ``true``
-     *                            for compliance with RFC 2616. (default: false)
-     *
-     *   * stale_while_revalidate Specifies the default number of seconds (the granularity is the second as the
-     *                            Response TTL precision is a second) during which the cache can immediately return
-     *                            a stale response while it revalidates it in the background (default: 2).
-     *                            This setting is overridden by the stale-while-revalidate HTTP Cache-Control
-     *                            extension (see RFC 5861).
-     *
-     *   * stale_if_error         Specifies the default number of seconds (the granularity is the second) during which
-     *                            the cache can serve a stale response when an error is encountered (default: 60).
-     *                            This setting is overridden by the stale-if-error HTTP Cache-Control extension
-     *                            (see RFC 5861).
-     *
-     * @param HttpKernelInterface $kernel    An HttpKernelInterface instance
-     * @param StoreInterface      $store     A Store instance
-     * @param SurrogateInterface  $surrogate A SurrogateInterface instance
-     * @param array               $options   An array of options
-     */
-    public function __construct(HttpKernelInterface $kernel, StoreInterface $store, SurrogateInterface $surrogate = null, array $options = array())
-    {
-        $this->store = $store;
-        $this->kernel = $kernel;
-        $this->surrogate = $surrogate;
-
-        // needed in case there is a fatal error because the backend is too slow to respond
-        register_shutdown_function(array($this->store, 'cleanup'));
-
-        $this->options = array_merge(array(
-            'debug' => false,
-            'default_ttl' => 0,
-            'private_headers' => array('Authorization', 'Cookie'),
-            'allow_reload' => false,
-            'allow_revalidate' => false,
-            'stale_while_revalidate' => 2,
-            'stale_if_error' => 60,
-        ), $options);
-    }
-
-    /**
-     * Gets the current store.
-     *
-     * @return StoreInterface $store A StoreInterface instance
-     */
-    public function getStore()
-    {
-        return $this->store;
-    }
-
-    /**
-     * Returns an array of events that took place during processing of the last request.
-     *
-     * @return array An array of events
-     */
-    public function getTraces()
-    {
-        return $this->traces;
-    }
-
-    /**
-     * Returns a log message for the events of the last request processing.
-     *
-     * @return string A log message
-     */
-    public function getLog()
-    {
-        $log = array();
-        foreach ($this->traces as $request => $traces) {
-            $log[] = sprintf('%s: %s', $request, implode(', ', $traces));
-        }
-
-        return implode('; ', $log);
-    }
-
-    /**
-     * Gets the Request instance associated with the master request.
-     *
-     * @return Request A Request instance
-     */
-    public function getRequest()
-    {
-        return $this->request;
-    }
-
-    /**
-     * Gets the Kernel instance.
-     *
-     * @return HttpKernelInterface An HttpKernelInterface instance
-     */
-    public function getKernel()
-    {
-        return $this->kernel;
-    }
-
-    /**
-     * Gets the Surrogate instance.
-     *
-     * @throws \LogicException
-     * @return SurrogateInterface A Surrogate instance
-     */
-    public function getSurrogate()
-    {
-        return $this->getEsi();
-    }
-
-    /**
-     * Gets the Esi instance.
-     *
-     * @throws \LogicException
-     *
-     * @return Esi An Esi instance
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use getSurrogate() instead
-     */
-    public function getEsi()
-    {
-        if (!$this->surrogate instanceof Esi) {
-            throw new \LogicException('This instance of HttpCache was not set up to use ESI as surrogate handler. You must overwrite and use createSurrogate');
-        }
-
-        return $this->surrogate;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
-    {
-        // FIXME: catch exceptions and implement a 500 error page here? -> in Varnish, there is a built-in error page mechanism
-        if (HttpKernelInterface::MASTER_REQUEST === $type) {
-            $this->traces = array();
-            $this->request = $request;
-            if (null !== $this->surrogate) {
-                $this->surrogateCacheStrategy = $this->surrogate->createCacheStrategy();
-            }
-        }
-
-        $path = $request->getPathInfo();
-        if ($qs = $request->getQueryString()) {
-            $path .= '?'.$qs;
-        }
-        $this->traces[$request->getMethod().' '.$path] = array();
-
-        if (!$request->isMethodSafe()) {
-            $response = $this->invalidate($request, $catch);
-        } elseif ($request->headers->has('expect')) {
-            $response = $this->pass($request, $catch);
-        } else {
-            $response = $this->lookup($request, $catch);
-        }
-
-        $this->restoreResponseBody($request, $response);
-
-        $response->setDate(new \DateTime(null, new \DateTimeZone('UTC')));
-
-        if (HttpKernelInterface::MASTER_REQUEST === $type && $this->options['debug']) {
-            $response->headers->set('X-Symfony-Cache', $this->getLog());
-        }
-
-        if (null !== $this->surrogate) {
-            if (HttpKernelInterface::MASTER_REQUEST === $type) {
-                $this->surrogateCacheStrategy->update($response);
-            } else {
-                $this->surrogateCacheStrategy->add($response);
-            }
-        }
-
-        $response->prepare($request);
-
-        $response->isNotModified($request);
-
-        return $response;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function terminate(Request $request, Response $response)
-    {
-        if ($this->getKernel() instanceof TerminableInterface) {
-            $this->getKernel()->terminate($request, $response);
-        }
-    }
-
-    /**
-     * Forwards the Request to the backend without storing the Response in the cache.
-     *
-     * @param Request $request A Request instance
-     * @param bool    $catch   Whether to process exceptions
-     *
-     * @return Response A Response instance
-     */
-    protected function pass(Request $request, $catch = false)
-    {
-        $this->record($request, 'pass');
-
-        return $this->forward($request, $catch);
-    }
-
-    /**
-     * Invalidates non-safe methods (like POST, PUT, and DELETE).
-     *
-     * @param Request $request A Request instance
-     * @param bool    $catch   Whether to process exceptions
-     *
-     * @return Response A Response instance
-     *
-     * @throws \Exception
-     *
-     * @see RFC2616 13.10
-     */
-    protected function invalidate(Request $request, $catch = false)
-    {
-        $response = $this->pass($request, $catch);
-
-        // invalidate only when the response is successful
-        if ($response->isSuccessful() || $response->isRedirect()) {
-            try {
-                $this->store->invalidate($request, $catch);
-
-                // As per the RFC, invalidate Location and Content-Location URLs if present
-                foreach (array('Location', 'Content-Location') as $header) {
-                    if ($uri = $response->headers->get($header)) {
-                        $subRequest = Request::create($uri, 'get', array(), array(), array(), $request->server->all());
-
-                        $this->store->invalidate($subRequest);
-                    }
-                }
-
-                $this->record($request, 'invalidate');
-            } catch (\Exception $e) {
-                $this->record($request, 'invalidate-failed');
-
-                if ($this->options['debug']) {
-                    throw $e;
-                }
-            }
-        }
-
-        return $response;
-    }
-
-    /**
-     * Lookups a Response from the cache for the given Request.
-     *
-     * When a matching cache entry is found and is fresh, it uses it as the
-     * response without forwarding any request to the backend. When a matching
-     * cache entry is found but is stale, it attempts to "validate" the entry with
-     * the backend using conditional GET. When no matching cache entry is found,
-     * it triggers "miss" processing.
-     *
-     * @param Request $request A Request instance
-     * @param bool    $catch   whether to process exceptions
-     *
-     * @return Response A Response instance
-     *
-     * @throws \Exception
-     */
-    protected function lookup(Request $request, $catch = false)
-    {
-        // if allow_reload and no-cache Cache-Control, allow a cache reload
-        if ($this->options['allow_reload'] && $request->isNoCache()) {
-            $this->record($request, 'reload');
-
-            return $this->fetch($request, $catch);
-        }
-
-        try {
-            $entry = $this->store->lookup($request);
-        } catch (\Exception $e) {
-            $this->record($request, 'lookup-failed');
-
-            if ($this->options['debug']) {
-                throw $e;
-            }
-
-            return $this->pass($request, $catch);
-        }
-
-        if (null === $entry) {
-            $this->record($request, 'miss');
-
-            return $this->fetch($request, $catch);
-        }
-
-        if (!$this->isFreshEnough($request, $entry)) {
-            $this->record($request, 'stale');
-
-            return $this->validate($request, $entry, $catch);
-        }
-
-        $this->record($request, 'fresh');
-
-        $entry->headers->set('Age', $entry->getAge());
-
-        return $entry;
-    }
-
-    /**
-     * Validates that a cache entry is fresh.
-     *
-     * The original request is used as a template for a conditional
-     * GET request with the backend.
-     *
-     * @param Request  $request A Request instance
-     * @param Response $entry   A Response instance to validate
-     * @param bool     $catch   Whether to process exceptions
-     *
-     * @return Response A Response instance
-     */
-    protected function validate(Request $request, Response $entry, $catch = false)
-    {
-        $subRequest = clone $request;
-
-        // send no head requests because we want content
-        $subRequest->setMethod('GET');
-
-        // add our cached last-modified validator
-        $subRequest->headers->set('if_modified_since', $entry->headers->get('Last-Modified'));
-
-        // Add our cached etag validator to the environment.
-        // We keep the etags from the client to handle the case when the client
-        // has a different private valid entry which is not cached here.
-        $cachedEtags = $entry->getEtag() ? array($entry->getEtag()) : array();
-        $requestEtags = $request->getEtags();
-        if ($etags = array_unique(array_merge($cachedEtags, $requestEtags))) {
-            $subRequest->headers->set('if_none_match', implode(', ', $etags));
-        }
-
-        $response = $this->forward($subRequest, $catch, $entry);
-
-        if (304 == $response->getStatusCode()) {
-            $this->record($request, 'valid');
-
-            // return the response and not the cache entry if the response is valid but not cached
-            $etag = $response->getEtag();
-            if ($etag && in_array($etag, $requestEtags) && !in_array($etag, $cachedEtags)) {
-                return $response;
-            }
-
-            $entry = clone $entry;
-            $entry->headers->remove('Date');
-
-            foreach (array('Date', 'Expires', 'Cache-Control', 'ETag', 'Last-Modified') as $name) {
-                if ($response->headers->has($name)) {
-                    $entry->headers->set($name, $response->headers->get($name));
-                }
-            }
-
-            $response = $entry;
-        } else {
-            $this->record($request, 'invalid');
-        }
-
-        if ($response->isCacheable()) {
-            $this->store($request, $response);
-        }
-
-        return $response;
-    }
-
-    /**
-     * Forwards the Request to the backend and determines whether the response should be stored.
-     *
-     * This methods is triggered when the cache missed or a reload is required.
-     *
-     * @param Request $request A Request instance
-     * @param bool    $catch   whether to process exceptions
-     *
-     * @return Response A Response instance
-     */
-    protected function fetch(Request $request, $catch = false)
-    {
-        $subRequest = clone $request;
-
-        // send no head requests because we want content
-        $subRequest->setMethod('GET');
-
-        // avoid that the backend sends no content
-        $subRequest->headers->remove('if_modified_since');
-        $subRequest->headers->remove('if_none_match');
-
-        $response = $this->forward($subRequest, $catch);
-
-        if ($response->isCacheable()) {
-            $this->store($request, $response);
-        }
-
-        return $response;
-    }
-
-    /**
-     * Forwards the Request to the backend and returns the Response.
-     *
-     * @param Request  $request A Request instance
-     * @param bool     $catch   Whether to catch exceptions or not
-     * @param Response $entry   A Response instance (the stale entry if present, null otherwise)
-     *
-     * @return Response A Response instance
-     */
-    protected function forward(Request $request, $catch = false, Response $entry = null)
-    {
-        if ($this->surrogate) {
-            $this->surrogate->addSurrogateCapability($request);
-        }
-
-        // modify the X-Forwarded-For header if needed
-        $forwardedFor = $request->headers->get('X-Forwarded-For');
-        if ($forwardedFor) {
-            $request->headers->set('X-Forwarded-For', $forwardedFor.', '.$request->server->get('REMOTE_ADDR'));
-        } else {
-            $request->headers->set('X-Forwarded-For', $request->server->get('REMOTE_ADDR'));
-        }
-
-        // fix the client IP address by setting it to 127.0.0.1 as HttpCache
-        // is always called from the same process as the backend.
-        $request->server->set('REMOTE_ADDR', '127.0.0.1');
-
-        // make sure HttpCache is a trusted proxy
-        if (!in_array('127.0.0.1', $trustedProxies = Request::getTrustedProxies())) {
-            $trustedProxies[] = '127.0.0.1';
-            Request::setTrustedProxies($trustedProxies);
-        }
-
-        // always a "master" request (as the real master request can be in cache)
-        $response = $this->kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, $catch);
-        // FIXME: we probably need to also catch exceptions if raw === true
-
-        // we don't implement the stale-if-error on Requests, which is nonetheless part of the RFC
-        if (null !== $entry && in_array($response->getStatusCode(), array(500, 502, 503, 504))) {
-            if (null === $age = $entry->headers->getCacheControlDirective('stale-if-error')) {
-                $age = $this->options['stale_if_error'];
-            }
-
-            if (abs($entry->getTtl()) < $age) {
-                $this->record($request, 'stale-if-error');
-
-                return $entry;
-            }
-        }
-
-        $this->processResponseBody($request, $response);
-
-        if ($this->isPrivateRequest($request) && !$response->headers->hasCacheControlDirective('public')) {
-            $response->setPrivate(true);
-        } elseif ($this->options['default_ttl'] > 0 && null === $response->getTtl() && !$response->headers->getCacheControlDirective('must-revalidate')) {
-            $response->setTtl($this->options['default_ttl']);
-        }
-
-        return $response;
-    }
-
-    /**
-     * Checks whether the cache entry is "fresh enough" to satisfy the Request.
-     *
-     * @param Request  $request A Request instance
-     * @param Response $entry   A Response instance
-     *
-     * @return bool true if the cache entry if fresh enough, false otherwise
-     */
-    protected function isFreshEnough(Request $request, Response $entry)
-    {
-        if (!$entry->isFresh()) {
-            return $this->lock($request, $entry);
-        }
-
-        if ($this->options['allow_revalidate'] && null !== $maxAge = $request->headers->getCacheControlDirective('max-age')) {
-            return $maxAge > 0 && $maxAge >= $entry->getAge();
-        }
-
-        return true;
-    }
-
-    /**
-     * Locks a Request during the call to the backend.
-     *
-     * @param Request  $request A Request instance
-     * @param Response $entry   A Response instance
-     *
-     * @return bool true if the cache entry can be returned even if it is staled, false otherwise
-     */
-    protected function lock(Request $request, Response $entry)
-    {
-        // try to acquire a lock to call the backend
-        $lock = $this->store->lock($request);
-
-        // there is already another process calling the backend
-        if (true !== $lock) {
-            // check if we can serve the stale entry
-            if (null === $age = $entry->headers->getCacheControlDirective('stale-while-revalidate')) {
-                $age = $this->options['stale_while_revalidate'];
-            }
-
-            if (abs($entry->getTtl()) < $age) {
-                $this->record($request, 'stale-while-revalidate');
-
-                // server the stale response while there is a revalidation
-                return true;
-            }
-
-            // wait for the lock to be released
-            $wait = 0;
-            while ($this->store->isLocked($request) && $wait < 5000000) {
-                usleep(50000);
-                $wait += 50000;
-            }
-
-            if ($wait < 2000000) {
-                // replace the current entry with the fresh one
-                $new = $this->lookup($request);
-                $entry->headers = $new->headers;
-                $entry->setContent($new->getContent());
-                $entry->setStatusCode($new->getStatusCode());
-                $entry->setProtocolVersion($new->getProtocolVersion());
-                foreach ($new->headers->getCookies() as $cookie) {
-                    $entry->headers->setCookie($cookie);
-                }
-            } else {
-                // backend is slow as hell, send a 503 response (to avoid the dog pile effect)
-                $entry->setStatusCode(503);
-                $entry->setContent('503 Service Unavailable');
-                $entry->headers->set('Retry-After', 10);
-            }
-
-            return true;
-        }
-
-        // we have the lock, call the backend
-        return false;
-    }
-
-    /**
-     * Writes the Response to the cache.
-     *
-     * @param Request  $request  A Request instance
-     * @param Response $response A Response instance
-     *
-     * @throws \Exception
-     */
-    protected function store(Request $request, Response $response)
-    {
-        try {
-            $this->store->write($request, $response);
-
-            $this->record($request, 'store');
-
-            $response->headers->set('Age', $response->getAge());
-        } catch (\Exception $e) {
-            $this->record($request, 'store-failed');
-
-            if ($this->options['debug']) {
-                throw $e;
-            }
-        }
-
-        // now that the response is cached, release the lock
-        $this->store->unlock($request);
-    }
-
-    /**
-     * Restores the Response body.
-     *
-     * @param Request  $request  A Request instance
-     * @param Response $response A Response instance
-     */
-    private function restoreResponseBody(Request $request, Response $response)
-    {
-        if ($request->isMethod('HEAD') || 304 === $response->getStatusCode()) {
-            $response->setContent(null);
-            $response->headers->remove('X-Body-Eval');
-            $response->headers->remove('X-Body-File');
-
-            return;
-        }
-
-        if ($response->headers->has('X-Body-Eval')) {
-            ob_start();
-
-            if ($response->headers->has('X-Body-File')) {
-                include $response->headers->get('X-Body-File');
-            } else {
-                eval('; ?>'.$response->getContent().'<?php ;');
-            }
-
-            $response->setContent(ob_get_clean());
-            $response->headers->remove('X-Body-Eval');
-            if (!$response->headers->has('Transfer-Encoding')) {
-                $response->headers->set('Content-Length', strlen($response->getContent()));
-            }
-        } elseif ($response->headers->has('X-Body-File')) {
-            $response->setContent(file_get_contents($response->headers->get('X-Body-File')));
-        } else {
-            return;
-        }
-
-        $response->headers->remove('X-Body-File');
-    }
-
-    protected function processResponseBody(Request $request, Response $response)
-    {
-        if (null !== $this->surrogate && $this->surrogate->needsParsing($response)) {
-            $this->surrogate->process($request, $response);
-        }
-    }
-
-    /**
-     * Checks if the Request includes authorization or other sensitive information
-     * that should cause the Response to be considered private by default.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool true if the Request is private, false otherwise
-     */
-    private function isPrivateRequest(Request $request)
-    {
-        foreach ($this->options['private_headers'] as $key) {
-            $key = strtolower(str_replace('HTTP_', '', $key));
-
-            if ('cookie' === $key) {
-                if (count($request->cookies->all())) {
-                    return true;
-                }
-            } elseif ($request->headers->has($key)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Records that an event took place.
-     *
-     * @param Request $request A Request instance
-     * @param string  $event   The event name
-     */
-    private function record(Request $request, $event)
-    {
-        $path = $request->getPathInfo();
-        if ($qs = $request->getQueryString()) {
-            $path .= '?'.$qs;
-        }
-        $this->traces[$request->getMethod().' '.$path][] = $event;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php
deleted file mode 100644
index d22dff1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * This code is partially based on the Rack-Cache library by Ryan Tomayko,
- * which is released under the MIT license.
- * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801)
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * ResponseCacheStrategy knows how to compute the Response cache HTTP header
- * based on the different response cache headers.
- *
- * This implementation changes the master response TTL to the smallest TTL received
- * or force validation if one of the surrogates has validation cache strategy.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ResponseCacheStrategy implements ResponseCacheStrategyInterface
-{
-    private $cacheable = true;
-    private $embeddedResponses = 0;
-    private $ttls = array();
-    private $maxAges = array();
-
-    /**
-     * {@inheritdoc}
-     */
-    public function add(Response $response)
-    {
-        if ($response->isValidateable()) {
-            $this->cacheable = false;
-        } else {
-            $this->ttls[] = $response->getTtl();
-            $this->maxAges[] = $response->getMaxAge();
-        }
-
-        $this->embeddedResponses++;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function update(Response $response)
-    {
-        // if we have no embedded Response, do nothing
-        if (0 === $this->embeddedResponses) {
-            return;
-        }
-
-        // Remove validation related headers in order to avoid browsers using
-        // their own cache, because some of the response content comes from
-        // at least one embedded response (which likely has a different caching strategy).
-        if ($response->isValidateable()) {
-            $response->setEtag(null);
-            $response->setLastModified(null);
-            $this->cacheable = false;
-        }
-
-        if (!$this->cacheable) {
-            $response->headers->set('Cache-Control', 'no-cache, must-revalidate');
-
-            return;
-        }
-
-        $this->ttls[] = $response->getTtl();
-        $this->maxAges[] = $response->getMaxAge();
-
-        if (null !== $maxAge = min($this->maxAges)) {
-            $response->setSharedMaxAge($maxAge);
-            $response->headers->set('Age', $maxAge - min($this->ttls));
-        }
-        $response->setMaxAge(0);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategyInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategyInterface.php
deleted file mode 100644
index d70c2e0..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategyInterface.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * This code is partially based on the Rack-Cache library by Ryan Tomayko,
- * which is released under the MIT license.
- * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801)
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * ResponseCacheStrategyInterface implementations know how to compute the
- * Response cache HTTP header based on the different response cache headers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface ResponseCacheStrategyInterface
-{
-    /**
-     * Adds a Response.
-     *
-     * @param Response $response
-     */
-    public function add(Response $response);
-
-    /**
-     * Updates the Response HTTP headers based on the embedded Responses.
-     *
-     * @param Response $response
-     */
-    public function update(Response $response);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Ssi.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Ssi.php
deleted file mode 100644
index 7bb54cf..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Ssi.php
+++ /dev/null
@@ -1,195 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-
-/**
- * Ssi implements the SSI capabilities to Request and Response instances.
- *
- * @author Sebastian Krebs <krebs.seb@gmail.com>
- */
-class Ssi implements SurrogateInterface
-{
-    private $contentTypes;
-    private $phpEscapeMap = array(
-        array('<?', '<%', '<s', '<S'),
-        array('<?php echo "<?"; ?>', '<?php echo "<%"; ?>', '<?php echo "<s"; ?>', '<?php echo "<S"; ?>'),
-    );
-
-    /**
-     * Constructor.
-     *
-     * @param array $contentTypes An array of content-type that should be parsed for SSI information.
-     *                            (default: text/html, text/xml, application/xhtml+xml, and application/xml)
-     */
-    public function __construct(array $contentTypes = array('text/html', 'text/xml', 'application/xhtml+xml', 'application/xml'))
-    {
-        $this->contentTypes = $contentTypes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'ssi';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function createCacheStrategy()
-    {
-        return new ResponseCacheStrategy();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasSurrogateCapability(Request $request)
-    {
-        if (null === $value = $request->headers->get('Surrogate-Capability')) {
-            return false;
-        }
-
-        return false !== strpos($value, 'SSI/1.0');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addSurrogateCapability(Request $request)
-    {
-        $current = $request->headers->get('Surrogate-Capability');
-        $new = 'symfony2="SSI/1.0"';
-
-        $request->headers->set('Surrogate-Capability', $current ? $current.', '.$new : $new);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addSurrogateControl(Response $response)
-    {
-        if (false !== strpos($response->getContent(), '<!--#include')) {
-            $response->headers->set('Surrogate-Control', 'content="SSI/1.0"');
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function needsParsing(Response $response)
-    {
-        if (!$control = $response->headers->get('Surrogate-Control')) {
-            return false;
-        }
-
-        return (bool) preg_match('#content="[^"]*SSI/1.0[^"]*"#', $control);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function renderIncludeTag($uri, $alt = null, $ignoreErrors = true, $comment = '')
-    {
-        return sprintf('<!--#include virtual="%s" -->', $uri);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function process(Request $request, Response $response)
-    {
-        $this->request = $request;
-        $type = $response->headers->get('Content-Type');
-        if (empty($type)) {
-            $type = 'text/html';
-        }
-
-        $parts = explode(';', $type);
-        if (!in_array($parts[0], $this->contentTypes)) {
-            return $response;
-        }
-
-        // we don't use a proper XML parser here as we can have SSI tags in a plain text response
-        $content = $response->getContent();
-
-        $chunks = preg_split('#<!--\#include\s+(.*?)\s*-->#', $content, -1, PREG_SPLIT_DELIM_CAPTURE);
-        $chunks[0] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[0]);
-
-        $i = 1;
-        while (isset($chunks[$i])) {
-            $options = array();
-            preg_match_all('/(virtual)="([^"]*?)"/', $chunks[$i], $matches, PREG_SET_ORDER);
-            foreach ($matches as $set) {
-                $options[$set[1]] = $set[2];
-            }
-
-            if (!isset($options['virtual'])) {
-                throw new \RuntimeException('Unable to process an SSI tag without a "virtual" attribute.');
-            }
-
-            $chunks[$i] = sprintf('<?php echo $this->surrogate->handle($this, %s, \'\', false) ?>'."\n",
-                var_export($options['virtual'], true)
-            );
-            ++$i;
-            $chunks[$i] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[$i]);
-            ++$i;
-        }
-        $content = implode('', $chunks);
-
-        $response->setContent($content);
-        $response->headers->set('X-Body-Eval', 'SSI');
-
-        // remove SSI/1.0 from the Surrogate-Control header
-        if ($response->headers->has('Surrogate-Control')) {
-            $value = $response->headers->get('Surrogate-Control');
-            if ('content="SSI/1.0"' == $value) {
-                $response->headers->remove('Surrogate-Control');
-            } elseif (preg_match('#,\s*content="SSI/1.0"#', $value)) {
-                $response->headers->set('Surrogate-Control', preg_replace('#,\s*content="SSI/1.0"#', '', $value));
-            } elseif (preg_match('#content="SSI/1.0",\s*#', $value)) {
-                $response->headers->set('Surrogate-Control', preg_replace('#content="SSI/1.0",\s*#', '', $value));
-            }
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function handle(HttpCache $cache, $uri, $alt, $ignoreErrors)
-    {
-        $subRequest = Request::create($uri, 'get', array(), $cache->getRequest()->cookies->all(), array(), $cache->getRequest()->server->all());
-
-        try {
-            $response = $cache->handle($subRequest, HttpKernelInterface::SUB_REQUEST, true);
-
-            if (!$response->isSuccessful()) {
-                throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).', $subRequest->getUri(), $response->getStatusCode()));
-            }
-
-            return $response->getContent();
-        } catch (\Exception $e) {
-            if ($alt) {
-                return $this->handle($cache, $alt, '', $ignoreErrors);
-            }
-
-            if (!$ignoreErrors) {
-                throw $e;
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Store.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Store.php
deleted file mode 100644
index 75ba3cf..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Store.php
+++ /dev/null
@@ -1,449 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * This code is partially based on the Rack-Cache library by Ryan Tomayko,
- * which is released under the MIT license.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Store implements all the logic for storing cache metadata (Request and Response headers).
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Store implements StoreInterface
-{
-    protected $root;
-    private $keyCache;
-    private $locks;
-
-    /**
-     * Constructor.
-     *
-     * @param string $root The path to the cache directory
-     */
-    public function __construct($root)
-    {
-        $this->root = $root;
-        if (!is_dir($this->root)) {
-            mkdir($this->root, 0777, true);
-        }
-        $this->keyCache = new \SplObjectStorage();
-        $this->locks = array();
-    }
-
-    /**
-     * Cleanups storage.
-     */
-    public function cleanup()
-    {
-        // unlock everything
-        foreach ($this->locks as $lock) {
-            if (file_exists($lock)) {
-                @unlink($lock);
-            }
-        }
-
-        $error = error_get_last();
-        if (1 === $error['type'] && false === headers_sent()) {
-            // send a 503
-            header('HTTP/1.0 503 Service Unavailable');
-            header('Retry-After: 10');
-            echo '503 Service Unavailable';
-        }
-    }
-
-    /**
-     * Locks the cache for a given Request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool|string true if the lock is acquired, the path to the current lock otherwise
-     */
-    public function lock(Request $request)
-    {
-        $path = $this->getPath($this->getCacheKey($request).'.lck');
-        if (!is_dir(dirname($path)) && false === @mkdir(dirname($path), 0777, true)) {
-            return false;
-        }
-
-        $lock = @fopen($path, 'x');
-        if (false !== $lock) {
-            fclose($lock);
-
-            $this->locks[] = $path;
-
-            return true;
-        }
-
-        return !file_exists($path) ?: $path;
-    }
-
-    /**
-     * Releases the lock for the given Request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool False if the lock file does not exist or cannot be unlocked, true otherwise
-     */
-    public function unlock(Request $request)
-    {
-        $file = $this->getPath($this->getCacheKey($request).'.lck');
-
-        return is_file($file) ? @unlink($file) : false;
-    }
-
-    public function isLocked(Request $request)
-    {
-        return is_file($this->getPath($this->getCacheKey($request).'.lck'));
-    }
-
-    /**
-     * Locates a cached Response for the Request provided.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return Response|null A Response instance, or null if no cache entry was found
-     */
-    public function lookup(Request $request)
-    {
-        $key = $this->getCacheKey($request);
-
-        if (!$entries = $this->getMetadata($key)) {
-            return;
-        }
-
-        // find a cached entry that matches the request.
-        $match = null;
-        foreach ($entries as $entry) {
-            if ($this->requestsMatch(isset($entry[1]['vary'][0]) ? $entry[1]['vary'][0] : '', $request->headers->all(), $entry[0])) {
-                $match = $entry;
-
-                break;
-            }
-        }
-
-        if (null === $match) {
-            return;
-        }
-
-        list($req, $headers) = $match;
-        if (is_file($body = $this->getPath($headers['x-content-digest'][0]))) {
-            return $this->restoreResponse($headers, $body);
-        }
-
-        // TODO the metaStore referenced an entity that doesn't exist in
-        // the entityStore. We definitely want to return nil but we should
-        // also purge the entry from the meta-store when this is detected.
-    }
-
-    /**
-     * Writes a cache entry to the store for the given Request and Response.
-     *
-     * Existing entries are read and any that match the response are removed. This
-     * method calls write with the new list of cache entries.
-     *
-     * @param Request  $request  A Request instance
-     * @param Response $response A Response instance
-     *
-     * @return string The key under which the response is stored
-     *
-     * @throws \RuntimeException
-     */
-    public function write(Request $request, Response $response)
-    {
-        $key = $this->getCacheKey($request);
-        $storedEnv = $this->persistRequest($request);
-
-        // write the response body to the entity store if this is the original response
-        if (!$response->headers->has('X-Content-Digest')) {
-            $digest = $this->generateContentDigest($response);
-
-            if (false === $this->save($digest, $response->getContent())) {
-                throw new \RuntimeException('Unable to store the entity.');
-            }
-
-            $response->headers->set('X-Content-Digest', $digest);
-
-            if (!$response->headers->has('Transfer-Encoding')) {
-                $response->headers->set('Content-Length', strlen($response->getContent()));
-            }
-        }
-
-        // read existing cache entries, remove non-varying, and add this one to the list
-        $entries = array();
-        $vary = $response->headers->get('vary');
-        foreach ($this->getMetadata($key) as $entry) {
-            if (!isset($entry[1]['vary'][0])) {
-                $entry[1]['vary'] = array('');
-            }
-
-            if ($vary != $entry[1]['vary'][0] || !$this->requestsMatch($vary, $entry[0], $storedEnv)) {
-                $entries[] = $entry;
-            }
-        }
-
-        $headers = $this->persistResponse($response);
-        unset($headers['age']);
-
-        array_unshift($entries, array($storedEnv, $headers));
-
-        if (false === $this->save($key, serialize($entries))) {
-            throw new \RuntimeException('Unable to store the metadata.');
-        }
-
-        return $key;
-    }
-
-    /**
-     * Returns content digest for $response.
-     *
-     * @param Response $response
-     *
-     * @return string
-     */
-    protected function generateContentDigest(Response $response)
-    {
-        return 'en'.hash('sha256', $response->getContent());
-    }
-
-    /**
-     * Invalidates all cache entries that match the request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @throws \RuntimeException
-     */
-    public function invalidate(Request $request)
-    {
-        $modified = false;
-        $key = $this->getCacheKey($request);
-
-        $entries = array();
-        foreach ($this->getMetadata($key) as $entry) {
-            $response = $this->restoreResponse($entry[1]);
-            if ($response->isFresh()) {
-                $response->expire();
-                $modified = true;
-                $entries[] = array($entry[0], $this->persistResponse($response));
-            } else {
-                $entries[] = $entry;
-            }
-        }
-
-        if ($modified) {
-            if (false === $this->save($key, serialize($entries))) {
-                throw new \RuntimeException('Unable to store the metadata.');
-            }
-        }
-    }
-
-    /**
-     * Determines whether two Request HTTP header sets are non-varying based on
-     * the vary response header value provided.
-     *
-     * @param string $vary A Response vary header
-     * @param array  $env1 A Request HTTP header array
-     * @param array  $env2 A Request HTTP header array
-     *
-     * @return bool true if the two environments match, false otherwise
-     */
-    private function requestsMatch($vary, $env1, $env2)
-    {
-        if (empty($vary)) {
-            return true;
-        }
-
-        foreach (preg_split('/[\s,]+/', $vary) as $header) {
-            $key = strtr(strtolower($header), '_', '-');
-            $v1 = isset($env1[$key]) ? $env1[$key] : null;
-            $v2 = isset($env2[$key]) ? $env2[$key] : null;
-            if ($v1 !== $v2) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Gets all data associated with the given key.
-     *
-     * Use this method only if you know what you are doing.
-     *
-     * @param string $key The store key
-     *
-     * @return array An array of data associated with the key
-     */
-    private function getMetadata($key)
-    {
-        if (false === $entries = $this->load($key)) {
-            return array();
-        }
-
-        return unserialize($entries);
-    }
-
-    /**
-     * Purges data for the given URL.
-     *
-     * @param string $url A URL
-     *
-     * @return bool true if the URL exists and has been purged, false otherwise
-     */
-    public function purge($url)
-    {
-        if (is_file($path = $this->getPath($this->getCacheKey(Request::create($url))))) {
-            unlink($path);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Loads data for the given key.
-     *
-     * @param string $key The store key
-     *
-     * @return string The data associated with the key
-     */
-    private function load($key)
-    {
-        $path = $this->getPath($key);
-
-        return is_file($path) ? file_get_contents($path) : false;
-    }
-
-    /**
-     * Save data for the given key.
-     *
-     * @param string $key  The store key
-     * @param string $data The data to store
-     *
-     * @return bool
-     */
-    private function save($key, $data)
-    {
-        $path = $this->getPath($key);
-        if (!is_dir(dirname($path)) && false === @mkdir(dirname($path), 0777, true)) {
-            return false;
-        }
-
-        $tmpFile = tempnam(dirname($path), basename($path));
-        if (false === $fp = @fopen($tmpFile, 'wb')) {
-            return false;
-        }
-        @fwrite($fp, $data);
-        @fclose($fp);
-
-        if ($data != file_get_contents($tmpFile)) {
-            return false;
-        }
-
-        if (false === @rename($tmpFile, $path)) {
-            return false;
-        }
-
-        @chmod($path, 0666 & ~umask());
-    }
-
-    public function getPath($key)
-    {
-        return $this->root.DIRECTORY_SEPARATOR.substr($key, 0, 2).DIRECTORY_SEPARATOR.substr($key, 2, 2).DIRECTORY_SEPARATOR.substr($key, 4, 2).DIRECTORY_SEPARATOR.substr($key, 6);
-    }
-
-    /**
-     * Generates a cache key for the given Request.
-     *
-     * This method should return a key that must only depend on a
-     * normalized version of the request URI.
-     *
-     * If the same URI can have more than one representation, based on some
-     * headers, use a Vary header to indicate them, and each representation will
-     * be stored independently under the same cache key.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return string A key for the given Request
-     */
-    protected function generateCacheKey(Request $request)
-    {
-        return 'md'.hash('sha256', $request->getUri());
-    }
-
-    /**
-     * Returns a cache key for the given Request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return string A key for the given Request
-     */
-    private function getCacheKey(Request $request)
-    {
-        if (isset($this->keyCache[$request])) {
-            return $this->keyCache[$request];
-        }
-
-        return $this->keyCache[$request] = $this->generateCacheKey($request);
-    }
-
-    /**
-     * Persists the Request HTTP headers.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return array An array of HTTP headers
-     */
-    private function persistRequest(Request $request)
-    {
-        return $request->headers->all();
-    }
-
-    /**
-     * Persists the Response HTTP headers.
-     *
-     * @param Response $response A Response instance
-     *
-     * @return array An array of HTTP headers
-     */
-    private function persistResponse(Response $response)
-    {
-        $headers = $response->headers->all();
-        $headers['X-Status'] = array($response->getStatusCode());
-
-        return $headers;
-    }
-
-    /**
-     * Restores a Response from the HTTP headers and body.
-     *
-     * @param array  $headers An array of HTTP headers for the Response
-     * @param string $body    The Response body
-     *
-     * @return Response
-     */
-    private function restoreResponse($headers, $body = null)
-    {
-        $status = $headers['X-Status'][0];
-        unset($headers['X-Status']);
-
-        if (null !== $body) {
-            $headers['X-Body-File'] = array($body);
-        }
-
-        return new Response($body, $status, $headers);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/StoreInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/StoreInterface.php
deleted file mode 100644
index ddc0c04..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/StoreInterface.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * This code is partially based on the Rack-Cache library by Ryan Tomayko,
- * which is released under the MIT license.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Interface implemented by HTTP cache stores.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface StoreInterface
-{
-    /**
-     * Locates a cached Response for the Request provided.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return Response|null A Response instance, or null if no cache entry was found
-     */
-    public function lookup(Request $request);
-
-    /**
-     * Writes a cache entry to the store for the given Request and Response.
-     *
-     * Existing entries are read and any that match the response are removed. This
-     * method calls write with the new list of cache entries.
-     *
-     * @param Request  $request  A Request instance
-     * @param Response $response A Response instance
-     *
-     * @return string The key under which the response is stored
-     */
-    public function write(Request $request, Response $response);
-
-    /**
-     * Invalidates all cache entries that match the request.
-     *
-     * @param Request $request A Request instance
-     */
-    public function invalidate(Request $request);
-
-    /**
-     * Locks the cache for a given Request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool|string true if the lock is acquired, the path to the current lock otherwise
-     */
-    public function lock(Request $request);
-
-    /**
-     * Releases the lock for the given Request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool False if the lock file does not exist or cannot be unlocked, true otherwise
-     */
-    public function unlock(Request $request);
-
-    /**
-     * Returns whether or not a lock exists.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool true if lock exists, false otherwise
-     */
-    public function isLocked(Request $request);
-
-    /**
-     * Purges data for the given URL.
-     *
-     * @param string $url A URL
-     *
-     * @return bool true if the URL exists and has been purged, false otherwise
-     */
-    public function purge($url);
-
-    /**
-     * Cleanups storage.
-     */
-    public function cleanup();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php
deleted file mode 100644
index 46b788d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-interface SurrogateInterface
-{
-    /**
-     * Returns surrogate name
-     *
-     * @return string
-     */
-    public function getName();
-
-    /**
-     * Returns a new cache strategy instance.
-     *
-     * @return ResponseCacheStrategyInterface A ResponseCacheStrategyInterface instance
-     */
-    public function createCacheStrategy();
-
-    /**
-     * Checks that at least one surrogate has Surrogate capability.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return bool true if one surrogate has Surrogate capability, false otherwise
-     */
-    public function hasSurrogateCapability(Request $request);
-
-    /**
-     * Adds Surrogate-capability to the given Request.
-     *
-     * @param Request $request A Request instance
-     */
-    public function addSurrogateCapability(Request $request);
-
-    /**
-     * Adds HTTP headers to specify that the Response needs to be parsed for Surrogate.
-     *
-     * This method only adds an Surrogate HTTP header if the Response has some Surrogate tags.
-     *
-     * @param Response $response A Response instance
-     */
-    public function addSurrogateControl(Response $response);
-
-    /**
-     * Checks that the Response needs to be parsed for Surrogate tags.
-     *
-     * @param Response $response A Response instance
-     *
-     * @return bool true if the Response needs to be parsed, false otherwise
-     */
-    public function needsParsing(Response $response);
-
-    /**
-     * Renders a Surrogate tag.
-     *
-     * @param string $uri          A URI
-     * @param string $alt          An alternate URI
-     * @param bool   $ignoreErrors Whether to ignore errors or not
-     * @param string $comment      A comment to add as an esi:include tag
-     *
-     * @return string
-     */
-    public function renderIncludeTag($uri, $alt = null, $ignoreErrors = true, $comment = '');
-
-    /**
-     * Replaces a Response Surrogate tags with the included resource content.
-     *
-     * @param Request  $request  A Request instance
-     * @param Response $response A Response instance
-     *
-     * @return Response
-     */
-    public function process(Request $request, Response $response);
-
-    /**
-     * Handles a Surrogate from the cache.
-     *
-     * @param HttpCache $cache        An HttpCache instance
-     * @param string    $uri          The main URI
-     * @param string    $alt          An alternative URI
-     * @param bool      $ignoreErrors Whether to ignore errors or not
-     *
-     * @return string
-     *
-     * @throws \RuntimeException
-     * @throws \Exception
-     */
-    public function handle(HttpCache $cache, $uri, $alt, $ignoreErrors);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php
deleted file mode 100644
index c69b75a..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php
+++ /dev/null
@@ -1,291 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
-use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
-use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
-use Symfony\Component\HttpKernel\Event\PostResponseEvent;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-
-/**
- * HttpKernel notifies events to convert a Request object to a Response one.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class HttpKernel implements HttpKernelInterface, TerminableInterface
-{
-    protected $dispatcher;
-    protected $resolver;
-    protected $requestStack;
-
-    /**
-     * Constructor.
-     *
-     * @param EventDispatcherInterface    $dispatcher   An EventDispatcherInterface instance
-     * @param ControllerResolverInterface $resolver     A ControllerResolverInterface instance
-     * @param RequestStack                $requestStack A stack for master/sub requests
-     *
-     * @api
-     */
-    public function __construct(EventDispatcherInterface $dispatcher, ControllerResolverInterface $resolver, RequestStack $requestStack = null)
-    {
-        $this->dispatcher = $dispatcher;
-        $this->resolver = $resolver;
-        $this->requestStack = $requestStack ?: new RequestStack();
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
-    {
-        try {
-            return $this->handleRaw($request, $type);
-        } catch (\Exception $e) {
-            if (false === $catch) {
-                $this->finishRequest($request, $type);
-
-                throw $e;
-            }
-
-            return $this->handleException($e, $request, $type);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function terminate(Request $request, Response $response)
-    {
-        $this->dispatcher->dispatch(KernelEvents::TERMINATE, new PostResponseEvent($this, $request, $response));
-    }
-
-    /**
-     * @throws \LogicException If the request stack is empty
-     *
-     * @internal
-     */
-    public function terminateWithException(\Exception $exception)
-    {
-        if (!$request = $this->requestStack->getMasterRequest()) {
-            throw new \LogicException('Request stack is empty', 0, $exception);
-        }
-
-        $response = $this->handleException($exception, $request, self::MASTER_REQUEST);
-
-        $response->sendHeaders();
-        $response->sendContent();
-
-        $this->terminate($request, $response);
-    }
-
-    /**
-     * Handles a request to convert it to a response.
-     *
-     * Exceptions are not caught.
-     *
-     * @param Request $request A Request instance
-     * @param int     $type    The type of the request (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST)
-     *
-     * @return Response A Response instance
-     *
-     * @throws \LogicException       If one of the listener does not behave as expected
-     * @throws NotFoundHttpException When controller cannot be found
-     */
-    private function handleRaw(Request $request, $type = self::MASTER_REQUEST)
-    {
-        $this->requestStack->push($request);
-
-        // request
-        $event = new GetResponseEvent($this, $request, $type);
-        $this->dispatcher->dispatch(KernelEvents::REQUEST, $event);
-
-        if ($event->hasResponse()) {
-            return $this->filterResponse($event->getResponse(), $request, $type);
-        }
-
-        // load controller
-        if (false === $controller = $this->resolver->getController($request)) {
-            throw new NotFoundHttpException(sprintf('Unable to find the controller for path "%s". The route is wrongly configured.', $request->getPathInfo()));
-        }
-
-        $event = new FilterControllerEvent($this, $controller, $request, $type);
-        $this->dispatcher->dispatch(KernelEvents::CONTROLLER, $event);
-        $controller = $event->getController();
-
-        // controller arguments
-        $arguments = $this->resolver->getArguments($request, $controller);
-
-        // call controller
-        $response = call_user_func_array($controller, $arguments);
-
-        // view
-        if (!$response instanceof Response) {
-            $event = new GetResponseForControllerResultEvent($this, $request, $type, $response);
-            $this->dispatcher->dispatch(KernelEvents::VIEW, $event);
-
-            if ($event->hasResponse()) {
-                $response = $event->getResponse();
-            }
-
-            if (!$response instanceof Response) {
-                $msg = sprintf('The controller must return a response (%s given).', $this->varToString($response));
-
-                // the user may have forgotten to return something
-                if (null === $response) {
-                    $msg .= ' Did you forget to add a return statement somewhere in your controller?';
-                }
-                throw new \LogicException($msg);
-            }
-        }
-
-        return $this->filterResponse($response, $request, $type);
-    }
-
-    /**
-     * Filters a response object.
-     *
-     * @param Response $response A Response instance
-     * @param Request  $request  An error message in case the response is not a Response object
-     * @param int      $type     The type of the request (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST)
-     *
-     * @return Response The filtered Response instance
-     *
-     * @throws \RuntimeException if the passed object is not a Response instance
-     */
-    private function filterResponse(Response $response, Request $request, $type)
-    {
-        $event = new FilterResponseEvent($this, $request, $type, $response);
-
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->finishRequest($request, $type);
-
-        return $event->getResponse();
-    }
-
-    /**
-     * Publishes the finish request event, then pop the request from the stack.
-     *
-     * Note that the order of the operations is important here, otherwise
-     * operations such as {@link RequestStack::getParentRequest()} can lead to
-     * weird results.
-     *
-     * @param Request $request
-     * @param int     $type
-     */
-    private function finishRequest(Request $request, $type)
-    {
-        $this->dispatcher->dispatch(KernelEvents::FINISH_REQUEST, new FinishRequestEvent($this, $request, $type));
-        $this->requestStack->pop();
-    }
-
-    /**
-     * Handles an exception by trying to convert it to a Response.
-     *
-     * @param \Exception $e       An \Exception instance
-     * @param Request    $request A Request instance
-     * @param int        $type    The type of the request
-     *
-     * @return Response A Response instance
-     *
-     * @throws \Exception
-     */
-    private function handleException(\Exception $e, $request, $type)
-    {
-        $event = new GetResponseForExceptionEvent($this, $request, $type, $e);
-        $this->dispatcher->dispatch(KernelEvents::EXCEPTION, $event);
-
-        // a listener might have replaced the exception
-        $e = $event->getException();
-
-        if (!$event->hasResponse()) {
-            $this->finishRequest($request, $type);
-
-            throw $e;
-        }
-
-        $response = $event->getResponse();
-
-        // the developer asked for a specific status code
-        if ($response->headers->has('X-Status-Code')) {
-            $response->setStatusCode($response->headers->get('X-Status-Code'));
-
-            $response->headers->remove('X-Status-Code');
-        } elseif (!$response->isClientError() && !$response->isServerError() && !$response->isRedirect()) {
-            // ensure that we actually have an error response
-            if ($e instanceof HttpExceptionInterface) {
-                // keep the HTTP status code and headers
-                $response->setStatusCode($e->getStatusCode());
-                $response->headers->add($e->getHeaders());
-            } else {
-                $response->setStatusCode(500);
-            }
-        }
-
-        try {
-            return $this->filterResponse($response, $request, $type);
-        } catch (\Exception $e) {
-            return $response;
-        }
-    }
-
-    private function varToString($var)
-    {
-        if (is_object($var)) {
-            return sprintf('Object(%s)', get_class($var));
-        }
-
-        if (is_array($var)) {
-            $a = array();
-            foreach ($var as $k => $v) {
-                $a[] = sprintf('%s => %s', $k, $this->varToString($v));
-            }
-
-            return sprintf('Array(%s)', implode(', ', $a));
-        }
-
-        if (is_resource($var)) {
-            return sprintf('Resource(%s)', get_resource_type($var));
-        }
-
-        if (null === $var) {
-            return 'null';
-        }
-
-        if (false === $var) {
-            return 'false';
-        }
-
-        if (true === $var) {
-            return 'true';
-        }
-
-        return (string) $var;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php
deleted file mode 100644
index d09da6b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * HttpKernelInterface handles a Request to convert it to a Response.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface HttpKernelInterface
-{
-    const MASTER_REQUEST = 1;
-    const SUB_REQUEST = 2;
-
-    /**
-     * Handles a Request to convert it to a Response.
-     *
-     * When $catch is true, the implementation must catch all exceptions
-     * and do its best to convert them to a Response instance.
-     *
-     * @param Request $request A Request instance
-     * @param int     $type    The type of the request
-     *                         (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST)
-     * @param bool    $catch   Whether to catch exceptions or not
-     *
-     * @return Response A Response instance
-     *
-     * @throws \Exception When an Exception occurs during processing
-     *
-     * @api
-     */
-    public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
deleted file mode 100644
index d144214..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
+++ /dev/null
@@ -1,785 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-use Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator;
-use Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
-use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
-use Symfony\Component\DependencyInjection\Loader\ClosureLoader;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Bundle\BundleInterface;
-use Symfony\Component\HttpKernel\Config\EnvParametersResource;
-use Symfony\Component\HttpKernel\Config\FileLocator;
-use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass;
-use Symfony\Component\HttpKernel\DependencyInjection\AddClassesToCachePass;
-use Symfony\Component\Config\Loader\LoaderResolver;
-use Symfony\Component\Config\Loader\DelegatingLoader;
-use Symfony\Component\Config\ConfigCache;
-use Symfony\Component\ClassLoader\ClassCollectionLoader;
-
-/**
- * The Kernel is the heart of the Symfony system.
- *
- * It manages an environment made of bundles.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-abstract class Kernel implements KernelInterface, TerminableInterface
-{
-    /**
-     * @var BundleInterface[]
-     */
-    protected $bundles = array();
-
-    protected $bundleMap;
-    protected $container;
-    protected $rootDir;
-    protected $environment;
-    protected $debug;
-    protected $booted = false;
-    protected $name;
-    protected $startTime;
-    protected $loadClassCache;
-
-    const VERSION = '2.6.6';
-    const VERSION_ID = '20606';
-    const MAJOR_VERSION = '2';
-    const MINOR_VERSION = '6';
-    const RELEASE_VERSION = '6';
-    const EXTRA_VERSION = '';
-
-    /**
-     * Constructor.
-     *
-     * @param string $environment The environment
-     * @param bool   $debug       Whether to enable debugging or not
-     *
-     * @api
-     */
-    public function __construct($environment, $debug)
-    {
-        $this->environment = $environment;
-        $this->debug = (bool) $debug;
-        $this->rootDir = $this->getRootDir();
-        $this->name = $this->getName();
-
-        if ($this->debug) {
-            $this->startTime = microtime(true);
-        }
-
-        $this->init();
-    }
-
-    /**
-     * @deprecated Deprecated since version 2.3, to be removed in 3.0. Move your logic in the constructor instead.
-     */
-    public function init()
-    {
-    }
-
-    public function __clone()
-    {
-        if ($this->debug) {
-            $this->startTime = microtime(true);
-        }
-
-        $this->booted = false;
-        $this->container = null;
-    }
-
-    /**
-     * Boots the current kernel.
-     *
-     * @api
-     */
-    public function boot()
-    {
-        if (true === $this->booted) {
-            return;
-        }
-
-        if ($this->loadClassCache) {
-            $this->doLoadClassCache($this->loadClassCache[0], $this->loadClassCache[1]);
-        }
-
-        // init bundles
-        $this->initializeBundles();
-
-        // init container
-        $this->initializeContainer();
-
-        foreach ($this->getBundles() as $bundle) {
-            $bundle->setContainer($this->container);
-            $bundle->boot();
-        }
-
-        $this->booted = true;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function terminate(Request $request, Response $response)
-    {
-        if (false === $this->booted) {
-            return;
-        }
-
-        if ($this->getHttpKernel() instanceof TerminableInterface) {
-            $this->getHttpKernel()->terminate($request, $response);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function shutdown()
-    {
-        if (false === $this->booted) {
-            return;
-        }
-
-        $this->booted = false;
-
-        foreach ($this->getBundles() as $bundle) {
-            $bundle->shutdown();
-            $bundle->setContainer(null);
-        }
-
-        $this->container = null;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
-    {
-        if (false === $this->booted) {
-            $this->boot();
-        }
-
-        return $this->getHttpKernel()->handle($request, $type, $catch);
-    }
-
-    /**
-     * Gets a HTTP kernel from the container.
-     *
-     * @return HttpKernel
-     */
-    protected function getHttpKernel()
-    {
-        return $this->container->get('http_kernel');
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getBundles()
-    {
-        return $this->bundles;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function isClassInActiveBundle($class)
-    {
-        foreach ($this->getBundles() as $bundle) {
-            if (0 === strpos($class, $bundle->getNamespace())) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getBundle($name, $first = true)
-    {
-        if (!isset($this->bundleMap[$name])) {
-            throw new \InvalidArgumentException(sprintf('Bundle "%s" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() method of your %s.php file?', $name, get_class($this)));
-        }
-
-        if (true === $first) {
-            return $this->bundleMap[$name][0];
-        }
-
-        return $this->bundleMap[$name];
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @throws \RuntimeException if a custom resource is hidden by a resource in a derived bundle
-     */
-    public function locateResource($name, $dir = null, $first = true)
-    {
-        if ('@' !== $name[0]) {
-            throw new \InvalidArgumentException(sprintf('A resource name must start with @ ("%s" given).', $name));
-        }
-
-        if (false !== strpos($name, '..')) {
-            throw new \RuntimeException(sprintf('File name "%s" contains invalid characters (..).', $name));
-        }
-
-        $bundleName = substr($name, 1);
-        $path = '';
-        if (false !== strpos($bundleName, '/')) {
-            list($bundleName, $path) = explode('/', $bundleName, 2);
-        }
-
-        $isResource = 0 === strpos($path, 'Resources') && null !== $dir;
-        $overridePath = substr($path, 9);
-        $resourceBundle = null;
-        $bundles = $this->getBundle($bundleName, false);
-        $files = array();
-
-        foreach ($bundles as $bundle) {
-            if ($isResource && file_exists($file = $dir.'/'.$bundle->getName().$overridePath)) {
-                if (null !== $resourceBundle) {
-                    throw new \RuntimeException(sprintf('"%s" resource is hidden by a resource from the "%s" derived bundle. Create a "%s" file to override the bundle resource.',
-                        $file,
-                        $resourceBundle,
-                        $dir.'/'.$bundles[0]->getName().$overridePath
-                    ));
-                }
-
-                if ($first) {
-                    return $file;
-                }
-                $files[] = $file;
-            }
-
-            if (file_exists($file = $bundle->getPath().'/'.$path)) {
-                if ($first && !$isResource) {
-                    return $file;
-                }
-                $files[] = $file;
-                $resourceBundle = $bundle->getName();
-            }
-        }
-
-        if (count($files) > 0) {
-            return $first && $isResource ? $files[0] : $files;
-        }
-
-        throw new \InvalidArgumentException(sprintf('Unable to find file "%s".', $name));
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getName()
-    {
-        if (null === $this->name) {
-            $this->name = preg_replace('/[^a-zA-Z0-9_]+/', '', basename($this->rootDir));
-        }
-
-        return $this->name;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getEnvironment()
-    {
-        return $this->environment;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function isDebug()
-    {
-        return $this->debug;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getRootDir()
-    {
-        if (null === $this->rootDir) {
-            $r = new \ReflectionObject($this);
-            $this->rootDir = str_replace('\\', '/', dirname($r->getFileName()));
-        }
-
-        return $this->rootDir;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getContainer()
-    {
-        return $this->container;
-    }
-
-    /**
-     * Loads the PHP class cache.
-     *
-     * This methods only registers the fact that you want to load the cache classes.
-     * The cache will actually only be loaded when the Kernel is booted.
-     *
-     * That optimization is mainly useful when using the HttpCache class in which
-     * case the class cache is not loaded if the Response is in the cache.
-     *
-     * @param string $name      The cache name prefix
-     * @param string $extension File extension of the resulting file
-     */
-    public function loadClassCache($name = 'classes', $extension = '.php')
-    {
-        $this->loadClassCache = array($name, $extension);
-    }
-
-    /**
-     * Used internally.
-     */
-    public function setClassCache(array $classes)
-    {
-        file_put_contents($this->getCacheDir().'/classes.map', sprintf('<?php return %s;', var_export($classes, true)));
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getStartTime()
-    {
-        return $this->debug ? $this->startTime : -INF;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getCacheDir()
-    {
-        return $this->rootDir.'/cache/'.$this->environment;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getLogDir()
-    {
-        return $this->rootDir.'/logs';
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function getCharset()
-    {
-        return 'UTF-8';
-    }
-
-    protected function doLoadClassCache($name, $extension)
-    {
-        if (!$this->booted && is_file($this->getCacheDir().'/classes.map')) {
-            ClassCollectionLoader::load(include($this->getCacheDir().'/classes.map'), $this->getCacheDir(), $name, $this->debug, false, $extension);
-        }
-    }
-
-    /**
-     * Initializes the data structures related to the bundle management.
-     *
-     *  - the bundles property maps a bundle name to the bundle instance,
-     *  - the bundleMap property maps a bundle name to the bundle inheritance hierarchy (most derived bundle first).
-     *
-     * @throws \LogicException if two bundles share a common name
-     * @throws \LogicException if a bundle tries to extend a non-registered bundle
-     * @throws \LogicException if a bundle tries to extend itself
-     * @throws \LogicException if two bundles extend the same ancestor
-     */
-    protected function initializeBundles()
-    {
-        // init bundles
-        $this->bundles = array();
-        $topMostBundles = array();
-        $directChildren = array();
-
-        foreach ($this->registerBundles() as $bundle) {
-            $name = $bundle->getName();
-            if (isset($this->bundles[$name])) {
-                throw new \LogicException(sprintf('Trying to register two bundles with the same name "%s"', $name));
-            }
-            $this->bundles[$name] = $bundle;
-
-            if ($parentName = $bundle->getParent()) {
-                if (isset($directChildren[$parentName])) {
-                    throw new \LogicException(sprintf('Bundle "%s" is directly extended by two bundles "%s" and "%s".', $parentName, $name, $directChildren[$parentName]));
-                }
-                if ($parentName == $name) {
-                    throw new \LogicException(sprintf('Bundle "%s" can not extend itself.', $name));
-                }
-                $directChildren[$parentName] = $name;
-            } else {
-                $topMostBundles[$name] = $bundle;
-            }
-        }
-
-        // look for orphans
-        if (!empty($directChildren) && count($diff = array_diff_key($directChildren, $this->bundles))) {
-            $diff = array_keys($diff);
-
-            throw new \LogicException(sprintf('Bundle "%s" extends bundle "%s", which is not registered.', $directChildren[$diff[0]], $diff[0]));
-        }
-
-        // inheritance
-        $this->bundleMap = array();
-        foreach ($topMostBundles as $name => $bundle) {
-            $bundleMap = array($bundle);
-            $hierarchy = array($name);
-
-            while (isset($directChildren[$name])) {
-                $name = $directChildren[$name];
-                array_unshift($bundleMap, $this->bundles[$name]);
-                $hierarchy[] = $name;
-            }
-
-            foreach ($hierarchy as $bundle) {
-                $this->bundleMap[$bundle] = $bundleMap;
-                array_pop($bundleMap);
-            }
-        }
-    }
-
-    /**
-     * Gets the container class.
-     *
-     * @return string The container class
-     */
-    protected function getContainerClass()
-    {
-        return $this->name.ucfirst($this->environment).($this->debug ? 'Debug' : '').'ProjectContainer';
-    }
-
-    /**
-     * Gets the container's base class.
-     *
-     * All names except Container must be fully qualified.
-     *
-     * @return string
-     */
-    protected function getContainerBaseClass()
-    {
-        return 'Container';
-    }
-
-    /**
-     * Initializes the service container.
-     *
-     * The cached version of the service container is used when fresh, otherwise the
-     * container is built.
-     */
-    protected function initializeContainer()
-    {
-        $class = $this->getContainerClass();
-        $cache = new ConfigCache($this->getCacheDir().'/'.$class.'.php', $this->debug);
-        $fresh = true;
-        if (!$cache->isFresh()) {
-            $container = $this->buildContainer();
-            $container->compile();
-            $this->dumpContainer($cache, $container, $class, $this->getContainerBaseClass());
-
-            $fresh = false;
-        }
-
-        require_once $cache;
-
-        $this->container = new $class();
-        $this->container->set('kernel', $this);
-
-        if (!$fresh && $this->container->has('cache_warmer')) {
-            $this->container->get('cache_warmer')->warmUp($this->container->getParameter('kernel.cache_dir'));
-        }
-    }
-
-    /**
-     * Returns the kernel parameters.
-     *
-     * @return array An array of kernel parameters
-     */
-    protected function getKernelParameters()
-    {
-        $bundles = array();
-        foreach ($this->bundles as $name => $bundle) {
-            $bundles[$name] = get_class($bundle);
-        }
-
-        return array_merge(
-            array(
-                'kernel.root_dir' => realpath($this->rootDir) ?: $this->rootDir,
-                'kernel.environment' => $this->environment,
-                'kernel.debug' => $this->debug,
-                'kernel.name' => $this->name,
-                'kernel.cache_dir' => realpath($this->getCacheDir()) ?: $this->getCacheDir(),
-                'kernel.logs_dir' => realpath($this->getLogDir()) ?: $this->getLogDir(),
-                'kernel.bundles' => $bundles,
-                'kernel.charset' => $this->getCharset(),
-                'kernel.container_class' => $this->getContainerClass(),
-            ),
-            $this->getEnvParameters()
-        );
-    }
-
-    /**
-     * Gets the environment parameters.
-     *
-     * Only the parameters starting with "SYMFONY__" are considered.
-     *
-     * @return array An array of parameters
-     */
-    protected function getEnvParameters()
-    {
-        $parameters = array();
-        foreach ($_SERVER as $key => $value) {
-            if (0 === strpos($key, 'SYMFONY__')) {
-                $parameters[strtolower(str_replace('__', '.', substr($key, 9)))] = $value;
-            }
-        }
-
-        return $parameters;
-    }
-
-    /**
-     * Builds the service container.
-     *
-     * @return ContainerBuilder The compiled service container
-     *
-     * @throws \RuntimeException
-     */
-    protected function buildContainer()
-    {
-        foreach (array('cache' => $this->getCacheDir(), 'logs' => $this->getLogDir()) as $name => $dir) {
-            if (!is_dir($dir)) {
-                if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) {
-                    throw new \RuntimeException(sprintf("Unable to create the %s directory (%s)\n", $name, $dir));
-                }
-            } elseif (!is_writable($dir)) {
-                throw new \RuntimeException(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir));
-            }
-        }
-
-        $container = $this->getContainerBuilder();
-        $container->addObjectResource($this);
-        $this->prepareContainer($container);
-
-        if (null !== $cont = $this->registerContainerConfiguration($this->getContainerLoader($container))) {
-            $container->merge($cont);
-        }
-
-        $container->addCompilerPass(new AddClassesToCachePass($this));
-        $container->addResource(new EnvParametersResource('SYMFONY__'));
-
-        return $container;
-    }
-
-    /**
-     * Prepares the ContainerBuilder before it is compiled.
-     *
-     * @param ContainerBuilder $container A ContainerBuilder instance
-     */
-    protected function prepareContainer(ContainerBuilder $container)
-    {
-        $extensions = array();
-        foreach ($this->bundles as $bundle) {
-            if ($extension = $bundle->getContainerExtension()) {
-                $container->registerExtension($extension);
-                $extensions[] = $extension->getAlias();
-            }
-
-            if ($this->debug) {
-                $container->addObjectResource($bundle);
-            }
-        }
-        foreach ($this->bundles as $bundle) {
-            $bundle->build($container);
-        }
-
-        // ensure these extensions are implicitly loaded
-        $container->getCompilerPassConfig()->setMergePass(new MergeExtensionConfigurationPass($extensions));
-    }
-
-    /**
-     * Gets a new ContainerBuilder instance used to build the service container.
-     *
-     * @return ContainerBuilder
-     */
-    protected function getContainerBuilder()
-    {
-        $container = new ContainerBuilder(new ParameterBag($this->getKernelParameters()));
-
-        if (class_exists('ProxyManager\Configuration')) {
-            $container->setProxyInstantiator(new RuntimeInstantiator());
-        }
-
-        return $container;
-    }
-
-    /**
-     * Dumps the service container to PHP code in the cache.
-     *
-     * @param ConfigCache      $cache     The config cache
-     * @param ContainerBuilder $container The service container
-     * @param string           $class     The name of the class to generate
-     * @param string           $baseClass The name of the container's base class
-     */
-    protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container, $class, $baseClass)
-    {
-        // cache the container
-        $dumper = new PhpDumper($container);
-
-        if (class_exists('ProxyManager\Configuration')) {
-            $dumper->setProxyDumper(new ProxyDumper());
-        }
-
-        $content = $dumper->dump(array('class' => $class, 'base_class' => $baseClass, 'file' => (string) $cache));
-        if (!$this->debug) {
-            $content = static::stripComments($content);
-        }
-
-        $cache->write($content, $container->getResources());
-    }
-
-    /**
-     * Returns a loader for the container.
-     *
-     * @param ContainerInterface $container The service container
-     *
-     * @return DelegatingLoader The loader
-     */
-    protected function getContainerLoader(ContainerInterface $container)
-    {
-        $locator = new FileLocator($this);
-        $resolver = new LoaderResolver(array(
-            new XmlFileLoader($container, $locator),
-            new YamlFileLoader($container, $locator),
-            new IniFileLoader($container, $locator),
-            new PhpFileLoader($container, $locator),
-            new ClosureLoader($container),
-        ));
-
-        return new DelegatingLoader($resolver);
-    }
-
-    /**
-     * Removes comments from a PHP source string.
-     *
-     * We don't use the PHP php_strip_whitespace() function
-     * as we want the content to be readable and well-formatted.
-     *
-     * @param string $source A PHP string
-     *
-     * @return string The PHP string with the comments removed
-     */
-    public static function stripComments($source)
-    {
-        if (!function_exists('token_get_all')) {
-            return $source;
-        }
-
-        $rawChunk = '';
-        $output = '';
-        $tokens = token_get_all($source);
-        $ignoreSpace = false;
-        for (reset($tokens); false !== $token = current($tokens); next($tokens)) {
-            if (is_string($token)) {
-                $rawChunk .= $token;
-            } elseif (T_START_HEREDOC === $token[0]) {
-                $output .= $rawChunk.$token[1];
-                do {
-                    $token = next($tokens);
-                    $output .= $token[1];
-                } while ($token[0] !== T_END_HEREDOC);
-                $rawChunk = '';
-            } elseif (T_WHITESPACE === $token[0]) {
-                if ($ignoreSpace) {
-                    $ignoreSpace = false;
-
-                    continue;
-                }
-
-                // replace multiple new lines with a single newline
-                $rawChunk .= preg_replace(array('/\n{2,}/S'), "\n", $token[1]);
-            } elseif (in_array($token[0], array(T_COMMENT, T_DOC_COMMENT))) {
-                $ignoreSpace = true;
-            } else {
-                $rawChunk .= $token[1];
-
-                // The PHP-open tag already has a new-line
-                if (T_OPEN_TAG === $token[0]) {
-                    $ignoreSpace = true;
-                }
-            }
-        }
-
-        $output .= $rawChunk;
-
-        return $output;
-    }
-
-    public function serialize()
-    {
-        return serialize(array($this->environment, $this->debug));
-    }
-
-    public function unserialize($data)
-    {
-        list($environment, $debug) = unserialize($data);
-
-        $this->__construct($environment, $debug);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelEvents.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelEvents.php
deleted file mode 100644
index e259af5..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelEvents.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-/**
- * Contains all events thrown in the HttpKernel component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-final class KernelEvents
-{
-    /**
-     * The REQUEST event occurs at the very beginning of request
-     * dispatching.
-     *
-     * This event allows you to create a response for a request before any
-     * other code in the framework is executed. The event listener method
-     * receives a Symfony\Component\HttpKernel\Event\GetResponseEvent
-     * instance.
-     *
-     * @Event
-     *
-     * @var string
-     *
-     * @api
-     */
-    const REQUEST = 'kernel.request';
-
-    /**
-     * The EXCEPTION event occurs when an uncaught exception appears.
-     *
-     * This event allows you to create a response for a thrown exception or
-     * to modify the thrown exception. The event listener method receives
-     * a Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent
-     * instance.
-     *
-     * @Event
-     *
-     * @var string
-     *
-     * @api
-     */
-    const EXCEPTION = 'kernel.exception';
-
-    /**
-     * The VIEW event occurs when the return value of a controller
-     * is not a Response instance.
-     *
-     * This event allows you to create a response for the return value of the
-     * controller. The event listener method receives a
-     * Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent
-     * instance.
-     *
-     * @Event
-     *
-     * @var string
-     *
-     * @api
-     */
-    const VIEW = 'kernel.view';
-
-    /**
-     * The CONTROLLER event occurs once a controller was found for
-     * handling a request.
-     *
-     * This event allows you to change the controller that will handle the
-     * request. The event listener method receives a
-     * Symfony\Component\HttpKernel\Event\FilterControllerEvent instance.
-     *
-     * @Event
-     *
-     * @var string
-     *
-     * @api
-     */
-    const CONTROLLER = 'kernel.controller';
-
-    /**
-     * The RESPONSE event occurs once a response was created for
-     * replying to a request.
-     *
-     * This event allows you to modify or replace the response that will be
-     * replied. The event listener method receives a
-     * Symfony\Component\HttpKernel\Event\FilterResponseEvent instance.
-     *
-     * @Event
-     *
-     * @var string
-     *
-     * @api
-     */
-    const RESPONSE = 'kernel.response';
-
-    /**
-     * The TERMINATE event occurs once a response was sent.
-     *
-     * This event allows you to run expensive post-response jobs.
-     * The event listener method receives a
-     * Symfony\Component\HttpKernel\Event\PostResponseEvent instance.
-     *
-     * @Event
-     *
-     * @var string
-     */
-    const TERMINATE = 'kernel.terminate';
-
-    /**
-     * The FINISH_REQUEST event occurs when a response was generated for a request.
-     *
-     * This event allows you to reset the global and environmental state of
-     * the application, when it was changed during the request.
-     *
-     * @var string
-     */
-    const FINISH_REQUEST = 'kernel.finish_request';
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelInterface.php
deleted file mode 100644
index 1ab35a5..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelInterface.php
+++ /dev/null
@@ -1,211 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\HttpKernel\Bundle\BundleInterface;
-use Symfony\Component\Config\Loader\LoaderInterface;
-
-/**
- * The Kernel is the heart of the Symfony system.
- *
- * It manages an environment made of bundles.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface KernelInterface extends HttpKernelInterface, \Serializable
-{
-    /**
-     * Returns an array of bundles to register.
-     *
-     * @return BundleInterface[] An array of bundle instances.
-     *
-     * @api
-     */
-    public function registerBundles();
-
-    /**
-     * Loads the container configuration.
-     *
-     * @param LoaderInterface $loader A LoaderInterface instance
-     *
-     * @api
-     */
-    public function registerContainerConfiguration(LoaderInterface $loader);
-
-    /**
-     * Boots the current kernel.
-     *
-     * @api
-     */
-    public function boot();
-
-    /**
-     * Shutdowns the kernel.
-     *
-     * This method is mainly useful when doing functional testing.
-     *
-     * @api
-     */
-    public function shutdown();
-
-    /**
-     * Gets the registered bundle instances.
-     *
-     * @return BundleInterface[] An array of registered bundle instances
-     *
-     * @api
-     */
-    public function getBundles();
-
-    /**
-     * Checks if a given class name belongs to an active bundle.
-     *
-     * @param string $class A class name
-     *
-     * @return bool true if the class belongs to an active bundle, false otherwise
-     *
-     * @api
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    public function isClassInActiveBundle($class);
-
-    /**
-     * Returns a bundle and optionally its descendants by its name.
-     *
-     * @param string $name  Bundle name
-     * @param bool   $first Whether to return the first bundle only or together with its descendants
-     *
-     * @return BundleInterface|BundleInterface[] A BundleInterface instance or an array of BundleInterface instances if $first is false
-     *
-     * @throws \InvalidArgumentException when the bundle is not enabled
-     *
-     * @api
-     */
-    public function getBundle($name, $first = true);
-
-    /**
-     * Returns the file path for a given resource.
-     *
-     * A Resource can be a file or a directory.
-     *
-     * The resource name must follow the following pattern:
-     *
-     *     "@BundleName/path/to/a/file.something"
-     *
-     * where BundleName is the name of the bundle
-     * and the remaining part is the relative path in the bundle.
-     *
-     * If $dir is passed, and the first segment of the path is "Resources",
-     * this method will look for a file named:
-     *
-     *     $dir/<BundleName>/path/without/Resources
-     *
-     * before looking in the bundle resource folder.
-     *
-     * @param string $name  A resource name to locate
-     * @param string $dir   A directory where to look for the resource first
-     * @param bool   $first Whether to return the first path or paths for all matching bundles
-     *
-     * @return string|array The absolute path of the resource or an array if $first is false
-     *
-     * @throws \InvalidArgumentException if the file cannot be found or the name is not valid
-     * @throws \RuntimeException         if the name contains invalid/unsafe characters
-     *
-     * @api
-     */
-    public function locateResource($name, $dir = null, $first = true);
-
-    /**
-     * Gets the name of the kernel.
-     *
-     * @return string The kernel name
-     *
-     * @api
-     */
-    public function getName();
-
-    /**
-     * Gets the environment.
-     *
-     * @return string The current environment
-     *
-     * @api
-     */
-    public function getEnvironment();
-
-    /**
-     * Checks if debug mode is enabled.
-     *
-     * @return bool true if debug mode is enabled, false otherwise
-     *
-     * @api
-     */
-    public function isDebug();
-
-    /**
-     * Gets the application root dir.
-     *
-     * @return string The application root dir
-     *
-     * @api
-     */
-    public function getRootDir();
-
-    /**
-     * Gets the current container.
-     *
-     * @return ContainerInterface A ContainerInterface instance
-     *
-     * @api
-     */
-    public function getContainer();
-
-    /**
-     * Gets the request start time (not available if debug is disabled).
-     *
-     * @return int The request start timestamp
-     *
-     * @api
-     */
-    public function getStartTime();
-
-    /**
-     * Gets the cache directory.
-     *
-     * @return string The cache directory
-     *
-     * @api
-     */
-    public function getCacheDir();
-
-    /**
-     * Gets the log directory.
-     *
-     * @return string The log directory
-     *
-     * @api
-     */
-    public function getLogDir();
-
-    /**
-     * Gets the charset of the application.
-     *
-     * @return string The charset
-     *
-     * @api
-     */
-    public function getCharset();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/LICENSE b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/http-kernel/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php
deleted file mode 100644
index 5635a21..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Log;
-
-/**
- * DebugLoggerInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface DebugLoggerInterface
-{
-    /**
-     * Returns an array of logs.
-     *
-     * A log is an array with the following mandatory keys:
-     * timestamp, message, priority, and priorityName.
-     * It can also have an optional context key containing an array.
-     *
-     * @return array An array of logs
-     */
-    public function getLogs();
-
-    /**
-     * Returns the number of errors.
-     *
-     * @return int The number of errors
-     */
-    public function countErrors();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/LoggerInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/LoggerInterface.php
deleted file mode 100644
index 856c26a..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/LoggerInterface.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Log;
-
-use Psr\Log\LoggerInterface as PsrLogger;
-
-/**
- * LoggerInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated since 2.2, to be removed in 3.0. Type-hint \Psr\Log\LoggerInterface instead.
- *
- * @api
- */
-interface LoggerInterface extends PsrLogger
-{
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use emergency() which is PSR-3 compatible.
-     */
-    public function emerg($message, array $context = array());
-
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use critical() which is PSR-3 compatible.
-     */
-    public function crit($message, array $context = array());
-
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use error() which is PSR-3 compatible.
-     */
-    public function err($message, array $context = array());
-
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use warning() which is PSR-3 compatible.
-     */
-    public function warn($message, array $context = array());
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/NullLogger.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/NullLogger.php
deleted file mode 100644
index 0948e0d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/NullLogger.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Log;
-
-use Psr\Log\NullLogger as PsrNullLogger;
-
-/**
- * NullLogger.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class NullLogger extends PsrNullLogger implements LoggerInterface
-{
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use emergency() which is PSR-3 compatible.
-     */
-    public function emerg($message, array $context = array())
-    {
-    }
-
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use critical() which is PSR-3 compatible.
-     */
-    public function crit($message, array $context = array())
-    {
-    }
-
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use error() which is PSR-3 compatible.
-     */
-    public function err($message, array $context = array())
-    {
-    }
-
-    /**
-     * @api
-     *
-     * @deprecated since 2.2, to be removed in 3.0. Use warning() which is PSR-3 compatible.
-     */
-    public function warn($message, array $context = array())
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/BaseMemcacheProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/BaseMemcacheProfilerStorage.php
deleted file mode 100644
index f50b83e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/BaseMemcacheProfilerStorage.php
+++ /dev/null
@@ -1,306 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * Base Memcache storage for profiling information in a Memcache.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-abstract class BaseMemcacheProfilerStorage implements ProfilerStorageInterface
-{
-    const TOKEN_PREFIX = 'sf_profiler_';
-
-    protected $dsn;
-    protected $lifetime;
-
-    /**
-     * Constructor.
-     *
-     * @param string $dsn      A data source name
-     * @param string $username
-     * @param string $password
-     * @param int    $lifetime The lifetime to use for the purge
-     */
-    public function __construct($dsn, $username = '', $password = '', $lifetime = 86400)
-    {
-        $this->dsn = $dsn;
-        $this->lifetime = (int) $lifetime;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($ip, $url, $limit, $method, $start = null, $end = null)
-    {
-        $indexName = $this->getIndexName();
-
-        $indexContent = $this->getValue($indexName);
-        if (!$indexContent) {
-            return array();
-        }
-
-        $profileList = explode("\n", $indexContent);
-        $result = array();
-
-        foreach ($profileList as $item) {
-            if ($limit === 0) {
-                break;
-            }
-
-            if ($item == '') {
-                continue;
-            }
-
-            list($itemToken, $itemIp, $itemMethod, $itemUrl, $itemTime, $itemParent) = explode("\t", $item, 6);
-
-            $itemTime = (int) $itemTime;
-
-            if ($ip && false === strpos($itemIp, $ip) || $url && false === strpos($itemUrl, $url) || $method && false === strpos($itemMethod, $method)) {
-                continue;
-            }
-
-            if (!empty($start) && $itemTime < $start) {
-                continue;
-            }
-
-            if (!empty($end) && $itemTime > $end) {
-                continue;
-            }
-
-            $result[$itemToken] = array(
-                'token' => $itemToken,
-                'ip' => $itemIp,
-                'method' => $itemMethod,
-                'url' => $itemUrl,
-                'time' => $itemTime,
-                'parent' => $itemParent,
-            );
-            --$limit;
-        }
-
-        usort($result, function ($a, $b) {
-            if ($a['time'] === $b['time']) {
-                return 0;
-            }
-
-            return $a['time'] > $b['time'] ? -1 : 1;
-        });
-
-        return $result;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function purge()
-    {
-        // delete only items from index
-        $indexName = $this->getIndexName();
-
-        $indexContent = $this->getValue($indexName);
-
-        if (!$indexContent) {
-            return false;
-        }
-
-        $profileList = explode("\n", $indexContent);
-
-        foreach ($profileList as $item) {
-            if ($item == '') {
-                continue;
-            }
-
-            if (false !== $pos = strpos($item, "\t")) {
-                $this->delete($this->getItemName(substr($item, 0, $pos)));
-            }
-        }
-
-        return $this->delete($indexName);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($token)
-    {
-        if (empty($token)) {
-            return false;
-        }
-
-        $profile = $this->getValue($this->getItemName($token));
-
-        if (false !== $profile) {
-            $profile = $this->createProfileFromData($token, $profile);
-        }
-
-        return $profile;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write(Profile $profile)
-    {
-        $data = array(
-            'token' => $profile->getToken(),
-            'parent' => $profile->getParentToken(),
-            'children' => array_map(function ($p) { return $p->getToken(); }, $profile->getChildren()),
-            'data' => $profile->getCollectors(),
-            'ip' => $profile->getIp(),
-            'method' => $profile->getMethod(),
-            'url' => $profile->getUrl(),
-            'time' => $profile->getTime(),
-        );
-
-        $profileIndexed = false !== $this->getValue($this->getItemName($profile->getToken()));
-
-        if ($this->setValue($this->getItemName($profile->getToken()), $data, $this->lifetime)) {
-            if (!$profileIndexed) {
-                // Add to index
-                $indexName = $this->getIndexName();
-
-                $indexRow = implode("\t", array(
-                    $profile->getToken(),
-                    $profile->getIp(),
-                    $profile->getMethod(),
-                    $profile->getUrl(),
-                    $profile->getTime(),
-                    $profile->getParentToken(),
-                ))."\n";
-
-                return $this->appendValue($indexName, $indexRow, $this->lifetime);
-            }
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Retrieve item from the memcache server.
-     *
-     * @param string $key
-     *
-     * @return mixed
-     */
-    abstract protected function getValue($key);
-
-    /**
-     * Store an item on the memcache server under the specified key.
-     *
-     * @param string $key
-     * @param mixed  $value
-     * @param int    $expiration
-     *
-     * @return bool
-     */
-    abstract protected function setValue($key, $value, $expiration = 0);
-
-    /**
-     * Delete item from the memcache server.
-     *
-     * @param string $key
-     *
-     * @return bool
-     */
-    abstract protected function delete($key);
-
-    /**
-     * Append data to an existing item on the memcache server.
-     *
-     * @param string $key
-     * @param string $value
-     * @param int    $expiration
-     *
-     * @return bool
-     */
-    abstract protected function appendValue($key, $value, $expiration = 0);
-
-    private function createProfileFromData($token, $data, $parent = null)
-    {
-        $profile = new Profile($token);
-        $profile->setIp($data['ip']);
-        $profile->setMethod($data['method']);
-        $profile->setUrl($data['url']);
-        $profile->setTime($data['time']);
-        $profile->setCollectors($data['data']);
-
-        if (!$parent && $data['parent']) {
-            $parent = $this->read($data['parent']);
-        }
-
-        if ($parent) {
-            $profile->setParent($parent);
-        }
-
-        foreach ($data['children'] as $token) {
-            if (!$token) {
-                continue;
-            }
-
-            if (!$childProfileData = $this->getValue($this->getItemName($token))) {
-                continue;
-            }
-
-            $profile->addChild($this->createProfileFromData($token, $childProfileData, $profile));
-        }
-
-        return $profile;
-    }
-
-    /**
-     * Get item name.
-     *
-     * @param string $token
-     *
-     * @return string
-     */
-    private function getItemName($token)
-    {
-        $name = self::TOKEN_PREFIX.$token;
-
-        if ($this->isItemNameValid($name)) {
-            return $name;
-        }
-
-        return false;
-    }
-
-    /**
-     * Get name of index.
-     *
-     * @return string
-     */
-    private function getIndexName()
-    {
-        $name = self::TOKEN_PREFIX.'index';
-
-        if ($this->isItemNameValid($name)) {
-            return $name;
-        }
-
-        return false;
-    }
-
-    private function isItemNameValid($name)
-    {
-        $length = strlen($name);
-
-        if ($length > 250) {
-            throw new \RuntimeException(sprintf('The memcache item key "%s" is too long (%s bytes). Allowed maximum size is 250 bytes.', $name, $length));
-        }
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php
deleted file mode 100644
index bda87e8..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php
+++ /dev/null
@@ -1,278 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * Storage for profiler using files.
- *
- * @author Alexandre Salomé <alexandre.salome@gmail.com>
- */
-class FileProfilerStorage implements ProfilerStorageInterface
-{
-    /**
-     * Folder where profiler data are stored.
-     *
-     * @var string
-     */
-    private $folder;
-
-    /**
-     * Constructs the file storage using a "dsn-like" path.
-     *
-     * Example : "file:/path/to/the/storage/folder"
-     *
-     * @param string $dsn The DSN
-     *
-     * @throws \RuntimeException
-     */
-    public function __construct($dsn)
-    {
-        if (0 !== strpos($dsn, 'file:')) {
-            throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use FileStorage with an invalid dsn "%s". The expected format is "file:/path/to/the/storage/folder".', $dsn));
-        }
-        $this->folder = substr($dsn, 5);
-
-        if (!is_dir($this->folder)) {
-            mkdir($this->folder, 0777, true);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($ip, $url, $limit, $method, $start = null, $end = null)
-    {
-        $file = $this->getIndexFilename();
-
-        if (!file_exists($file)) {
-            return array();
-        }
-
-        $file = fopen($file, 'r');
-        fseek($file, 0, SEEK_END);
-
-        $result = array();
-        while (count($result) < $limit && $line = $this->readLineFromFile($file)) {
-            list($csvToken, $csvIp, $csvMethod, $csvUrl, $csvTime, $csvParent) = str_getcsv($line);
-
-            $csvTime = (int) $csvTime;
-
-            if ($ip && false === strpos($csvIp, $ip) || $url && false === strpos($csvUrl, $url) || $method && false === strpos($csvMethod, $method)) {
-                continue;
-            }
-
-            if (!empty($start) && $csvTime < $start) {
-                continue;
-            }
-
-            if (!empty($end) && $csvTime > $end) {
-                continue;
-            }
-
-            $result[$csvToken] = array(
-                'token' => $csvToken,
-                'ip' => $csvIp,
-                'method' => $csvMethod,
-                'url' => $csvUrl,
-                'time' => $csvTime,
-                'parent' => $csvParent,
-            );
-        }
-
-        fclose($file);
-
-        return array_values($result);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function purge()
-    {
-        $flags = \FilesystemIterator::SKIP_DOTS;
-        $iterator = new \RecursiveDirectoryIterator($this->folder, $flags);
-        $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::CHILD_FIRST);
-
-        foreach ($iterator as $file) {
-            if (is_file($file)) {
-                unlink($file);
-            } else {
-                rmdir($file);
-            }
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($token)
-    {
-        if (!$token || !file_exists($file = $this->getFilename($token))) {
-            return;
-        }
-
-        return $this->createProfileFromData($token, unserialize(file_get_contents($file)));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write(Profile $profile)
-    {
-        $file = $this->getFilename($profile->getToken());
-
-        $profileIndexed = is_file($file);
-        if (!$profileIndexed) {
-            // Create directory
-            $dir = dirname($file);
-            if (!is_dir($dir)) {
-                mkdir($dir, 0777, true);
-            }
-        }
-
-        // Store profile
-        $data = array(
-            'token' => $profile->getToken(),
-            'parent' => $profile->getParentToken(),
-            'children' => array_map(function ($p) { return $p->getToken(); }, $profile->getChildren()),
-            'data' => $profile->getCollectors(),
-            'ip' => $profile->getIp(),
-            'method' => $profile->getMethod(),
-            'url' => $profile->getUrl(),
-            'time' => $profile->getTime(),
-        );
-
-        if (false === file_put_contents($file, serialize($data))) {
-            return false;
-        }
-
-        if (!$profileIndexed) {
-            // Add to index
-            if (false === $file = fopen($this->getIndexFilename(), 'a')) {
-                return false;
-            }
-
-            fputcsv($file, array(
-                $profile->getToken(),
-                $profile->getIp(),
-                $profile->getMethod(),
-                $profile->getUrl(),
-                $profile->getTime(),
-                $profile->getParentToken(),
-            ));
-            fclose($file);
-        }
-
-        return true;
-    }
-
-    /**
-     * Gets filename to store data, associated to the token.
-     *
-     * @param string $token
-     *
-     * @return string The profile filename
-     */
-    protected function getFilename($token)
-    {
-        // Uses 4 last characters, because first are mostly the same.
-        $folderA = substr($token, -2, 2);
-        $folderB = substr($token, -4, 2);
-
-        return $this->folder.'/'.$folderA.'/'.$folderB.'/'.$token;
-    }
-
-    /**
-     * Gets the index filename.
-     *
-     * @return string The index filename
-     */
-    protected function getIndexFilename()
-    {
-        return $this->folder.'/index.csv';
-    }
-
-    /**
-     * Reads a line in the file, backward.
-     *
-     * This function automatically skips the empty lines and do not include the line return in result value.
-     *
-     * @param resource $file The file resource, with the pointer placed at the end of the line to read
-     *
-     * @return mixed A string representing the line or null if beginning of file is reached
-     */
-    protected function readLineFromFile($file)
-    {
-        $line = '';
-        $position = ftell($file);
-
-        if (0 === $position) {
-            return;
-        }
-
-        while (true) {
-            $chunkSize = min($position, 1024);
-            $position -= $chunkSize;
-            fseek($file, $position);
-
-            if (0 === $chunkSize) {
-                // bof reached
-                break;
-            }
-
-            $buffer = fread($file, $chunkSize);
-
-            if (false === ($upTo = strrpos($buffer, "\n"))) {
-                $line = $buffer.$line;
-                continue;
-            }
-
-            $position += $upTo;
-            $line = substr($buffer, $upTo + 1).$line;
-            fseek($file, max(0, $position), SEEK_SET);
-
-            if ('' !== $line) {
-                break;
-            }
-        }
-
-        return '' === $line ? null : $line;
-    }
-
-    protected function createProfileFromData($token, $data, $parent = null)
-    {
-        $profile = new Profile($token);
-        $profile->setIp($data['ip']);
-        $profile->setMethod($data['method']);
-        $profile->setUrl($data['url']);
-        $profile->setTime($data['time']);
-        $profile->setCollectors($data['data']);
-
-        if (!$parent && $data['parent']) {
-            $parent = $this->read($data['parent']);
-        }
-
-        if ($parent) {
-            $profile->setParent($parent);
-        }
-
-        foreach ($data['children'] as $token) {
-            if (!$token || !file_exists($file = $this->getFilename($token))) {
-                continue;
-            }
-
-            $profile->addChild($this->createProfileFromData($token, unserialize(file_get_contents($file)), $profile));
-        }
-
-        return $profile;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcacheProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcacheProfilerStorage.php
deleted file mode 100644
index e90083f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcacheProfilerStorage.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * Memcache Profiler Storage.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class MemcacheProfilerStorage extends BaseMemcacheProfilerStorage
-{
-    /**
-     * @var \Memcache
-     */
-    private $memcache;
-
-    /**
-     * Internal convenience method that returns the instance of the Memcache.
-     *
-     * @return \Memcache
-     *
-     * @throws \RuntimeException
-     */
-    protected function getMemcache()
-    {
-        if (null === $this->memcache) {
-            if (!preg_match('#^memcache://(?(?=\[.*\])\[(.*)\]|(.*)):(.*)$#', $this->dsn, $matches)) {
-                throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use Memcache with an invalid dsn "%s". The expected format is "memcache://[host]:port".', $this->dsn));
-            }
-
-            $host = $matches[1] ?: $matches[2];
-            $port = $matches[3];
-
-            $memcache = new \Memcache();
-            $memcache->addServer($host, $port);
-
-            $this->memcache = $memcache;
-        }
-
-        return $this->memcache;
-    }
-
-    /**
-     * Set instance of the Memcache.
-     *
-     * @param \Memcache $memcache
-     */
-    public function setMemcache($memcache)
-    {
-        $this->memcache = $memcache;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function getValue($key)
-    {
-        return $this->getMemcache()->get($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function setValue($key, $value, $expiration = 0)
-    {
-        return $this->getMemcache()->set($key, $value, false, time() + $expiration);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function delete($key)
-    {
-        return $this->getMemcache()->delete($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function appendValue($key, $value, $expiration = 0)
-    {
-        $memcache = $this->getMemcache();
-
-        if (method_exists($memcache, 'append')) {
-            // Memcache v3.0
-            if (!$result = $memcache->append($key, $value, false, $expiration)) {
-                return $memcache->set($key, $value, false, $expiration);
-            }
-
-            return $result;
-        }
-
-        // simulate append in Memcache <3.0
-        $content = $memcache->get($key);
-
-        return $memcache->set($key, $content.$value, false, $expiration);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcachedProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcachedProfilerStorage.php
deleted file mode 100644
index 0c57373..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcachedProfilerStorage.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * Memcached Profiler Storage.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class MemcachedProfilerStorage extends BaseMemcacheProfilerStorage
-{
-    /**
-     * @var \Memcached
-     */
-    private $memcached;
-
-    /**
-     * Internal convenience method that returns the instance of the Memcached.
-     *
-     * @return \Memcached
-     *
-     * @throws \RuntimeException
-     */
-    protected function getMemcached()
-    {
-        if (null === $this->memcached) {
-            if (!preg_match('#^memcached://(?(?=\[.*\])\[(.*)\]|(.*)):(.*)$#', $this->dsn, $matches)) {
-                throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use Memcached with an invalid dsn "%s". The expected format is "memcached://[host]:port".', $this->dsn));
-            }
-
-            $host = $matches[1] ?: $matches[2];
-            $port = $matches[3];
-
-            $memcached = new \Memcached();
-
-            // disable compression to allow appending
-            $memcached->setOption(\Memcached::OPT_COMPRESSION, false);
-
-            $memcached->addServer($host, $port);
-
-            $this->memcached = $memcached;
-        }
-
-        return $this->memcached;
-    }
-
-    /**
-     * Set instance of the Memcached.
-     *
-     * @param \Memcached $memcached
-     */
-    public function setMemcached($memcached)
-    {
-        $this->memcached = $memcached;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function getValue($key)
-    {
-        return $this->getMemcached()->get($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function setValue($key, $value, $expiration = 0)
-    {
-        return $this->getMemcached()->set($key, $value, time() + $expiration);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function delete($key)
-    {
-        return $this->getMemcached()->delete($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function appendValue($key, $value, $expiration = 0)
-    {
-        $memcached = $this->getMemcached();
-
-        if (!$result = $memcached->append($key, $value)) {
-            return $memcached->set($key, $value, $expiration);
-        }
-
-        return $result;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MongoDbProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MongoDbProfilerStorage.php
deleted file mode 100644
index 23224b4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MongoDbProfilerStorage.php
+++ /dev/null
@@ -1,257 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-class MongoDbProfilerStorage implements ProfilerStorageInterface
-{
-    protected $dsn;
-    protected $lifetime;
-    private $mongo;
-
-    /**
-     * Constructor.
-     *
-     * @param string $dsn      A data source name
-     * @param string $username Not used
-     * @param string $password Not used
-     * @param int    $lifetime The lifetime to use for the purge
-     */
-    public function __construct($dsn, $username = '', $password = '', $lifetime = 86400)
-    {
-        $this->dsn = $dsn;
-        $this->lifetime = (int) $lifetime;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($ip, $url, $limit, $method, $start = null, $end = null)
-    {
-        $cursor = $this->getMongo()->find($this->buildQuery($ip, $url, $method, $start, $end), array('_id', 'parent', 'ip', 'method', 'url', 'time'))->sort(array('time' => -1))->limit($limit);
-
-        $tokens = array();
-        foreach ($cursor as $profile) {
-            $tokens[] = $this->getData($profile);
-        }
-
-        return $tokens;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function purge()
-    {
-        $this->getMongo()->remove(array());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($token)
-    {
-        $profile = $this->getMongo()->findOne(array('_id' => $token, 'data' => array('$exists' => true)));
-
-        if (null !== $profile) {
-            $profile = $this->createProfileFromData($this->getData($profile));
-        }
-
-        return $profile;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write(Profile $profile)
-    {
-        $this->cleanup();
-
-        $record = array(
-            '_id' => $profile->getToken(),
-            'parent' => $profile->getParentToken(),
-            'data' => base64_encode(serialize($profile->getCollectors())),
-            'ip' => $profile->getIp(),
-            'method' => $profile->getMethod(),
-            'url' => $profile->getUrl(),
-            'time' => $profile->getTime(),
-        );
-
-        $result = $this->getMongo()->update(array('_id' => $profile->getToken()), array_filter($record, function ($v) { return !empty($v); }), array('upsert' => true));
-
-        return (bool) (isset($result['ok']) ? $result['ok'] : $result);
-    }
-
-    /**
-     * Internal convenience method that returns the instance of the MongoDB Collection.
-     *
-     * @return \MongoCollection
-     *
-     * @throws \RuntimeException
-     */
-    protected function getMongo()
-    {
-        if (null !== $this->mongo) {
-            return $this->mongo;
-        }
-
-        if (!$parsedDsn = $this->parseDsn($this->dsn)) {
-            throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use MongoDB with an invalid dsn "%s". The expected format is "mongodb://[user:pass@]host/database/collection"', $this->dsn));
-        }
-
-        list($server, $database, $collection) = $parsedDsn;
-        $mongoClass = version_compare(phpversion('mongo'), '1.3.0', '<') ? '\Mongo' : '\MongoClient';
-        $mongo = new $mongoClass($server);
-
-        return $this->mongo = $mongo->selectCollection($database, $collection);
-    }
-
-    /**
-     * @param array $data
-     *
-     * @return Profile
-     */
-    protected function createProfileFromData(array $data)
-    {
-        $profile = $this->getProfile($data);
-
-        if ($data['parent']) {
-            $parent = $this->getMongo()->findOne(array('_id' => $data['parent'], 'data' => array('$exists' => true)));
-            if ($parent) {
-                $profile->setParent($this->getProfile($this->getData($parent)));
-            }
-        }
-
-        $profile->setChildren($this->readChildren($data['token']));
-
-        return $profile;
-    }
-
-    /**
-     * @param string $token
-     *
-     * @return Profile[] An array of Profile instances
-     */
-    protected function readChildren($token)
-    {
-        $profiles = array();
-
-        $cursor = $this->getMongo()->find(array('parent' => $token, 'data' => array('$exists' => true)));
-        foreach ($cursor as $d) {
-            $profiles[] = $this->getProfile($this->getData($d));
-        }
-
-        return $profiles;
-    }
-
-    protected function cleanup()
-    {
-        $this->getMongo()->remove(array('time' => array('$lt' => time() - $this->lifetime)));
-    }
-
-    /**
-     * @param string $ip
-     * @param string $url
-     * @param string $method
-     * @param int    $start
-     * @param int    $end
-     *
-     * @return array
-     */
-    private function buildQuery($ip, $url, $method, $start, $end)
-    {
-        $query = array();
-
-        if (!empty($ip)) {
-            $query['ip'] = $ip;
-        }
-
-        if (!empty($url)) {
-            $query['url'] = $url;
-        }
-
-        if (!empty($method)) {
-            $query['method'] = $method;
-        }
-
-        if (!empty($start) || !empty($end)) {
-            $query['time'] = array();
-        }
-
-        if (!empty($start)) {
-            $query['time']['$gte'] = $start;
-        }
-
-        if (!empty($end)) {
-            $query['time']['$lte'] = $end;
-        }
-
-        return $query;
-    }
-
-    /**
-     * @param array $data
-     *
-     * @return array
-     */
-    private function getData(array $data)
-    {
-        return array(
-            'token' => $data['_id'],
-            'parent' => isset($data['parent']) ? $data['parent'] : null,
-            'ip' => isset($data['ip']) ? $data['ip'] : null,
-            'method' => isset($data['method']) ? $data['method'] : null,
-            'url' => isset($data['url']) ? $data['url'] : null,
-            'time' => isset($data['time']) ? $data['time'] : null,
-            'data' => isset($data['data']) ? $data['data'] : null,
-        );
-    }
-
-    /**
-     * @param array $data
-     *
-     * @return Profile
-     */
-    private function getProfile(array $data)
-    {
-        $profile = new Profile($data['token']);
-        $profile->setIp($data['ip']);
-        $profile->setMethod($data['method']);
-        $profile->setUrl($data['url']);
-        $profile->setTime($data['time']);
-        $profile->setCollectors(unserialize(base64_decode($data['data'])));
-
-        return $profile;
-    }
-
-    /**
-     * @param string $dsn
-     *
-     * @return null|array Array($server, $database, $collection)
-     */
-    private function parseDsn($dsn)
-    {
-        if (!preg_match('#^(mongodb://.*)/(.*)/(.*)$#', $dsn, $matches)) {
-            return;
-        }
-
-        $server = $matches[1];
-        $database = $matches[2];
-        $collection = $matches[3];
-        preg_match('#^mongodb://(([^:]+):?(.*)(?=@))?@?([^/]*)(.*)$#', $server, $matchesServer);
-
-        if ('' == $matchesServer[5] && '' != $matches[2]) {
-            $server .= '/'.$matches[2];
-        }
-
-        return array($server, $database, $collection);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MysqlProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MysqlProfilerStorage.php
deleted file mode 100644
index 69a865f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MysqlProfilerStorage.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * A ProfilerStorage for Mysql.
- *
- * @author Jan Schumann <js@schumann-it.com>
- */
-class MysqlProfilerStorage extends PdoProfilerStorage
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function initDb()
-    {
-        if (null === $this->db) {
-            if (0 !== strpos($this->dsn, 'mysql')) {
-                throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use Mysql with an invalid dsn "%s". The expected format is "mysql:dbname=database_name;host=host_name".', $this->dsn));
-            }
-
-            if (!class_exists('PDO') || !in_array('mysql', \PDO::getAvailableDrivers(), true)) {
-                throw new \RuntimeException('You need to enable PDO_Mysql extension for the profiler to run properly.');
-            }
-
-            $db = new \PDO($this->dsn, $this->username, $this->password);
-            $db->exec('CREATE TABLE IF NOT EXISTS sf_profiler_data (token VARCHAR(255) PRIMARY KEY, data LONGTEXT, ip VARCHAR(64), method VARCHAR(6), url VARCHAR(255), time INTEGER UNSIGNED, parent VARCHAR(255), created_at INTEGER UNSIGNED, KEY (created_at), KEY (ip), KEY (method), KEY (url), KEY (parent))');
-
-            $this->db = $db;
-        }
-
-        return $this->db;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function buildCriteria($ip, $url, $start, $end, $limit, $method)
-    {
-        $criteria = array();
-        $args = array();
-
-        if ($ip = preg_replace('/[^\d\.]/', '', $ip)) {
-            $criteria[] = 'ip LIKE :ip';
-            $args[':ip'] = '%'.$ip.'%';
-        }
-
-        if ($url) {
-            $criteria[] = 'url LIKE :url';
-            $args[':url'] = '%'.addcslashes($url, '%_\\').'%';
-        }
-
-        if ($method) {
-            $criteria[] = 'method = :method';
-            $args[':method'] = $method;
-        }
-
-        if (!empty($start)) {
-            $criteria[] = 'time >= :start';
-            $args[':start'] = $start;
-        }
-
-        if (!empty($end)) {
-            $criteria[] = 'time <= :end';
-            $args[':end'] = $end;
-        }
-
-        return array($criteria, $args);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/PdoProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/PdoProfilerStorage.php
deleted file mode 100644
index a545e6b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/PdoProfilerStorage.php
+++ /dev/null
@@ -1,262 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * Base PDO storage for profiling information in a PDO database.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Jan Schumann <js@schumann-it.com>
- */
-abstract class PdoProfilerStorage implements ProfilerStorageInterface
-{
-    protected $dsn;
-    protected $username;
-    protected $password;
-    protected $lifetime;
-    protected $db;
-
-    /**
-     * Constructor.
-     *
-     * @param string $dsn      A data source name
-     * @param string $username The username for the database
-     * @param string $password The password for the database
-     * @param int    $lifetime The lifetime to use for the purge
-     */
-    public function __construct($dsn, $username = '', $password = '', $lifetime = 86400)
-    {
-        $this->dsn = $dsn;
-        $this->username = $username;
-        $this->password = $password;
-        $this->lifetime = (int) $lifetime;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($ip, $url, $limit, $method, $start = null, $end = null)
-    {
-        if (null === $start) {
-            $start = 0;
-        }
-
-        if (null === $end) {
-            $end = time();
-        }
-
-        list($criteria, $args) = $this->buildCriteria($ip, $url, $start, $end, $limit, $method);
-
-        $criteria = $criteria ? 'WHERE '.implode(' AND ', $criteria) : '';
-
-        $db = $this->initDb();
-        $tokens = $this->fetch($db, 'SELECT token, ip, method, url, time, parent FROM sf_profiler_data '.$criteria.' ORDER BY time DESC LIMIT '.((int) $limit), $args);
-        $this->close($db);
-
-        return $tokens;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($token)
-    {
-        $db = $this->initDb();
-        $args = array(':token' => $token);
-        $data = $this->fetch($db, 'SELECT data, parent, ip, method, url, time FROM sf_profiler_data WHERE token = :token LIMIT 1', $args);
-        $this->close($db);
-        if (isset($data[0]['data'])) {
-            return $this->createProfileFromData($token, $data[0]);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write(Profile $profile)
-    {
-        $db = $this->initDb();
-        $args = array(
-            ':token' => $profile->getToken(),
-            ':parent' => $profile->getParentToken(),
-            ':data' => base64_encode(serialize($profile->getCollectors())),
-            ':ip' => $profile->getIp(),
-            ':method' => $profile->getMethod(),
-            ':url' => $profile->getUrl(),
-            ':time' => $profile->getTime(),
-            ':created_at' => time(),
-        );
-
-        try {
-            if ($this->has($profile->getToken())) {
-                $this->exec($db, 'UPDATE sf_profiler_data SET parent = :parent, data = :data, ip = :ip, method = :method, url = :url, time = :time, created_at = :created_at WHERE token = :token', $args);
-            } else {
-                $this->exec($db, 'INSERT INTO sf_profiler_data (token, parent, data, ip, method, url, time, created_at) VALUES (:token, :parent, :data, :ip, :method, :url, :time, :created_at)', $args);
-            }
-            $this->cleanup();
-            $status = true;
-        } catch (\Exception $e) {
-            $status = false;
-        }
-
-        $this->close($db);
-
-        return $status;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function purge()
-    {
-        $db = $this->initDb();
-        $this->exec($db, 'DELETE FROM sf_profiler_data');
-        $this->close($db);
-    }
-
-    /**
-     * Build SQL criteria to fetch records by ip and url.
-     *
-     * @param string $ip     The IP
-     * @param string $url    The URL
-     * @param string $start  The start period to search from
-     * @param string $end    The end period to search to
-     * @param string $limit  The maximum number of tokens to return
-     * @param string $method The request method
-     *
-     * @return array An array with (criteria, args)
-     */
-    abstract protected function buildCriteria($ip, $url, $start, $end, $limit, $method);
-
-    /**
-     * Initializes the database.
-     *
-     * @throws \RuntimeException When the requested database driver is not installed
-     */
-    abstract protected function initDb();
-
-    protected function cleanup()
-    {
-        $db = $this->initDb();
-        $this->exec($db, 'DELETE FROM sf_profiler_data WHERE created_at < :time', array(':time' => time() - $this->lifetime));
-        $this->close($db);
-    }
-
-    protected function exec($db, $query, array $args = array())
-    {
-        $stmt = $this->prepareStatement($db, $query);
-
-        foreach ($args as $arg => $val) {
-            $stmt->bindValue($arg, $val, is_int($val) ? \PDO::PARAM_INT : \PDO::PARAM_STR);
-        }
-        $success = $stmt->execute();
-        if (!$success) {
-            throw new \RuntimeException(sprintf('Error executing query "%s"', $query));
-        }
-    }
-
-    protected function prepareStatement($db, $query)
-    {
-        try {
-            $stmt = $db->prepare($query);
-        } catch (\Exception $e) {
-            $stmt = false;
-        }
-
-        if (false === $stmt) {
-            throw new \RuntimeException('The database cannot successfully prepare the statement');
-        }
-
-        return $stmt;
-    }
-
-    protected function fetch($db, $query, array $args = array())
-    {
-        $stmt = $this->prepareStatement($db, $query);
-
-        foreach ($args as $arg => $val) {
-            $stmt->bindValue($arg, $val, is_int($val) ? \PDO::PARAM_INT : \PDO::PARAM_STR);
-        }
-        $stmt->execute();
-        $return = $stmt->fetchAll(\PDO::FETCH_ASSOC);
-
-        return $return;
-    }
-
-    protected function close($db)
-    {
-    }
-
-    protected function createProfileFromData($token, $data, $parent = null)
-    {
-        $profile = new Profile($token);
-        $profile->setIp($data['ip']);
-        $profile->setMethod($data['method']);
-        $profile->setUrl($data['url']);
-        $profile->setTime($data['time']);
-        $profile->setCollectors(unserialize(base64_decode($data['data'])));
-
-        if (!$parent && !empty($data['parent'])) {
-            $parent = $this->read($data['parent']);
-        }
-
-        if ($parent) {
-            $profile->setParent($parent);
-        }
-
-        $profile->setChildren($this->readChildren($token, $profile));
-
-        return $profile;
-    }
-
-    /**
-     * Reads the child profiles for the given token.
-     *
-     * @param string $token  The parent token
-     * @param string $parent The parent instance
-     *
-     * @return Profile[] An array of Profile instance
-     */
-    protected function readChildren($token, $parent)
-    {
-        $db = $this->initDb();
-        $data = $this->fetch($db, 'SELECT token, data, ip, method, url, time FROM sf_profiler_data WHERE parent = :token', array(':token' => $token));
-        $this->close($db);
-
-        if (!$data) {
-            return array();
-        }
-
-        $profiles = array();
-        foreach ($data as $d) {
-            $profiles[] = $this->createProfileFromData($d['token'], $d, $parent);
-        }
-
-        return $profiles;
-    }
-
-    /**
-     * Returns whether data for the given token already exists in storage.
-     *
-     * @param string $token The profile token
-     *
-     * @return string
-     */
-    protected function has($token)
-    {
-        $db = $this->initDb();
-        $tokenExists = $this->fetch($db, 'SELECT 1 FROM sf_profiler_data WHERE token = :token LIMIT 1', array(':token' => $token));
-        $this->close($db);
-
-        return !empty($tokenExists);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profile.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profile.php
deleted file mode 100644
index 85284bf..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profile.php
+++ /dev/null
@@ -1,275 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface;
-
-/**
- * Profile.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Profile
-{
-    private $token;
-
-    /**
-     * @var DataCollectorInterface[]
-     */
-    private $collectors = array();
-
-    private $ip;
-    private $method;
-    private $url;
-    private $time;
-
-    /**
-     * @var Profile
-     */
-    private $parent;
-
-    /**
-     * @var Profile[]
-     */
-    private $children = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $token The token
-     */
-    public function __construct($token)
-    {
-        $this->token = $token;
-    }
-
-    /**
-     * Sets the token.
-     *
-     * @param string $token The token
-     */
-    public function setToken($token)
-    {
-        $this->token = $token;
-    }
-
-    /**
-     * Gets the token.
-     *
-     * @return string The token
-     */
-    public function getToken()
-    {
-        return $this->token;
-    }
-
-    /**
-     * Sets the parent token.
-     *
-     * @param Profile $parent The parent Profile
-     */
-    public function setParent(Profile $parent)
-    {
-        $this->parent = $parent;
-    }
-
-    /**
-     * Returns the parent profile.
-     *
-     * @return Profile The parent profile
-     */
-    public function getParent()
-    {
-        return $this->parent;
-    }
-
-    /**
-     * Returns the parent token.
-     *
-     * @return null|string The parent token
-     */
-    public function getParentToken()
-    {
-        return $this->parent ? $this->parent->getToken() : null;
-    }
-
-    /**
-     * Returns the IP.
-     *
-     * @return string The IP
-     */
-    public function getIp()
-    {
-        return $this->ip;
-    }
-
-    /**
-     * Sets the IP.
-     *
-     * @param string $ip
-     */
-    public function setIp($ip)
-    {
-        $this->ip = $ip;
-    }
-
-    /**
-     * Returns the request method.
-     *
-     * @return string The request method
-     */
-    public function getMethod()
-    {
-        return $this->method;
-    }
-
-    public function setMethod($method)
-    {
-        $this->method = $method;
-    }
-
-    /**
-     * Returns the URL.
-     *
-     * @return string The URL
-     */
-    public function getUrl()
-    {
-        return $this->url;
-    }
-
-    public function setUrl($url)
-    {
-        $this->url = $url;
-    }
-
-    /**
-     * Returns the time.
-     *
-     * @return string The time
-     */
-    public function getTime()
-    {
-        if (null === $this->time) {
-            return 0;
-        }
-
-        return $this->time;
-    }
-
-    public function setTime($time)
-    {
-        $this->time = $time;
-    }
-
-    /**
-     * Finds children profilers.
-     *
-     * @return Profile[] An array of Profile
-     */
-    public function getChildren()
-    {
-        return $this->children;
-    }
-
-    /**
-     * Sets children profiler.
-     *
-     * @param Profile[] $children An array of Profile
-     */
-    public function setChildren(array $children)
-    {
-        $this->children = array();
-        foreach ($children as $child) {
-            $this->addChild($child);
-        }
-    }
-
-    /**
-     * Adds the child token.
-     *
-     * @param Profile $child The child Profile
-     */
-    public function addChild(Profile $child)
-    {
-        $this->children[] = $child;
-        $child->setParent($this);
-    }
-
-    /**
-     * Gets a Collector by name.
-     *
-     * @param string $name A collector name
-     *
-     * @return DataCollectorInterface A DataCollectorInterface instance
-     *
-     * @throws \InvalidArgumentException if the collector does not exist
-     */
-    public function getCollector($name)
-    {
-        if (!isset($this->collectors[$name])) {
-            throw new \InvalidArgumentException(sprintf('Collector "%s" does not exist.', $name));
-        }
-
-        return $this->collectors[$name];
-    }
-
-    /**
-     * Gets the Collectors associated with this profile.
-     *
-     * @return DataCollectorInterface[]
-     */
-    public function getCollectors()
-    {
-        return $this->collectors;
-    }
-
-    /**
-     * Sets the Collectors associated with this profile.
-     *
-     * @param DataCollectorInterface[] $collectors
-     */
-    public function setCollectors(array $collectors)
-    {
-        $this->collectors = array();
-        foreach ($collectors as $collector) {
-            $this->addCollector($collector);
-        }
-    }
-
-    /**
-     * Adds a Collector.
-     *
-     * @param DataCollectorInterface $collector A DataCollectorInterface instance
-     */
-    public function addCollector(DataCollectorInterface $collector)
-    {
-        $this->collectors[$collector->getName()] = $collector;
-    }
-
-    /**
-     * Returns true if a Collector for the given name exists.
-     *
-     * @param string $name A collector name
-     *
-     * @return bool
-     */
-    public function hasCollector($name)
-    {
-        return isset($this->collectors[$name]);
-    }
-
-    public function __sleep()
-    {
-        return array('token', 'parent', 'children', 'collectors', 'ip', 'method', 'url', 'time');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profiler.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profiler.php
deleted file mode 100644
index 62f5cd7..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profiler.php
+++ /dev/null
@@ -1,295 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface;
-use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface;
-use Psr\Log\LoggerInterface;
-
-/**
- * Profiler.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Profiler
-{
-    /**
-     * @var ProfilerStorageInterface
-     */
-    private $storage;
-
-    /**
-     * @var DataCollectorInterface[]
-     */
-    private $collectors = array();
-
-    /**
-     * @var LoggerInterface
-     */
-    private $logger;
-
-    /**
-     * @var bool
-     */
-    private $enabled = true;
-
-    /**
-     * Constructor.
-     *
-     * @param ProfilerStorageInterface $storage A ProfilerStorageInterface instance
-     * @param LoggerInterface          $logger  A LoggerInterface instance
-     */
-    public function __construct(ProfilerStorageInterface $storage, LoggerInterface $logger = null)
-    {
-        $this->storage = $storage;
-        $this->logger = $logger;
-    }
-
-    /**
-     * Disables the profiler.
-     */
-    public function disable()
-    {
-        $this->enabled = false;
-    }
-
-    /**
-     * Enables the profiler.
-     */
-    public function enable()
-    {
-        $this->enabled = true;
-    }
-
-    /**
-     * Loads the Profile for the given Response.
-     *
-     * @param Response $response A Response instance
-     *
-     * @return Profile A Profile instance
-     */
-    public function loadProfileFromResponse(Response $response)
-    {
-        if (!$token = $response->headers->get('X-Debug-Token')) {
-            return false;
-        }
-
-        return $this->loadProfile($token);
-    }
-
-    /**
-     * Loads the Profile for the given token.
-     *
-     * @param string $token A token
-     *
-     * @return Profile A Profile instance
-     */
-    public function loadProfile($token)
-    {
-        return $this->storage->read($token);
-    }
-
-    /**
-     * Saves a Profile.
-     *
-     * @param Profile $profile A Profile instance
-     *
-     * @return bool
-     */
-    public function saveProfile(Profile $profile)
-    {
-        // late collect
-        foreach ($profile->getCollectors() as $collector) {
-            if ($collector instanceof LateDataCollectorInterface) {
-                $collector->lateCollect();
-            }
-        }
-
-        if (!($ret = $this->storage->write($profile)) && null !== $this->logger) {
-            $this->logger->warning('Unable to store the profiler information.');
-        }
-
-        return $ret;
-    }
-
-    /**
-     * Purges all data from the storage.
-     */
-    public function purge()
-    {
-        $this->storage->purge();
-    }
-
-    /**
-     * Exports the current profiler data.
-     *
-     * @param Profile $profile A Profile instance
-     *
-     * @return string The exported data
-     */
-    public function export(Profile $profile)
-    {
-        return base64_encode(serialize($profile));
-    }
-
-    /**
-     * Imports data into the profiler storage.
-     *
-     * @param string $data A data string as exported by the export() method
-     *
-     * @return Profile A Profile instance
-     */
-    public function import($data)
-    {
-        $profile = unserialize(base64_decode($data));
-
-        if ($this->storage->read($profile->getToken())) {
-            return false;
-        }
-
-        $this->saveProfile($profile);
-
-        return $profile;
-    }
-
-    /**
-     * Finds profiler tokens for the given criteria.
-     *
-     * @param string $ip     The IP
-     * @param string $url    The URL
-     * @param string $limit  The maximum number of tokens to return
-     * @param string $method The request method
-     * @param string $start  The start date to search from
-     * @param string $end    The end date to search to
-     *
-     * @return array An array of tokens
-     *
-     * @see http://php.net/manual/en/datetime.formats.php for the supported date/time formats
-     */
-    public function find($ip, $url, $limit, $method, $start, $end)
-    {
-        return $this->storage->find($ip, $url, $limit, $method, $this->getTimestamp($start), $this->getTimestamp($end));
-    }
-
-    /**
-     * Collects data for the given Response.
-     *
-     * @param Request    $request   A Request instance
-     * @param Response   $response  A Response instance
-     * @param \Exception $exception An exception instance if the request threw one
-     *
-     * @return Profile|null A Profile instance or null if the profiler is disabled
-     */
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-        if (false === $this->enabled) {
-            return;
-        }
-
-        $profile = new Profile(substr(hash('sha256', uniqid(mt_rand(), true)), 0, 6));
-        $profile->setTime(time());
-        $profile->setUrl($request->getUri());
-        $profile->setIp($request->getClientIp());
-        $profile->setMethod($request->getMethod());
-
-        $response->headers->set('X-Debug-Token', $profile->getToken());
-
-        foreach ($this->collectors as $collector) {
-            $collector->collect($request, $response, $exception);
-
-            // we need to clone for sub-requests
-            $profile->addCollector(clone $collector);
-        }
-
-        return $profile;
-    }
-
-    /**
-     * Gets the Collectors associated with this profiler.
-     *
-     * @return array An array of collectors
-     */
-    public function all()
-    {
-        return $this->collectors;
-    }
-
-    /**
-     * Sets the Collectors associated with this profiler.
-     *
-     * @param DataCollectorInterface[] $collectors An array of collectors
-     */
-    public function set(array $collectors = array())
-    {
-        $this->collectors = array();
-        foreach ($collectors as $collector) {
-            $this->add($collector);
-        }
-    }
-
-    /**
-     * Adds a Collector.
-     *
-     * @param DataCollectorInterface $collector A DataCollectorInterface instance
-     */
-    public function add(DataCollectorInterface $collector)
-    {
-        $this->collectors[$collector->getName()] = $collector;
-    }
-
-    /**
-     * Returns true if a Collector for the given name exists.
-     *
-     * @param string $name A collector name
-     *
-     * @return bool
-     */
-    public function has($name)
-    {
-        return isset($this->collectors[$name]);
-    }
-
-    /**
-     * Gets a Collector by name.
-     *
-     * @param string $name A collector name
-     *
-     * @return DataCollectorInterface A DataCollectorInterface instance
-     *
-     * @throws \InvalidArgumentException if the collector does not exist
-     */
-    public function get($name)
-    {
-        if (!isset($this->collectors[$name])) {
-            throw new \InvalidArgumentException(sprintf('Collector "%s" does not exist.', $name));
-        }
-
-        return $this->collectors[$name];
-    }
-
-    private function getTimestamp($value)
-    {
-        if (null === $value || '' == $value) {
-            return;
-        }
-
-        try {
-            $value = new \DateTime(is_numeric($value) ? '@'.$value : $value);
-        } catch (\Exception $e) {
-            return;
-        }
-
-        return $value->getTimestamp();
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php
deleted file mode 100644
index ea72af2..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * ProfilerStorageInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface ProfilerStorageInterface
-{
-    /**
-     * Finds profiler tokens for the given criteria.
-     *
-     * @param string   $ip     The IP
-     * @param string   $url    The URL
-     * @param string   $limit  The maximum number of tokens to return
-     * @param string   $method The request method
-     * @param int|null $start  The start date to search from
-     * @param int|null $end    The end date to search to
-     *
-     * @return array An array of tokens
-     */
-    public function find($ip, $url, $limit, $method, $start = null, $end = null);
-
-    /**
-     * Reads data associated with the given token.
-     *
-     * The method returns false if the token does not exist in the storage.
-     *
-     * @param string $token A token
-     *
-     * @return Profile The profile associated with token
-     */
-    public function read($token);
-
-    /**
-     * Saves a Profile.
-     *
-     * @param Profile $profile A Profile instance
-     *
-     * @return bool Write operation successful
-     */
-    public function write(Profile $profile);
-
-    /**
-     * Purges all data from the database.
-     */
-    public function purge();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php
deleted file mode 100644
index b05adcc..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php
+++ /dev/null
@@ -1,390 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * RedisProfilerStorage stores profiling information in Redis.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- * @author Stephane PY <py.stephane1@gmail.com>
- */
-class RedisProfilerStorage implements ProfilerStorageInterface
-{
-    const TOKEN_PREFIX = 'sf_profiler_';
-
-    const REDIS_OPT_SERIALIZER = 1;
-    const REDIS_OPT_PREFIX = 2;
-    const REDIS_SERIALIZER_NONE = 0;
-    const REDIS_SERIALIZER_PHP = 1;
-
-    protected $dsn;
-    protected $lifetime;
-
-    /**
-     * @var \Redis
-     */
-    private $redis;
-
-    /**
-     * Constructor.
-     *
-     * @param string $dsn      A data source name
-     * @param string $username Not used
-     * @param string $password Not used
-     * @param int    $lifetime The lifetime to use for the purge
-     */
-    public function __construct($dsn, $username = '', $password = '', $lifetime = 86400)
-    {
-        $this->dsn = $dsn;
-        $this->lifetime = (int) $lifetime;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($ip, $url, $limit, $method, $start = null, $end = null)
-    {
-        $indexName = $this->getIndexName();
-
-        if (!$indexContent = $this->getValue($indexName, self::REDIS_SERIALIZER_NONE)) {
-            return array();
-        }
-
-        $profileList = array_reverse(explode("\n", $indexContent));
-        $result = array();
-
-        foreach ($profileList as $item) {
-            if ($limit === 0) {
-                break;
-            }
-
-            if ($item == '') {
-                continue;
-            }
-
-            list($itemToken, $itemIp, $itemMethod, $itemUrl, $itemTime, $itemParent) = explode("\t", $item, 6);
-
-            $itemTime = (int) $itemTime;
-
-            if ($ip && false === strpos($itemIp, $ip) || $url && false === strpos($itemUrl, $url) || $method && false === strpos($itemMethod, $method)) {
-                continue;
-            }
-
-            if (!empty($start) && $itemTime < $start) {
-                continue;
-            }
-
-            if (!empty($end) && $itemTime > $end) {
-                continue;
-            }
-
-            $result[] = array(
-                'token' => $itemToken,
-                'ip' => $itemIp,
-                'method' => $itemMethod,
-                'url' => $itemUrl,
-                'time' => $itemTime,
-                'parent' => $itemParent,
-            );
-            --$limit;
-        }
-
-        return $result;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function purge()
-    {
-        // delete only items from index
-        $indexName = $this->getIndexName();
-
-        $indexContent = $this->getValue($indexName, self::REDIS_SERIALIZER_NONE);
-
-        if (!$indexContent) {
-            return false;
-        }
-
-        $profileList = explode("\n", $indexContent);
-
-        $result = array();
-
-        foreach ($profileList as $item) {
-            if ($item == '') {
-                continue;
-            }
-
-            if (false !== $pos = strpos($item, "\t")) {
-                $result[] = $this->getItemName(substr($item, 0, $pos));
-            }
-        }
-
-        $result[] = $indexName;
-
-        return $this->delete($result);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($token)
-    {
-        if (empty($token)) {
-            return false;
-        }
-
-        $profile = $this->getValue($this->getItemName($token), self::REDIS_SERIALIZER_PHP);
-
-        if (false !== $profile) {
-            $profile = $this->createProfileFromData($token, $profile);
-        }
-
-        return $profile;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write(Profile $profile)
-    {
-        $data = array(
-            'token' => $profile->getToken(),
-            'parent' => $profile->getParentToken(),
-            'children' => array_map(function ($p) { return $p->getToken(); }, $profile->getChildren()),
-            'data' => $profile->getCollectors(),
-            'ip' => $profile->getIp(),
-            'method' => $profile->getMethod(),
-            'url' => $profile->getUrl(),
-            'time' => $profile->getTime(),
-        );
-
-        $profileIndexed = false !== $this->getValue($this->getItemName($profile->getToken()));
-
-        if ($this->setValue($this->getItemName($profile->getToken()), $data, $this->lifetime, self::REDIS_SERIALIZER_PHP)) {
-            if (!$profileIndexed) {
-                // Add to index
-                $indexName = $this->getIndexName();
-
-                $indexRow = implode("\t", array(
-                    $profile->getToken(),
-                    $profile->getIp(),
-                    $profile->getMethod(),
-                    $profile->getUrl(),
-                    $profile->getTime(),
-                    $profile->getParentToken(),
-                ))."\n";
-
-                return $this->appendValue($indexName, $indexRow, $this->lifetime);
-            }
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Internal convenience method that returns the instance of Redis.
-     *
-     * @return \Redis
-     *
-     * @throws \RuntimeException
-     */
-    protected function getRedis()
-    {
-        if (null === $this->redis) {
-            $data = parse_url($this->dsn);
-
-            if (false === $data || !isset($data['scheme']) || $data['scheme'] !== 'redis' || !isset($data['host']) || !isset($data['port'])) {
-                throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use Redis with an invalid dsn "%s". The minimal expected format is "redis://[host]:port".', $this->dsn));
-            }
-
-            if (!extension_loaded('redis')) {
-                throw new \RuntimeException('RedisProfilerStorage requires that the redis extension is loaded.');
-            }
-
-            $redis = new \Redis();
-            $redis->connect($data['host'], $data['port']);
-
-            if (isset($data['path'])) {
-                $redis->select(substr($data['path'], 1));
-            }
-
-            if (isset($data['pass'])) {
-                $redis->auth($data['pass']);
-            }
-
-            $redis->setOption(self::REDIS_OPT_PREFIX, self::TOKEN_PREFIX);
-
-            $this->redis = $redis;
-        }
-
-        return $this->redis;
-    }
-
-    /**
-     * Set instance of the Redis.
-     *
-     * @param \Redis $redis
-     */
-    public function setRedis($redis)
-    {
-        $this->redis = $redis;
-    }
-
-    private function createProfileFromData($token, $data, $parent = null)
-    {
-        $profile = new Profile($token);
-        $profile->setIp($data['ip']);
-        $profile->setMethod($data['method']);
-        $profile->setUrl($data['url']);
-        $profile->setTime($data['time']);
-        $profile->setCollectors($data['data']);
-
-        if (!$parent && $data['parent']) {
-            $parent = $this->read($data['parent']);
-        }
-
-        if ($parent) {
-            $profile->setParent($parent);
-        }
-
-        foreach ($data['children'] as $token) {
-            if (!$token) {
-                continue;
-            }
-
-            if (!$childProfileData = $this->getValue($this->getItemName($token), self::REDIS_SERIALIZER_PHP)) {
-                continue;
-            }
-
-            $profile->addChild($this->createProfileFromData($token, $childProfileData, $profile));
-        }
-
-        return $profile;
-    }
-
-    /**
-     * Gets the item name.
-     *
-     * @param string $token
-     *
-     * @return string
-     */
-    private function getItemName($token)
-    {
-        $name = $token;
-
-        if ($this->isItemNameValid($name)) {
-            return $name;
-        }
-
-        return false;
-    }
-
-    /**
-     * Gets the name of the index.
-     *
-     * @return string
-     */
-    private function getIndexName()
-    {
-        $name = 'index';
-
-        if ($this->isItemNameValid($name)) {
-            return $name;
-        }
-
-        return false;
-    }
-
-    private function isItemNameValid($name)
-    {
-        $length = strlen($name);
-
-        if ($length > 2147483648) {
-            throw new \RuntimeException(sprintf('The Redis item key "%s" is too long (%s bytes). Allowed maximum size is 2^31 bytes.', $name, $length));
-        }
-
-        return true;
-    }
-
-    /**
-     * Retrieves an item from the Redis server.
-     *
-     * @param string $key
-     * @param int    $serializer
-     *
-     * @return mixed
-     */
-    private function getValue($key, $serializer = self::REDIS_SERIALIZER_NONE)
-    {
-        $redis = $this->getRedis();
-        $redis->setOption(self::REDIS_OPT_SERIALIZER, $serializer);
-
-        return $redis->get($key);
-    }
-
-    /**
-     * Stores an item on the Redis server under the specified key.
-     *
-     * @param string $key
-     * @param mixed  $value
-     * @param int    $expiration
-     * @param int    $serializer
-     *
-     * @return bool
-     */
-    private function setValue($key, $value, $expiration = 0, $serializer = self::REDIS_SERIALIZER_NONE)
-    {
-        $redis = $this->getRedis();
-        $redis->setOption(self::REDIS_OPT_SERIALIZER, $serializer);
-
-        return $redis->setex($key, $expiration, $value);
-    }
-
-    /**
-     * Appends data to an existing item on the Redis server.
-     *
-     * @param string $key
-     * @param string $value
-     * @param int    $expiration
-     *
-     * @return bool
-     */
-    private function appendValue($key, $value, $expiration = 0)
-    {
-        $redis = $this->getRedis();
-        $redis->setOption(self::REDIS_OPT_SERIALIZER, self::REDIS_SERIALIZER_NONE);
-
-        if ($redis->exists($key)) {
-            $redis->append($key, $value);
-
-            return $redis->setTimeout($key, $expiration);
-        }
-
-        return $redis->setex($key, $expiration, $value);
-    }
-
-    /**
-     * Removes the specified keys.
-     *
-     * @param array $keys
-     *
-     * @return bool
-     */
-    private function delete(array $keys)
-    {
-        return (bool) $this->getRedis()->delete($keys);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/SqliteProfilerStorage.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/SqliteProfilerStorage.php
deleted file mode 100644
index 0c25bc9..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/SqliteProfilerStorage.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Profiler;
-
-/**
- * SqliteProfilerStorage stores profiling information in a SQLite database.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class SqliteProfilerStorage extends PdoProfilerStorage
-{
-    /**
-     * @throws \RuntimeException When neither of SQLite3 or PDO_SQLite extension is enabled
-     */
-    protected function initDb()
-    {
-        if (null === $this->db || $this->db instanceof \SQLite3) {
-            if (0 !== strpos($this->dsn, 'sqlite')) {
-                throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use Sqlite with an invalid dsn "%s". The expected format is "sqlite:/path/to/the/db/file".', $this->dsn));
-            }
-            if (class_exists('SQLite3')) {
-                $db = new \SQLite3(substr($this->dsn, 7, strlen($this->dsn)), \SQLITE3_OPEN_READWRITE | \SQLITE3_OPEN_CREATE);
-                if (method_exists($db, 'busyTimeout')) {
-                    // busyTimeout only exists for PHP >= 5.3.3
-                    $db->busyTimeout(1000);
-                }
-            } elseif (class_exists('PDO') && in_array('sqlite', \PDO::getAvailableDrivers(), true)) {
-                $db = new \PDO($this->dsn);
-            } else {
-                throw new \RuntimeException('You need to enable either the SQLite3 or PDO_SQLite extension for the profiler to run properly.');
-            }
-
-            $db->exec('PRAGMA temp_store=MEMORY; PRAGMA journal_mode=MEMORY;');
-            $db->exec('CREATE TABLE IF NOT EXISTS sf_profiler_data (token STRING, data STRING, ip STRING, method STRING, url STRING, time INTEGER, parent STRING, created_at INTEGER)');
-            $db->exec('CREATE INDEX IF NOT EXISTS data_created_at ON sf_profiler_data (created_at)');
-            $db->exec('CREATE INDEX IF NOT EXISTS data_ip ON sf_profiler_data (ip)');
-            $db->exec('CREATE INDEX IF NOT EXISTS data_method ON sf_profiler_data (method)');
-            $db->exec('CREATE INDEX IF NOT EXISTS data_url ON sf_profiler_data (url)');
-            $db->exec('CREATE INDEX IF NOT EXISTS data_parent ON sf_profiler_data (parent)');
-            $db->exec('CREATE UNIQUE INDEX IF NOT EXISTS data_token ON sf_profiler_data (token)');
-
-            $this->db = $db;
-        }
-
-        return $this->db;
-    }
-
-    protected function exec($db, $query, array $args = array())
-    {
-        if ($db instanceof \SQLite3) {
-            $stmt = $this->prepareStatement($db, $query);
-            foreach ($args as $arg => $val) {
-                $stmt->bindValue($arg, $val, is_int($val) ? \SQLITE3_INTEGER : \SQLITE3_TEXT);
-            }
-
-            $res = $stmt->execute();
-            if (false === $res) {
-                throw new \RuntimeException(sprintf('Error executing SQLite query "%s"', $query));
-            }
-            $res->finalize();
-        } else {
-            parent::exec($db, $query, $args);
-        }
-    }
-
-    protected function fetch($db, $query, array $args = array())
-    {
-        $return = array();
-
-        if ($db instanceof \SQLite3) {
-            $stmt = $this->prepareStatement($db, $query, true);
-            foreach ($args as $arg => $val) {
-                $stmt->bindValue($arg, $val, is_int($val) ? \SQLITE3_INTEGER : \SQLITE3_TEXT);
-            }
-            $res = $stmt->execute();
-            while ($row = $res->fetchArray(\SQLITE3_ASSOC)) {
-                $return[] = $row;
-            }
-            $res->finalize();
-            $stmt->close();
-        } else {
-            $return = parent::fetch($db, $query, $args);
-        }
-
-        return $return;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function buildCriteria($ip, $url, $start, $end, $limit, $method)
-    {
-        $criteria = array();
-        $args = array();
-
-        if ($ip = preg_replace('/[^\d\.]/', '', $ip)) {
-            $criteria[] = 'ip LIKE :ip';
-            $args[':ip'] = '%'.$ip.'%';
-        }
-
-        if ($url) {
-            $criteria[] = 'url LIKE :url ESCAPE "\"';
-            $args[':url'] = '%'.addcslashes($url, '%_\\').'%';
-        }
-
-        if ($method) {
-            $criteria[] = 'method = :method';
-            $args[':method'] = $method;
-        }
-
-        if (!empty($start)) {
-            $criteria[] = 'time >= :start';
-            $args[':start'] = $start;
-        }
-
-        if (!empty($end)) {
-            $criteria[] = 'time <= :end';
-            $args[':end'] = $end;
-        }
-
-        return array($criteria, $args);
-    }
-
-    protected function close($db)
-    {
-        if ($db instanceof \SQLite3) {
-            $db->close();
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/README.md b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/README.md
deleted file mode 100644
index 9ec8c04..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/README.md
+++ /dev/null
@@ -1,99 +0,0 @@
-HttpKernel Component
-====================
-
-HttpKernel provides the building blocks to create flexible and fast HTTP-based
-frameworks.
-
-``HttpKernelInterface`` is the core interface of the Symfony full-stack
-framework:
-
-```php
-interface HttpKernelInterface
-{
-    /**
-     * Handles a Request to convert it to a Response.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return Response A Response instance
-     */
-    function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true);
-}
-```
-
-It takes a ``Request`` as an input and should return a ``Response`` as an
-output. Using this interface makes your code compatible with all frameworks
-using the Symfony components. And this will give you many cool features for
-free.
-
-Creating a framework based on the Symfony components is really easy. Here is
-a very simple, but fully-featured framework based on the Symfony components:
-
-```php
-$routes = new RouteCollection();
-$routes->add('hello', new Route('/hello', array('_controller' =>
-    function (Request $request) {
-        return new Response(sprintf("Hello %s", $request->get('name')));
-    }
-)));
-
-$request = Request::createFromGlobals();
-
-$context = new RequestContext();
-$context->fromRequest($request);
-
-$matcher = new UrlMatcher($routes, $context);
-
-$dispatcher = new EventDispatcher();
-$dispatcher->addSubscriber(new RouterListener($matcher));
-
-$resolver = new ControllerResolver();
-
-$kernel = new HttpKernel($dispatcher, $resolver);
-
-$kernel->handle($request)->send();
-```
-
-This is all you need to create a flexible framework with the Symfony
-components.
-
-Want to add an HTTP reverse proxy and benefit from HTTP caching and Edge Side
-Includes?
-
-```php
-$kernel = new HttpKernel($dispatcher, $resolver);
-
-$kernel = new HttpCache($kernel, new Store(__DIR__.'/cache'));
-```
-
-Want to functional test this small framework?
-
-```php
-$client = new Client($kernel);
-$crawler = $client->request('GET', '/hello/Fabien');
-
-$this->assertEquals('Fabien', $crawler->filter('p > span')->text());
-```
-
-Want nice error pages instead of ugly PHP exceptions?
-
-```php
-$dispatcher->addSubscriber(new ExceptionListener(function (Request $request) {
-    $msg = 'Something went wrong! ('.$request->get('exception')->getMessage().')';
-
-    return new Response($msg, 500);
-}));
-```
-
-And that's why the simple looking ``HttpKernelInterface`` is so powerful. It
-gives you access to a lot of cool features, ready to be used out of the box,
-with no efforts.
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/HttpKernel/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php
deleted file mode 100644
index fc0e580..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-/**
- * Terminable extends the Kernel request/response cycle with dispatching a post
- * response event after sending the response and before shutting down the kernel.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author Pierre Minnieur <pierre.minnieur@sensiolabs.de>
- *
- * @api
- */
-interface TerminableInterface
-{
-    /**
-     * Terminates a request/response cycle.
-     *
-     * Should be called after sending the response and before shutting down the kernel.
-     *
-     * @param Request  $request  A Request instance
-     * @param Response $response A Response instance
-     *
-     * @api
-     */
-    public function terminate(Request $request, Response $response);
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
deleted file mode 100644
index 1a1b300..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Bundle;
-
-use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\ExtensionPresentBundle;
-use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionAbsentBundle\ExtensionAbsentBundle;
-use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command\FooCommand;
-
-class BundleTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRegisterCommands()
-    {
-        $cmd = new FooCommand();
-        $app = $this->getMock('Symfony\Component\Console\Application');
-        $app->expects($this->once())->method('add')->with($this->equalTo($cmd));
-
-        $bundle = new ExtensionPresentBundle();
-        $bundle->registerCommands($app);
-
-        $bundle2 = new ExtensionAbsentBundle();
-
-        $this->assertNull($bundle2->registerCommands($app));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php
deleted file mode 100644
index b54d169..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\CacheClearer;
-
-use Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer;
-
-class ChainCacheClearerTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $cacheDir;
-
-    public static function setUpBeforeClass()
-    {
-        self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf2_cache_clearer_dir');
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$cacheDir);
-    }
-
-    public function testInjectClearersInConstructor()
-    {
-        $clearer = $this->getMockClearer();
-        $clearer
-            ->expects($this->once())
-            ->method('clear');
-
-        $chainClearer = new ChainCacheClearer(array($clearer));
-        $chainClearer->clear(self::$cacheDir);
-    }
-
-    public function testInjectClearerUsingAdd()
-    {
-        $clearer = $this->getMockClearer();
-        $clearer
-            ->expects($this->once())
-            ->method('clear');
-
-        $chainClearer = new ChainCacheClearer();
-        $chainClearer->add($clearer);
-        $chainClearer->clear(self::$cacheDir);
-    }
-
-    protected function getMockClearer()
-    {
-        return $this->getMock('Symfony\Component\HttpKernel\CacheClearer\CacheClearerInterface');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php
deleted file mode 100644
index e78c8d1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\CacheWarmer;
-
-use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate;
-
-class CacheWarmerAggregateTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $cacheDir;
-
-    public static function setUpBeforeClass()
-    {
-        self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf2_cache_warmer_dir');
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$cacheDir);
-    }
-
-    public function testInjectWarmersUsingConstructor()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-        $aggregate = new CacheWarmerAggregate(array($warmer));
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testInjectWarmersUsingAdd()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-        $aggregate = new CacheWarmerAggregate();
-        $aggregate->add($warmer);
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testInjectWarmersUsingSetWarmers()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-        $aggregate = new CacheWarmerAggregate();
-        $aggregate->setWarmers(array($warmer));
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testWarmupDoesCallWarmupOnOptionalWarmersWhenEnableOptionalWarmersIsEnabled()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->never())
-            ->method('isOptional');
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-
-        $aggregate = new CacheWarmerAggregate(array($warmer));
-        $aggregate->enableOptionalWarmers();
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testWarmupDoesNotCallWarmupOnOptionalWarmersWhenEnableOptionalWarmersIsNotEnabled()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('isOptional')
-            ->will($this->returnValue(true));
-        $warmer
-            ->expects($this->never())
-            ->method('warmUp');
-
-        $aggregate = new CacheWarmerAggregate(array($warmer));
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    protected function getCacheWarmerMock()
-    {
-        $warmer = $this->getMockBuilder('Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        return $warmer;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php
deleted file mode 100644
index f0ab05d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\CacheWarmer;
-
-use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer;
-
-class CacheWarmerTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $cacheFile;
-
-    public static function setUpBeforeClass()
-    {
-        self::$cacheFile = tempnam(sys_get_temp_dir(), 'sf2_cache_warmer_dir');
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$cacheFile);
-    }
-
-    public function testWriteCacheFileCreatesTheFile()
-    {
-        $warmer = new TestCacheWarmer(self::$cacheFile);
-        $warmer->warmUp(dirname(self::$cacheFile));
-
-        $this->assertTrue(file_exists(self::$cacheFile));
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testWriteNonWritableCacheFileThrowsARuntimeException()
-    {
-        $nonWritableFile = '/this/file/is/very/probably/not/writable';
-        $warmer = new TestCacheWarmer($nonWritableFile);
-        $warmer->warmUp(dirname($nonWritableFile));
-    }
-}
-
-class TestCacheWarmer extends CacheWarmer
-{
-    protected $file;
-
-    public function __construct($file)
-    {
-        $this->file = $file;
-    }
-
-    public function warmUp($cacheDir)
-    {
-        $this->writeCacheFile($this->file, 'content');
-    }
-
-    public function isOptional()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php
deleted file mode 100644
index b5d2c9c..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\Client;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\StreamedResponse;
-use Symfony\Component\HttpFoundation\Cookie;
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-use Symfony\Component\HttpKernel\Tests\Fixtures\TestClient;
-
-class ClientTest extends \PHPUnit_Framework_TestCase
-{
-    public function testDoRequest()
-    {
-        $client = new Client(new TestHttpKernel());
-
-        $client->request('GET', '/');
-        $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request');
-        $this->assertInstanceOf('Symfony\Component\BrowserKit\Request', $client->getInternalRequest());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Request', $client->getRequest());
-        $this->assertInstanceOf('Symfony\Component\BrowserKit\Response', $client->getInternalResponse());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $client->getResponse());
-
-        $client->request('GET', 'http://www.example.com/');
-        $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request');
-        $this->assertEquals('www.example.com', $client->getRequest()->getHost(), '->doRequest() uses the request handler to make the request');
-
-        $client->request('GET', 'http://www.example.com/?parameter=http://google.com');
-        $this->assertEquals('http://www.example.com/?parameter='.urlencode('http://google.com'), $client->getRequest()->getUri(), '->doRequest() uses the request handler to make the request');
-    }
-
-    public function testGetScript()
-    {
-        $client = new TestClient(new TestHttpKernel());
-        $client->insulate();
-        $client->request('GET', '/');
-
-        $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->getScript() returns a script that uses the request handler to make the request');
-    }
-
-    public function testFilterResponseConvertsCookies()
-    {
-        $client = new Client(new TestHttpKernel());
-
-        $r = new \ReflectionObject($client);
-        $m = $r->getMethod('filterResponse');
-        $m->setAccessible(true);
-
-        $expected = array(
-            'foo=bar; expires=Sun, 15 Feb 2009 20:00:00 GMT; domain=http://example.com; path=/foo; secure; httponly',
-            'foo1=bar1; expires=Sun, 15 Feb 2009 20:00:00 GMT; domain=http://example.com; path=/foo; secure; httponly',
-        );
-
-        $response = new Response();
-        $response->headers->setCookie(new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true));
-        $domResponse = $m->invoke($client, $response);
-        $this->assertEquals($expected[0], $domResponse->getHeader('Set-Cookie'));
-
-        $response = new Response();
-        $response->headers->setCookie(new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true));
-        $response->headers->setCookie(new Cookie('foo1', 'bar1', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true));
-        $domResponse = $m->invoke($client, $response);
-        $this->assertEquals($expected[0], $domResponse->getHeader('Set-Cookie'));
-        $this->assertEquals($expected, $domResponse->getHeader('Set-Cookie', false));
-    }
-
-    public function testFilterResponseSupportsStreamedResponses()
-    {
-        $client = new Client(new TestHttpKernel());
-
-        $r = new \ReflectionObject($client);
-        $m = $r->getMethod('filterResponse');
-        $m->setAccessible(true);
-
-        $response = new StreamedResponse(function () {
-            echo 'foo';
-        });
-
-        $domResponse = $m->invoke($client, $response);
-        $this->assertEquals('foo', $domResponse->getContent());
-    }
-
-    public function testUploadedFile()
-    {
-        $source = tempnam(sys_get_temp_dir(), 'source');
-        $target = sys_get_temp_dir().'/sf.moved.file';
-        @unlink($target);
-
-        $kernel = new TestHttpKernel();
-        $client = new Client($kernel);
-
-        $files = array(
-            array('tmp_name' => $source, 'name' => 'original', 'type' => 'mime/original', 'size' => 123, 'error' => UPLOAD_ERR_OK),
-            new UploadedFile($source, 'original', 'mime/original', 123, UPLOAD_ERR_OK, true),
-        );
-
-        $file = null;
-        foreach ($files as $file) {
-            $client->request('POST', '/', array(), array('foo' => $file));
-
-            $files = $client->getRequest()->files->all();
-
-            $this->assertCount(1, $files);
-
-            $file = $files['foo'];
-
-            $this->assertEquals('original', $file->getClientOriginalName());
-            $this->assertEquals('mime/original', $file->getClientMimeType());
-            $this->assertEquals('123', $file->getClientSize());
-            $this->assertTrue($file->isValid());
-        }
-
-        $file->move(dirname($target), basename($target));
-
-        $this->assertFileExists($target);
-        unlink($target);
-    }
-
-    public function testUploadedFileWhenNoFileSelected()
-    {
-        $kernel = new TestHttpKernel();
-        $client = new Client($kernel);
-
-        $file = array('tmp_name' => '', 'name' => '', 'type' => '', 'size' => 0, 'error' => UPLOAD_ERR_NO_FILE);
-
-        $client->request('POST', '/', array(), array('foo' => $file));
-
-        $files = $client->getRequest()->files->all();
-
-        $this->assertCount(1, $files);
-        $this->assertNull($files['foo']);
-    }
-
-    public function testUploadedFileWhenSizeExceedsUploadMaxFileSize()
-    {
-        $source = tempnam(sys_get_temp_dir(), 'source');
-
-        $kernel = new TestHttpKernel();
-        $client = new Client($kernel);
-
-        $file = $this
-            ->getMockBuilder('Symfony\Component\HttpFoundation\File\UploadedFile')
-            ->setConstructorArgs(array($source, 'original', 'mime/original', 123, UPLOAD_ERR_OK, true))
-            ->setMethods(array('getSize'))
-            ->getMock()
-        ;
-
-        $file->expects($this->once())
-            ->method('getSize')
-            ->will($this->returnValue(INF))
-        ;
-
-        $client->request('POST', '/', array(), array($file));
-
-        $files = $client->getRequest()->files->all();
-
-        $this->assertCount(1, $files);
-
-        $file = $files[0];
-
-        $this->assertFalse($file->isValid());
-        $this->assertEquals(UPLOAD_ERR_INI_SIZE, $file->getError());
-        $this->assertEquals('mime/original', $file->getClientMimeType());
-        $this->assertEquals('original', $file->getClientOriginalName());
-        $this->assertEquals(0, $file->getClientSize());
-
-        unlink($source);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php
deleted file mode 100644
index ee5ecce..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Config;
-
-use Symfony\Component\HttpKernel\Config\EnvParametersResource;
-
-class EnvParametersResourceTest extends \PHPUnit_Framework_TestCase
-{
-    protected $prefix = '__DUMMY_';
-    protected $initialEnv;
-    protected $resource;
-
-    protected function setUp()
-    {
-        $this->initialEnv = array(
-            $this->prefix.'1' => 'foo',
-            $this->prefix.'2' => 'bar',
-        );
-
-        foreach ($this->initialEnv as $key => $value) {
-            $_SERVER[$key] = $value;
-        }
-
-        $this->resource = new EnvParametersResource($this->prefix);
-    }
-
-    protected function tearDown()
-    {
-        foreach ($_SERVER as $key => $value) {
-            if (0 === strpos($key, $this->prefix)) {
-                unset($_SERVER[$key]);
-            }
-        }
-    }
-
-    public function testGetResource()
-    {
-        $this->assertSame(
-            array('prefix' => $this->prefix, 'variables' => $this->initialEnv),
-            $this->resource->getResource(),
-            '->getResource() returns the resource'
-        );
-    }
-
-    public function testToString()
-    {
-        $this->assertSame(
-            serialize(array('prefix' => $this->prefix, 'variables' => $this->initialEnv)),
-            (string) $this->resource
-        );
-    }
-
-    public function testIsFreshNotChanged()
-    {
-        $this->assertTrue(
-            $this->resource->isFresh(time()),
-            '->isFresh() returns true if the variables have not changed'
-        );
-    }
-
-    public function testIsFreshValueChanged()
-    {
-        reset($this->initialEnv);
-        $_SERVER[key($this->initialEnv)] = 'baz';
-
-        $this->assertFalse(
-            $this->resource->isFresh(time()),
-            '->isFresh() returns false if a variable has been changed'
-        );
-    }
-
-    public function testIsFreshValueRemoved()
-    {
-        reset($this->initialEnv);
-        unset($_SERVER[key($this->initialEnv)]);
-
-        $this->assertFalse(
-            $this->resource->isFresh(time()),
-            '->isFresh() returns false if a variable has been removed'
-        );
-    }
-
-    public function testIsFreshValueAdded()
-    {
-        $_SERVER[$this->prefix.'3'] = 'foo';
-
-        $this->assertFalse(
-            $this->resource->isFresh(time()),
-            '->isFresh() returns false if a variable has been added'
-        );
-    }
-
-    public function testSerializeUnserialize()
-    {
-        $this->assertEquals($this->resource, unserialize(serialize($this->resource)));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/FileLocatorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/FileLocatorTest.php
deleted file mode 100644
index be59486..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/FileLocatorTest.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Config;
-
-use Symfony\Component\HttpKernel\Config\FileLocator;
-
-class FileLocatorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testLocate()
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\KernelInterface');
-        $kernel
-            ->expects($this->atLeastOnce())
-            ->method('locateResource')
-            ->with('@BundleName/some/path', null, true)
-            ->will($this->returnValue('/bundle-name/some/path'));
-        $locator = new FileLocator($kernel);
-        $this->assertEquals('/bundle-name/some/path', $locator->locate('@BundleName/some/path'));
-
-        $kernel
-            ->expects($this->never())
-            ->method('locateResource');
-        $this->setExpectedException('LogicException');
-        $locator->locate('/some/path');
-    }
-
-    public function testLocateWithGlobalResourcePath()
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\KernelInterface');
-        $kernel
-            ->expects($this->atLeastOnce())
-            ->method('locateResource')
-            ->with('@BundleName/some/path', '/global/resource/path', false);
-
-        $locator = new FileLocator($kernel, '/global/resource/path');
-        $locator->locate('@BundleName/some/path', null, false);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
deleted file mode 100644
index fe70ae5..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
+++ /dev/null
@@ -1,242 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Controller;
-
-use Psr\Log\LoggerInterface;
-use Symfony\Component\HttpKernel\Controller\ControllerResolver;
-use Symfony\Component\HttpFoundation\Request;
-
-class ControllerResolverTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetControllerWithoutControllerParameter()
-    {
-        $logger = $this->getMock('Psr\Log\LoggerInterface');
-        $logger->expects($this->once())->method('warning')->with('Unable to look for the controller as the "_controller" parameter is missing');
-        $resolver = $this->createControllerResolver($logger);
-
-        $request = Request::create('/');
-        $this->assertFalse($resolver->getController($request), '->getController() returns false when the request has no _controller attribute');
-    }
-
-    public function testGetControllerWithLambda()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', $lambda = function () {});
-        $controller = $resolver->getController($request);
-        $this->assertSame($lambda, $controller);
-    }
-
-    public function testGetControllerWithObjectAndInvokeMethod()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', $this);
-        $controller = $resolver->getController($request);
-        $this->assertSame($this, $controller);
-    }
-
-    public function testGetControllerWithObjectAndMethod()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', array($this, 'controllerMethod1'));
-        $controller = $resolver->getController($request);
-        $this->assertSame(array($this, 'controllerMethod1'), $controller);
-    }
-
-    public function testGetControllerWithClassAndMethod()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', array('Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest', 'controllerMethod4'));
-        $controller = $resolver->getController($request);
-        $this->assertSame(array('Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest', 'controllerMethod4'), $controller);
-    }
-
-    public function testGetControllerWithObjectAndMethodAsString()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', 'Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest::controllerMethod1');
-        $controller = $resolver->getController($request);
-        $this->assertInstanceOf('Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest', $controller[0], '->getController() returns a PHP callable');
-    }
-
-    public function testGetControllerWithClassAndInvokeMethod()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', 'Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest');
-        $controller = $resolver->getController($request);
-        $this->assertInstanceOf('Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest', $controller);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetControllerOnObjectWithoutInvokeMethod()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', new \stdClass());
-        $resolver->getController($request);
-    }
-
-    public function testGetControllerWithFunction()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', 'Symfony\Component\HttpKernel\Tests\Controller\some_controller_function');
-        $controller = $resolver->getController($request);
-        $this->assertSame('Symfony\Component\HttpKernel\Tests\Controller\some_controller_function', $controller);
-    }
-
-    /**
-     * @dataProvider      getUndefinedControllers
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetControllerOnNonUndefinedFunction($controller)
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', $controller);
-        $resolver->getController($request);
-    }
-
-    public function getUndefinedControllers()
-    {
-        return array(
-            array('foo'),
-            array('foo::bar'),
-            array('stdClass'),
-            array('Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest::bar'),
-        );
-    }
-
-    public function testGetArguments()
-    {
-        $resolver = $this->createControllerResolver();
-
-        $request = Request::create('/');
-        $controller = array(new self(), 'testGetArguments');
-        $this->assertEquals(array(), $resolver->getArguments($request, $controller), '->getArguments() returns an empty array if the method takes no arguments');
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = array(new self(), 'controllerMethod1');
-        $this->assertEquals(array('foo'), $resolver->getArguments($request, $controller), '->getArguments() returns an array of arguments for the controller method');
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = array(new self(), 'controllerMethod2');
-        $this->assertEquals(array('foo', null), $resolver->getArguments($request, $controller), '->getArguments() uses default values if present');
-
-        $request->attributes->set('bar', 'bar');
-        $this->assertEquals(array('foo', 'bar'), $resolver->getArguments($request, $controller), '->getArguments() overrides default values if provided in the request attributes');
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = function ($foo) {};
-        $this->assertEquals(array('foo'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = function ($foo, $bar = 'bar') {};
-        $this->assertEquals(array('foo', 'bar'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = new self();
-        $this->assertEquals(array('foo', null), $resolver->getArguments($request, $controller));
-        $request->attributes->set('bar', 'bar');
-        $this->assertEquals(array('foo', 'bar'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $request->attributes->set('foobar', 'foobar');
-        $controller = 'Symfony\Component\HttpKernel\Tests\Controller\some_controller_function';
-        $this->assertEquals(array('foo', 'foobar'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $request->attributes->set('foobar', 'foobar');
-        $controller = array(new self(), 'controllerMethod3');
-
-        if (PHP_VERSION_ID === 50316) {
-            $this->markTestSkipped('PHP 5.3.16 has a major bug in the Reflection sub-system');
-        } else {
-            try {
-                $resolver->getArguments($request, $controller);
-                $this->fail('->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
-            } catch (\Exception $e) {
-                $this->assertInstanceOf('\RuntimeException', $e, '->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
-            }
-        }
-
-        $request = Request::create('/');
-        $controller = array(new self(), 'controllerMethod5');
-        $this->assertEquals(array($request), $resolver->getArguments($request, $controller), '->getArguments() injects the request');
-    }
-
-    public function testCreateControllerCanReturnAnyCallable()
-    {
-        $mock = $this->getMock('Symfony\Component\HttpKernel\Controller\ControllerResolver', array('createController'));
-        $mock->expects($this->once())->method('createController')->will($this->returnValue('Symfony\Component\HttpKernel\Tests\Controller\some_controller_function'));
-
-        $request = Request::create('/');
-        $request->attributes->set('_controller', 'foobar');
-        $mock->getController($request);
-    }
-
-    protected function createControllerResolver(LoggerInterface $logger = null)
-    {
-        return new ControllerResolver($logger);
-    }
-
-    public function __invoke($foo, $bar = null)
-    {
-    }
-
-    public function controllerMethod1($foo)
-    {
-    }
-
-    protected function controllerMethod2($foo, $bar = null)
-    {
-    }
-
-    protected function controllerMethod3($foo, $bar = null, $foobar)
-    {
-    }
-
-    protected static function controllerMethod4()
-    {
-    }
-
-    protected function controllerMethod5(Request $request)
-    {
-    }
-}
-
-function some_controller_function($foo, $foobar)
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php
deleted file mode 100644
index 0d672a1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector;
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\Config\Loader\LoaderInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ConfigDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCollect()
-    {
-        $kernel = new KernelForTest('test', true);
-        $c = new ConfigDataCollector();
-        $c->setKernel($kernel);
-        $c->collect(new Request(), new Response());
-
-        $this->assertSame('test', $c->getEnv());
-        $this->assertTrue($c->isDebug());
-        $this->assertSame('config', $c->getName());
-        $this->assertSame('testkernel', $c->getAppName());
-        $this->assertSame(PHP_VERSION, $c->getPhpVersion());
-        $this->assertSame(Kernel::VERSION, $c->getSymfonyVersion());
-        $this->assertNull($c->getToken());
-
-        // if else clause because we don't know it
-        if (extension_loaded('xdebug')) {
-            $this->assertTrue($c->hasXdebug());
-        } else {
-            $this->assertFalse($c->hasXdebug());
-        }
-
-        // if else clause because we don't know it
-        if (((extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'))
-                ||
-                (extension_loaded('apc') && ini_get('apc.enabled'))
-                ||
-                (extension_loaded('Zend OPcache') && ini_get('opcache.enable'))
-                ||
-                (extension_loaded('xcache') && ini_get('xcache.cacher'))
-                ||
-                (extension_loaded('wincache') && ini_get('wincache.ocenabled')))) {
-            $this->assertTrue($c->hasAccelerator());
-        } else {
-            $this->assertFalse($c->hasAccelerator());
-        }
-    }
-}
-
-class KernelForTest extends Kernel
-{
-    public function getName()
-    {
-        return 'testkernel';
-    }
-
-    public function registerBundles()
-    {
-    }
-
-    public function getBundles()
-    {
-        return array();
-    }
-
-    public function registerContainerConfiguration(LoaderInterface $loader)
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php
deleted file mode 100644
index dd9a134..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector;
-use Symfony\Component\VarDumper\Cloner\Data;
-
-/**
- * DumpDataCollectorTest
- *
- * @author Nicolas Grekas <p@tchwork.com>
- */
-class DumpDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testDump()
-    {
-        $data = new Data(array(array(123)));
-
-        $collector = new DumpDataCollector();
-
-        $this->assertSame('dump', $collector->getName());
-
-        $collector->dump($data);
-        $line = __LINE__ - 1;
-        $this->assertSame(1, $collector->getDumpsCount());
-
-        $dump = $collector->getDumps('html');
-        $this->assertTrue(isset($dump[0]['data']));
-        $dump[0]['data'] = preg_replace('/^.*?<pre/', '<pre', $dump[0]['data']);
-        $dump[0]['data'] = preg_replace('/sf-dump-\d+/', 'sf-dump', $dump[0]['data']);
-
-        $xDump = array(
-            array(
-                'data' => "<pre class=sf-dump id=sf-dump data-indent-pad=\"  \"><span class=sf-dump-num>123</span>\n</pre><script>Sfdump(\"sf-dump\")</script>\n",
-                'name' => 'DumpDataCollectorTest.php',
-                'file' => __FILE__,
-                'line' => $line,
-                'fileExcerpt' => false,
-            ),
-        );
-        $this->assertSame($xDump, $dump);
-
-        $this->assertStringMatchesFormat(
-            'a:1:{i:0;a:5:{s:4:"data";O:39:"Symfony\Component\VarDumper\Cloner\Data":4:{s:45:"Symfony\Component\VarDumper\Cloner\Datadata";a:1:{i:0;a:1:{i:0;i:123;}}s:49:"Symfony\Component\VarDumper\Cloner\DatamaxDepth";i:%i;s:57:"Symfony\Component\VarDumper\Cloner\DatamaxItemsPerDepth";i:%i;s:54:"Symfony\Component\VarDumper\Cloner\DatauseRefHandles";i:%i;}s:4:"name";s:25:"DumpDataCollectorTest.php";s:4:"file";s:%a',
-            str_replace("\0", '', $collector->serialize())
-        );
-
-        $this->assertSame(0, $collector->getDumpsCount());
-        $this->assertSame('a:0:{}', $collector->serialize());
-    }
-
-    public function testFlush()
-    {
-        $data = new Data(array(array(456)));
-        $collector = new DumpDataCollector();
-        $collector->dump($data);
-        $line = __LINE__ - 1;
-
-        ob_start();
-        $collector = null;
-        $this->assertSame("DumpDataCollectorTest.php on line {$line}:\n456\n", ob_get_clean());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php
deleted file mode 100644
index 6c71f4c..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\Debug\Exception\FlattenException;
-use Symfony\Component\HttpKernel\DataCollector\ExceptionDataCollector;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ExceptionDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCollect()
-    {
-        $e = new \Exception('foo', 500);
-        $c = new ExceptionDataCollector();
-        $flattened = FlattenException::create($e);
-        $trace = $flattened->getTrace();
-
-        $this->assertFalse($c->hasException());
-
-        $c->collect(new Request(), new Response(), $e);
-
-        $this->assertTrue($c->hasException());
-        $this->assertEquals($flattened, $c->getException());
-        $this->assertSame('foo', $c->getMessage());
-        $this->assertSame(500, $c->getCode());
-        $this->assertSame('exception', $c->getName());
-        $this->assertSame($trace, $c->getTrace());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
deleted file mode 100644
index 4303ab1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\LoggerDataCollector;
-
-class LoggerDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getCollectTestData
-     */
-    public function testCollect($nb, $logs, $expectedLogs, $expectedDeprecationCount, $expectedScreamCount, $expectedPriorities = null)
-    {
-        $logger = $this->getMock('Symfony\Component\HttpKernel\Log\DebugLoggerInterface');
-        $logger->expects($this->once())->method('countErrors')->will($this->returnValue($nb));
-        $logger->expects($this->exactly(2))->method('getLogs')->will($this->returnValue($logs));
-
-        $c = new LoggerDataCollector($logger);
-        $c->lateCollect();
-
-        $this->assertSame('logger', $c->getName());
-        $this->assertSame($nb, $c->countErrors());
-        $this->assertSame($expectedLogs ?: $logs, $c->getLogs());
-        $this->assertSame($expectedDeprecationCount, $c->countDeprecations());
-        $this->assertSame($expectedScreamCount, $c->countScreams());
-
-        if (isset($expectedPriorities)) {
-            $this->assertSame($expectedPriorities, $c->getPriorities());
-        }
-    }
-
-    public function getCollectTestData()
-    {
-        return array(
-            array(
-                1,
-                array(array('message' => 'foo', 'context' => array(), 'priority' => 100, 'priorityName' => 'DEBUG')),
-                null,
-                0,
-                0,
-            ),
-            array(
-                1,
-                array(array('message' => 'foo', 'context' => array('foo' => fopen(__FILE__, 'r')), 'priority' => 100, 'priorityName' => 'DEBUG')),
-                array(array('message' => 'foo', 'context' => array('foo' => 'Resource(stream)'), 'priority' => 100, 'priorityName' => 'DEBUG')),
-                0,
-                0,
-            ),
-            array(
-                1,
-                array(array('message' => 'foo', 'context' => array('foo' => new \stdClass()), 'priority' => 100, 'priorityName' => 'DEBUG')),
-                array(array('message' => 'foo', 'context' => array('foo' => 'Object(stdClass)'), 'priority' => 100, 'priorityName' => 'DEBUG')),
-                0,
-                0,
-            ),
-            array(
-                1,
-                array(
-                    array('message' => 'foo', 'context' => array('type' => E_DEPRECATED, 'level' => E_ALL), 'priority' => 100, 'priorityName' => 'DEBUG'),
-                    array('message' => 'foo2', 'context' => array('type' => E_USER_DEPRECATED, 'level' => E_ALL), 'priority' => 100, 'priorityName' => 'DEBUG'),
-                ),
-                null,
-                2,
-                0,
-                array(100 => array('count' => 2, 'name' => 'DEBUG')),
-            ),
-            array(
-                1,
-                array(array('message' => 'foo3', 'context' => array('type' => E_USER_WARNING, 'level' => 0), 'priority' => 100, 'priorityName' => 'DEBUG')),
-                array(array('message' => 'foo3', 'context' => array('type' => E_USER_WARNING, 'level' => 0, 'scream' => true), 'priority' => 100, 'priorityName' => 'DEBUG')),
-                0,
-                1,
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php
deleted file mode 100644
index 340b428..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\MemoryDataCollector;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class MemoryDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCollect()
-    {
-        $collector = new MemoryDataCollector();
-        $collector->collect(new Request(), new Response());
-
-        $this->assertInternalType('integer', $collector->getMemory());
-        $this->assertInternalType('integer', $collector->getMemoryLimit());
-        $this->assertSame('memory', $collector->getName());
-    }
-
-    /** @dataProvider getBytesConversionTestData */
-    public function testBytesConversion($limit, $bytes)
-    {
-        $collector = new MemoryDataCollector();
-        $method = new \ReflectionMethod($collector, 'convertToBytes');
-        $method->setAccessible(true);
-        $this->assertEquals($bytes, $method->invoke($collector, $limit));
-    }
-
-    public function getBytesConversionTestData()
-    {
-        return array(
-            array('2k', 2048),
-            array('2 k', 2048),
-            array('8m', 8 * 1024 * 1024),
-            array('+2 k', 2048),
-            array('+2???k', 2048),
-            array('0x10', 16),
-            array('0xf', 15),
-            array('010', 8),
-            array('+0x10 k', 16 * 1024),
-            array('1g', 1024 * 1024 * 1024),
-            array('1G', 1024 * 1024 * 1024),
-            array('-1', -1),
-            array('0', 0),
-            array('2mk', 2048), // the unit must be the last char, so in this case 'k', not 'm'
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
deleted file mode 100644
index 2eb1c41..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
+++ /dev/null
@@ -1,222 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\DataCollector\RequestDataCollector;
-use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\Cookie;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class RequestDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCollect()
-    {
-        $c = new RequestDataCollector();
-
-        $c->collect($this->createRequest(), $this->createResponse());
-
-        $attributes = $c->getRequestAttributes();
-
-        $this->assertSame('request', $c->getName());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\HeaderBag', $c->getRequestHeaders());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestServer());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestCookies());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $attributes);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestRequest());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag', $c->getRequestQuery());
-        $this->assertSame('html', $c->getFormat());
-        $this->assertSame('foobar', $c->getRoute());
-        $this->assertSame(array('name' => 'foo'), $c->getRouteParams());
-        $this->assertSame(array(), $c->getSessionAttributes());
-        $this->assertSame('en', $c->getLocale());
-        $this->assertRegExp('/Resource\(stream#\d+\)/', $attributes->get('resource'));
-        $this->assertSame('Object(stdClass)', $attributes->get('object'));
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\HeaderBag', $c->getResponseHeaders());
-        $this->assertSame('OK', $c->getStatusText());
-        $this->assertSame(200, $c->getStatusCode());
-        $this->assertSame('application/json', $c->getContentType());
-    }
-
-    /**
-     * Test various types of controller callables.
-     */
-    public function testControllerInspection()
-    {
-        // make sure we always match the line number
-        $r1 = new \ReflectionMethod($this, 'testControllerInspection');
-        $r2 = new \ReflectionMethod($this, 'staticControllerMethod');
-        $r3 = new \ReflectionClass($this);
-        // test name, callable, expected
-        $controllerTests = array(
-            array(
-                '"Regular" callable',
-                array($this, 'testControllerInspection'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'testControllerInspection',
-                    'file' => __FILE__,
-                    'line' => $r1->getStartLine(),
-                ),
-            ),
-
-            array(
-                'Closure',
-                function () { return 'foo'; },
-                array(
-                    'class' => __NAMESPACE__.'\{closure}',
-                    'method' => null,
-                    'file' => __FILE__,
-                    'line' => __LINE__ - 5,
-                ),
-            ),
-
-            array(
-                'Static callback as string',
-                'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest::staticControllerMethod',
-                'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest::staticControllerMethod',
-            ),
-
-            array(
-                'Static callable with instance',
-                array($this, 'staticControllerMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'staticControllerMethod',
-                    'file' => __FILE__,
-                    'line' => $r2->getStartLine(),
-                ),
-            ),
-
-            array(
-                'Static callable with class name',
-                array('Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest', 'staticControllerMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'staticControllerMethod',
-                    'file' => __FILE__,
-                    'line' => $r2->getStartLine(),
-                ),
-            ),
-
-            array(
-                'Callable with instance depending on __call()',
-                array($this, 'magicMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'magicMethod',
-                    'file' => 'n/a',
-                    'line' => 'n/a',
-                ),
-            ),
-
-            array(
-                'Callable with class name depending on __callStatic()',
-                array('Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest', 'magicMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'magicMethod',
-                    'file' => 'n/a',
-                    'line' => 'n/a',
-                ),
-            ),
-
-            array(
-                'Invokable controller',
-                $this,
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => null,
-                    'file' => __FILE__,
-                    'line' => $r3->getStartLine(),
-                ),
-            ),
-        );
-
-        $c = new RequestDataCollector();
-        $request = $this->createRequest();
-        $response = $this->createResponse();
-        foreach ($controllerTests as $controllerTest) {
-            $this->injectController($c, $controllerTest[1], $request);
-            $c->collect($request, $response);
-            $this->assertSame($controllerTest[2], $c->getController(), sprintf('Testing: %s', $controllerTest[0]));
-        }
-    }
-
-    protected function createRequest()
-    {
-        $request = Request::create('http://test.com/foo?bar=baz');
-        $request->attributes->set('foo', 'bar');
-        $request->attributes->set('_route', 'foobar');
-        $request->attributes->set('_route_params', array('name' => 'foo'));
-        $request->attributes->set('resource', fopen(__FILE__, 'r'));
-        $request->attributes->set('object', new \stdClass());
-
-        return $request;
-    }
-
-    protected function createResponse()
-    {
-        $response = new Response();
-        $response->setStatusCode(200);
-        $response->headers->set('Content-Type', 'application/json');
-        $response->headers->setCookie(new Cookie('foo', 'bar', 1, '/foo', 'localhost', true, true));
-        $response->headers->setCookie(new Cookie('bar', 'foo', new \DateTime('@946684800')));
-        $response->headers->setCookie(new Cookie('bazz', 'foo', '2000-12-12'));
-
-        return $response;
-    }
-
-    /**
-     * Inject the given controller callable into the data collector.
-     */
-    protected function injectController($collector, $controller, $request)
-    {
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface');
-        $httpKernel = new HttpKernel(new EventDispatcher(), $resolver);
-        $event = new FilterControllerEvent($httpKernel, $controller, $request, HttpKernelInterface::MASTER_REQUEST);
-        $collector->onKernelController($event);
-    }
-
-    /**
-     * Dummy method used as controller callable.
-     */
-    public static function staticControllerMethod()
-    {
-        throw new \LogicException('Unexpected method call');
-    }
-
-    /**
-     * Magic method to allow non existing methods to be called and delegated.
-     */
-    public function __call($method, $args)
-    {
-        throw new \LogicException('Unexpected method call');
-    }
-
-    /**
-     * Magic method to allow non existing methods to be called and delegated.
-     */
-    public static function __callStatic($method, $args)
-    {
-        throw new \LogicException('Unexpected method call');
-    }
-
-    public function __invoke()
-    {
-        throw new \LogicException('Unexpected method call');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/TimeDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/TimeDataCollectorTest.php
deleted file mode 100644
index b5d64bf..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/TimeDataCollectorTest.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\TimeDataCollector;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class TimeDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCollect()
-    {
-        $c = new TimeDataCollector();
-
-        $request = new Request();
-        $request->server->set('REQUEST_TIME', 1);
-
-        $c->collect($request, new Response());
-
-        $this->assertEquals(1000, $c->getStartTime());
-
-        $request->server->set('REQUEST_TIME_FLOAT', 2);
-
-        $c->collect($request, new Response());
-
-        $this->assertEquals(2000, $c->getStartTime());
-
-        $request = new Request();
-        $c->collect($request, new Response());
-        $this->assertEquals(0, $c->getStartTime());
-
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\KernelInterface');
-        $kernel->expects($this->once())->method('getStartTime')->will($this->returnValue(123456));
-
-        $c = new TimeDataCollector($kernel);
-        $request = new Request();
-        $request->server->set('REQUEST_TIME', 1);
-
-        $c->collect($request, new Response());
-        $this->assertEquals(123456000, $c->getStartTime());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php
deleted file mode 100644
index 8d3ddb4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector\Util;
-
-use Symfony\Component\HttpKernel\DataCollector\Util\ValueExporter;
-
-class ValueExporterTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var ValueExporter
-     */
-    private $valueExporter;
-
-    protected function setUp()
-    {
-        $this->valueExporter = new ValueExporter();
-    }
-
-    public function testDateTime()
-    {
-        $dateTime = new \DateTime('2014-06-10 07:35:40', new \DateTimeZone('UTC'));
-        $this->assertSame('Object(DateTime) - 2014-06-10T07:35:40+0000', $this->valueExporter->exportValue($dateTime));
-    }
-
-    public function testDateTimeImmutable()
-    {
-        if (!class_exists('DateTimeImmutable', false)) {
-            $this->markTestSkipped('Test skipped, class DateTimeImmutable does not exist.');
-        }
-
-        $dateTime = new \DateTimeImmutable('2014-06-10 07:35:40', new \DateTimeZone('UTC'));
-        $this->assertSame('Object(DateTimeImmutable) - 2014-06-10T07:35:40+0000', $this->valueExporter->exportValue($dateTime));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
deleted file mode 100644
index c2cafc3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Debug;
-
-use Symfony\Component\EventDispatcher\EventDispatcher;
-use Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher;
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\Stopwatch\Stopwatch;
-
-class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function testStopwatchSections()
-    {
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), $stopwatch = new Stopwatch());
-        $kernel = $this->getHttpKernel($dispatcher, function () { return new Response(); });
-        $request = Request::create('/');
-        $response = $kernel->handle($request);
-        $kernel->terminate($request, $response);
-
-        $events = $stopwatch->getSectionEvents($response->headers->get('X-Debug-Token'));
-        $this->assertEquals(array(
-            '__section__',
-            'kernel.request',
-            'kernel.controller',
-            'controller',
-            'kernel.response',
-            'kernel.terminate',
-        ), array_keys($events));
-    }
-
-    public function testStopwatchCheckControllerOnRequestEvent()
-    {
-        $stopwatch = $this->getMockBuilder('Symfony\Component\Stopwatch\Stopwatch')
-            ->setMethods(array('isStarted'))
-            ->getMock();
-        $stopwatch->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(false));
-
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), $stopwatch);
-
-        $kernel = $this->getHttpKernel($dispatcher, function () { return new Response(); });
-        $request = Request::create('/');
-        $kernel->handle($request);
-    }
-
-    public function testStopwatchStopControllerOnRequestEvent()
-    {
-        $stopwatch = $this->getMockBuilder('Symfony\Component\Stopwatch\Stopwatch')
-            ->setMethods(array('isStarted', 'stop', 'stopSection'))
-            ->getMock();
-        $stopwatch->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-        $stopwatch->expects($this->once())
-            ->method('stop');
-        $stopwatch->expects($this->once())
-            ->method('stopSection');
-
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), $stopwatch);
-
-        $kernel = $this->getHttpKernel($dispatcher, function () { return new Response(); });
-        $request = Request::create('/');
-        $kernel->handle($request);
-    }
-
-    public function testAddListenerNested()
-    {
-        $called1 = false;
-        $called2 = false;
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
-        $dispatcher->addListener('my-event', function () use ($dispatcher, &$called1, &$called2) {
-            $called1 = true;
-            $dispatcher->addListener('my-event', function () use (&$called2) {
-                $called2 = true;
-            });
-        });
-        $dispatcher->dispatch('my-event');
-        $this->assertTrue($called1);
-        $this->assertFalse($called2);
-        $dispatcher->dispatch('my-event');
-        $this->assertTrue($called2);
-    }
-
-    protected function getHttpKernel($dispatcher, $controller)
-    {
-        $resolver = $this->getMock('Symfony\Component\HttpKernel\Controller\ControllerResolverInterface');
-        $resolver->expects($this->once())->method('getController')->will($this->returnValue($controller));
-        $resolver->expects($this->once())->method('getArguments')->will($this->returnValue(array()));
-
-        return new HttpKernel($dispatcher, $resolver);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php
deleted file mode 100644
index 83182e6..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DependencyInjection;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel;
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class ContainerAwareHttpKernelTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getProviderTypes
-     */
-    public function testHandle($type)
-    {
-        $request = new Request();
-        $expected = new Response();
-        $controller = function () use ($expected) {
-            return $expected;
-        };
-
-        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
-        $this
-            ->expectsEnterScopeOnce($container)
-            ->expectsLeaveScopeOnce($container)
-            ->expectsSetRequestWithAt($container, $request, 3)
-            ->expectsSetRequestWithAt($container, null, 4)
-        ;
-
-        $dispatcher = new EventDispatcher();
-        $resolver = $this->getResolverMockFor($controller, $request);
-        $stack = new RequestStack();
-        $kernel = new ContainerAwareHttpKernel($dispatcher, $container, $resolver, $stack);
-
-        $actual = $kernel->handle($request, $type);
-
-        $this->assertSame($expected, $actual, '->handle() returns the response');
-    }
-
-    /**
-     * @dataProvider getProviderTypes
-     */
-    public function testVerifyRequestStackPushPopDuringHandle($type)
-    {
-        $request = new Request();
-        $expected = new Response();
-        $controller = function () use ($expected) {
-            return $expected;
-        };
-
-        $stack = $this->getMock('Symfony\Component\HttpFoundation\RequestStack', array('push', 'pop'));
-        $stack->expects($this->at(0))->method('push')->with($this->equalTo($request));
-        $stack->expects($this->at(1))->method('pop');
-
-        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
-        $dispatcher = new EventDispatcher();
-        $resolver = $this->getResolverMockFor($controller, $request);
-        $kernel = new ContainerAwareHttpKernel($dispatcher, $container, $resolver, $stack);
-
-        $kernel->handle($request, $type);
-    }
-
-    /**
-     * @dataProvider getProviderTypes
-     */
-    public function testHandleRestoresThePreviousRequestOnException($type)
-    {
-        $request = new Request();
-        $expected = new \Exception();
-        $controller = function () use ($expected) {
-            throw $expected;
-        };
-
-        $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
-        $this
-            ->expectsEnterScopeOnce($container)
-            ->expectsLeaveScopeOnce($container)
-            ->expectsSetRequestWithAt($container, $request, 3)
-            ->expectsSetRequestWithAt($container, null, 4)
-        ;
-
-        $dispatcher = new EventDispatcher();
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface');
-        $resolver = $this->getResolverMockFor($controller, $request);
-        $stack = new RequestStack();
-        $kernel = new ContainerAwareHttpKernel($dispatcher, $container, $resolver, $stack);
-
-        try {
-            $kernel->handle($request, $type);
-            $this->fail('->handle() suppresses the controller exception');
-        } catch (\PHPUnit_Framework_Exception $exception) {
-            throw $exception;
-        } catch (\Exception $actual) {
-            $this->assertSame($expected, $actual, '->handle() throws the controller exception');
-        }
-    }
-
-    public function getProviderTypes()
-    {
-        return array(
-            array(HttpKernelInterface::MASTER_REQUEST),
-            array(HttpKernelInterface::SUB_REQUEST),
-        );
-    }
-
-    private function getResolverMockFor($controller, $request)
-    {
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface');
-        $resolver->expects($this->once())
-            ->method('getController')
-            ->with($request)
-            ->will($this->returnValue($controller));
-        $resolver->expects($this->once())
-            ->method('getArguments')
-            ->with($request, $controller)
-            ->will($this->returnValue(array()));
-
-        return $resolver;
-    }
-
-    private function expectsSetRequestWithAt($container, $with, $at)
-    {
-        $container
-            ->expects($this->at($at))
-            ->method('set')
-            ->with($this->equalTo('request'), $this->equalTo($with), $this->equalTo('request'))
-        ;
-
-        return $this;
-    }
-
-    private function expectsEnterScopeOnce($container)
-    {
-        $container
-            ->expects($this->once())
-            ->method('enterScope')
-            ->with($this->equalTo('request'))
-        ;
-
-        return $this;
-    }
-
-    private function expectsLeaveScopeOnce($container)
-    {
-        $container
-            ->expects($this->once())
-            ->method('leaveScope')
-            ->with($this->equalTo('request'))
-        ;
-
-        return $this;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php
deleted file mode 100644
index 3426f6f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DependencyInjection;
-
-use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass;
-
-class MergeExtensionConfigurationPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAutoloadMainExtension()
-    {
-        $container = $this->getMock(
-            'Symfony\\Component\\DependencyInjection\\ContainerBuilder',
-            array('getExtensionConfig', 'loadFromExtension', 'getParameterBag')
-        );
-        $params = $this->getMock('Symfony\\Component\\DependencyInjection\\ParameterBag\\ParameterBag');
-
-        $container->expects($this->at(0))
-            ->method('getExtensionConfig')
-            ->with('loaded')
-            ->will($this->returnValue(array(array())));
-        $container->expects($this->at(1))
-            ->method('getExtensionConfig')
-            ->with('notloaded')
-            ->will($this->returnValue(array()));
-        $container->expects($this->once())
-            ->method('loadFromExtension')
-            ->with('notloaded', array());
-
-        $container->expects($this->any())
-            ->method('getParameterBag')
-            ->will($this->returnValue($params));
-        $params->expects($this->any())
-            ->method('all')
-            ->will($this->returnValue(array()));
-        $container->expects($this->any())
-            ->method('getDefinitions')
-            ->will($this->returnValue(array()));
-        $container->expects($this->any())
-            ->method('getAliases')
-            ->will($this->returnValue(array()));
-        $container->expects($this->any())
-            ->method('getExtensions')
-            ->will($this->returnValue(array()));
-
-        $configPass = new MergeExtensionConfigurationPass(array('loaded', 'notloaded'));
-        $configPass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php
deleted file mode 100644
index 26bdf70..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\KernelEvents;
-
-/**
- * Test AddRequestFormatsListener class
- *
- * @author Gildas Quemener <gildas.quemener@gmail.com>
- */
-class AddRequestFormatsListenerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var AddRequestFormatsListener
-     */
-    private $listener;
-
-    protected function setUp()
-    {
-        $this->listener = new AddRequestFormatsListener(array('csv' => array('text/csv', 'text/plain')));
-    }
-
-    protected function tearDown()
-    {
-        $this->listener = null;
-    }
-
-    public function testIsAnEventSubscriber()
-    {
-        $this->assertInstanceOf('Symfony\Component\EventDispatcher\EventSubscriberInterface', $this->listener);
-    }
-
-    public function testRegisteredEvent()
-    {
-        $this->assertEquals(
-            array(KernelEvents::REQUEST => 'onKernelRequest'),
-            AddRequestFormatsListener::getSubscribedEvents()
-        );
-    }
-
-    public function testSetAdditionalFormats()
-    {
-        $request = $this->getRequestMock();
-        $event = $this->getGetResponseEventMock($request);
-
-        $request->expects($this->once())
-            ->method('setFormat')
-            ->with('csv', array('text/csv', 'text/plain'));
-
-        $this->listener->onKernelRequest($event);
-    }
-
-    protected function getRequestMock()
-    {
-        return $this->getMock('Symfony\Component\HttpFoundation\Request');
-    }
-
-    protected function getGetResponseEventMock(Request $request)
-    {
-        $event = $this
-            ->getMockBuilder('Symfony\Component\HttpKernel\Event\GetResponseEvent')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $event->expects($this->any())
-            ->method('getRequest')
-            ->will($this->returnValue($request));
-
-        return $event;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DebugHandlersListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DebugHandlersListenerTest.php
deleted file mode 100644
index f3cd05e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DebugHandlersListenerTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Psr\Log\LogLevel;
-use Symfony\Component\Console\Event\ConsoleEvent;
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\ConsoleEvents;
-use Symfony\Component\Console\Helper\HelperSet;
-use Symfony\Component\Console\Input\ArgvInput;
-use Symfony\Component\Console\Output\ConsoleOutput;
-use Symfony\Component\Debug\ErrorHandler;
-use Symfony\Component\Debug\ExceptionHandler;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-use Symfony\Component\HttpKernel\EventListener\DebugHandlersListener;
-use Symfony\Component\HttpKernel\KernelEvents;
-
-/**
- * DebugHandlersListenerTest
- *
- * @author Nicolas Grekas <p@tchwork.com>
- */
-class DebugHandlersListenerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConfigure()
-    {
-        $logger = $this->getMock('Psr\Log\LoggerInterface');
-        $userHandler = function () {};
-        $listener = new DebugHandlersListener($userHandler, $logger);
-        $xHandler = new ExceptionHandler();
-        $eHandler = new ErrorHandler();
-        $eHandler->setExceptionHandler(array($xHandler, 'handle'));
-
-        $exception = null;
-        set_error_handler(array($eHandler, 'handleError'));
-        set_exception_handler(array($eHandler, 'handleException'));
-        try {
-            $listener->configure();
-        } catch (\Exception $exception) {
-        }
-        restore_exception_handler();
-        restore_error_handler();
-
-        if (null !== $exception) {
-            throw $exception;
-        }
-
-        $this->assertSame($userHandler, $xHandler->setHandler('var_dump'));
-
-        $loggers = $eHandler->setLoggers(array());
-
-        $this->assertArrayHasKey(E_DEPRECATED, $loggers);
-        $this->assertSame(array($logger, LogLevel::INFO), $loggers[E_DEPRECATED]);
-    }
-
-    public function testConsoleEvent()
-    {
-        $dispatcher = new EventDispatcher();
-        $listener = new DebugHandlersListener(null);
-        $app = $this->getMock('Symfony\Component\Console\Application');
-        $app->expects($this->once())->method('getHelperSet')->will($this->returnValue(new HelperSet()));
-        $command = new Command(__FUNCTION__);
-        $command->setApplication($app);
-        $event = new ConsoleEvent($command, new ArgvInput(), new ConsoleOutput());
-
-        $dispatcher->addSubscriber($listener);
-
-        $xListeners = array(
-            KernelEvents::REQUEST => array(array($listener, 'configure')),
-            ConsoleEvents::COMMAND => array(array($listener, 'configure')),
-        );
-        $this->assertSame($xListeners, $dispatcher->getListeners());
-
-        $exception = null;
-        $eHandler = new ErrorHandler();
-        set_error_handler(array($eHandler, 'handleError'));
-        set_exception_handler(array($eHandler, 'handleException'));
-        try {
-            $dispatcher->dispatch(ConsoleEvents::COMMAND, $event);
-        } catch (\Exception $exception) {
-        }
-        restore_exception_handler();
-        restore_error_handler();
-
-        if (null !== $exception) {
-            throw $exception;
-        }
-
-        $xHandler = $eHandler->setExceptionHandler('var_dump');
-        $this->assertInstanceOf('Closure', $xHandler);
-
-        $app->expects($this->once())
-            ->method('renderException');
-
-        $xHandler(new \Exception());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php
deleted file mode 100644
index a9b715b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\EventListener\DumpListener;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\VarDumper\Cloner\ClonerInterface;
-use Symfony\Component\VarDumper\Cloner\Data;
-use Symfony\Component\VarDumper\Dumper\DataDumperInterface;
-use Symfony\Component\VarDumper\VarDumper;
-
-/**
- * DumpListenerTest
- *
- * @author Nicolas Grekas <p@tchwork.com>
- */
-class DumpListenerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSubscribedEvents()
-    {
-        $this->assertSame(
-            array(KernelEvents::REQUEST => array('configure', 1024)),
-            DumpListener::getSubscribedEvents()
-        );
-    }
-
-    public function testConfigure()
-    {
-        $prevDumper = VarDumper::setHandler('var_dump');
-        VarDumper::setHandler($prevDumper);
-
-        $cloner = new MockCloner();
-        $dumper = new MockDumper();
-
-        ob_start();
-        $exception = null;
-        $listener = new DumpListener($cloner, $dumper);
-
-        try {
-            $listener->configure();
-
-            VarDumper::dump('foo');
-            VarDumper::dump('bar');
-
-            $this->assertSame('+foo-+bar-', ob_get_clean());
-        } catch (\Exception $exception) {
-        }
-
-        VarDumper::setHandler($prevDumper);
-
-        if (null !== $exception) {
-            throw $exception;
-        }
-    }
-}
-
-class MockCloner implements ClonerInterface
-{
-    public function cloneVar($var)
-    {
-        return new Data(array($var.'-'));
-    }
-}
-
-class MockDumper implements DataDumperInterface
-{
-    public function dump(Data $data)
-    {
-        $rawData = $data->getRawData();
-
-        echo '+'.$rawData[0];
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php
deleted file mode 100644
index 86244df..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\EventListener\ExceptionListener;
-use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Tests\Logger;
-
-/**
- * ExceptionListenerTest.
- *
- * @author Robert Schönthal <seroscho@googlemail.com>
- */
-class ExceptionListenerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstruct()
-    {
-        $logger = new TestLogger();
-        $l = new ExceptionListener('foo', $logger);
-
-        $_logger = new \ReflectionProperty(get_class($l), 'logger');
-        $_logger->setAccessible(true);
-        $_controller = new \ReflectionProperty(get_class($l), 'controller');
-        $_controller->setAccessible(true);
-
-        $this->assertSame($logger, $_logger->getValue($l));
-        $this->assertSame('foo', $_controller->getValue($l));
-    }
-
-    /**
-     * @dataProvider provider
-     */
-    public function testHandleWithoutLogger($event, $event2)
-    {
-        $this->iniSet('error_log', file_exists('/dev/null') ? '/dev/null' : 'nul');
-
-        $l = new ExceptionListener('foo');
-        $l->onKernelException($event);
-
-        $this->assertEquals(new Response('foo'), $event->getResponse());
-
-        try {
-            $l->onKernelException($event2);
-            $this->fail('RuntimeException expected');
-        } catch (\RuntimeException $e) {
-            $this->assertSame('bar', $e->getMessage());
-        }
-    }
-
-    /**
-     * @dataProvider provider
-     */
-    public function testHandleWithLogger($event, $event2)
-    {
-        $logger = new TestLogger();
-
-        $l = new ExceptionListener('foo', $logger);
-        $l->onKernelException($event);
-
-        $this->assertEquals(new Response('foo'), $event->getResponse());
-
-        try {
-            $l->onKernelException($event2);
-            $this->fail('RuntimeException expected');
-        } catch (\RuntimeException $e) {
-            $this->assertSame('bar', $e->getMessage());
-        }
-
-        $this->assertEquals(3, $logger->countErrors());
-        $this->assertCount(3, $logger->getLogs('critical'));
-    }
-
-    public function provider()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            return array(array(null, null));
-        }
-
-        $request = new Request();
-        $exception = new \Exception('foo');
-        $event = new GetResponseForExceptionEvent(new TestKernel(), $request, 'foo', $exception);
-        $event2 = new GetResponseForExceptionEvent(new TestKernelThatThrowsException(), $request, 'foo', $exception);
-
-        return array(
-            array($event, $event2),
-        );
-    }
-
-    public function testSubRequestFormat()
-    {
-        $listener = new ExceptionListener('foo', $this->getMock('Psr\Log\LoggerInterface'));
-
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $kernel->expects($this->once())->method('handle')->will($this->returnCallback(function (Request $request) {
-            return new Response($request->getRequestFormat());
-        }));
-
-        $request = Request::create('/');
-        $request->setRequestFormat('xml');
-
-        $event = new GetResponseForExceptionEvent($kernel, $request, 'foo', new \Exception('foo'));
-        $listener->onKernelException($event);
-
-        $response = $event->getResponse();
-        $this->assertEquals('xml', $response->getContent());
-    }
-}
-
-class TestLogger extends Logger implements DebugLoggerInterface
-{
-    public function countErrors()
-    {
-        return count($this->logs['critical']);
-    }
-}
-
-class TestKernel implements HttpKernelInterface
-{
-    public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true)
-    {
-        return new Response('foo');
-    }
-}
-
-class TestKernelThatThrowsException implements HttpKernelInterface
-{
-    public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true)
-    {
-        throw new \RuntimeException('bar');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/FragmentListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/FragmentListenerTest.php
deleted file mode 100644
index 7ddb2fb..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/FragmentListenerTest.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\EventListener\FragmentListener;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\UriSigner;
-
-class FragmentListenerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testOnlyTriggeredOnFragmentRoute()
-    {
-        $request = Request::create('http://example.com/foo?_path=foo%3Dbar%26_controller%3Dfoo');
-
-        $listener = new FragmentListener(new UriSigner('foo'));
-        $event = $this->createGetResponseEvent($request);
-
-        $expected = $request->attributes->all();
-
-        $listener->onKernelRequest($event);
-
-        $this->assertEquals($expected, $request->attributes->all());
-        $this->assertTrue($request->query->has('_path'));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException
-     */
-    public function testAccessDeniedWithNonSafeMethods()
-    {
-        $request = Request::create('http://example.com/_fragment', 'POST');
-
-        $listener = new FragmentListener(new UriSigner('foo'));
-        $event = $this->createGetResponseEvent($request);
-
-        $listener->onKernelRequest($event);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException
-     */
-    public function testAccessDeniedWithWrongSignature()
-    {
-        $request = Request::create('http://example.com/_fragment', 'GET', array(), array(), array(), array('REMOTE_ADDR' => '10.0.0.1'));
-
-        $listener = new FragmentListener(new UriSigner('foo'));
-        $event = $this->createGetResponseEvent($request);
-
-        $listener->onKernelRequest($event);
-    }
-
-    public function testWithSignature()
-    {
-        $signer = new UriSigner('foo');
-        $request = Request::create($signer->sign('http://example.com/_fragment?_path=foo%3Dbar%26_controller%3Dfoo'), 'GET', array(), array(), array(), array('REMOTE_ADDR' => '10.0.0.1'));
-
-        $listener = new FragmentListener($signer);
-        $event = $this->createGetResponseEvent($request);
-
-        $listener->onKernelRequest($event);
-
-        $this->assertEquals(array('foo' => 'bar', '_controller' => 'foo'), $request->attributes->get('_route_params'));
-        $this->assertFalse($request->query->has('_path'));
-    }
-
-    private function createGetResponseEvent(Request $request)
-    {
-        return new GetResponseEvent($this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, HttpKernelInterface::MASTER_REQUEST);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php
deleted file mode 100644
index ecc4eb0..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\EventListener\LocaleListener;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-
-class LocaleListenerTest extends \PHPUnit_Framework_TestCase
-{
-    private $requestStack;
-
-    protected function setUp()
-    {
-        $this->requestStack = $this->getMock('Symfony\Component\HttpFoundation\RequestStack', array(), array(), '', false);
-    }
-
-    public function testDefaultLocaleWithoutSession()
-    {
-        $listener = new LocaleListener('fr', null, $this->requestStack);
-        $event = $this->getEvent($request = Request::create('/'));
-
-        $listener->onKernelRequest($event);
-        $this->assertEquals('fr', $request->getLocale());
-    }
-
-    public function testLocaleFromRequestAttribute()
-    {
-        $request = Request::create('/');
-        session_name('foo');
-        $request->cookies->set('foo', 'value');
-
-        $request->attributes->set('_locale', 'es');
-        $listener = new LocaleListener('fr', null, $this->requestStack);
-        $event = $this->getEvent($request);
-
-        $listener->onKernelRequest($event);
-        $this->assertEquals('es', $request->getLocale());
-    }
-
-    public function testLocaleSetForRoutingContext()
-    {
-        // the request context is updated
-        $context = $this->getMock('Symfony\Component\Routing\RequestContext');
-        $context->expects($this->once())->method('setParameter')->with('_locale', 'es');
-
-        $router = $this->getMock('Symfony\Component\Routing\Router', array('getContext'), array(), '', false);
-        $router->expects($this->once())->method('getContext')->will($this->returnValue($context));
-
-        $request = Request::create('/');
-
-        $request->attributes->set('_locale', 'es');
-        $listener = new LocaleListener('fr', $router, $this->requestStack);
-        $listener->onKernelRequest($this->getEvent($request));
-    }
-
-    public function testRouterResetWithParentRequestOnKernelFinishRequest()
-    {
-        // the request context is updated
-        $context = $this->getMock('Symfony\Component\Routing\RequestContext');
-        $context->expects($this->once())->method('setParameter')->with('_locale', 'es');
-
-        $router = $this->getMock('Symfony\Component\Routing\Router', array('getContext'), array(), '', false);
-        $router->expects($this->once())->method('getContext')->will($this->returnValue($context));
-
-        $parentRequest = Request::create('/');
-        $parentRequest->setLocale('es');
-
-        $this->requestStack->expects($this->once())->method('getParentRequest')->will($this->returnValue($parentRequest));
-
-        $event = $this->getMock('Symfony\Component\HttpKernel\Event\FinishRequestEvent', array(), array(), '', false);
-
-        $listener = new LocaleListener('fr', $router, $this->requestStack);
-        $listener->onKernelFinishRequest($event);
-    }
-
-    public function testRequestLocaleIsNotOverridden()
-    {
-        $request = Request::create('/');
-        $request->setLocale('de');
-        $listener = new LocaleListener('fr', null, $this->requestStack);
-        $event = $this->getEvent($request);
-
-        $listener->onKernelRequest($event);
-        $this->assertEquals('de', $request->getLocale());
-    }
-
-    private function getEvent(Request $request)
-    {
-        return new GetResponseEvent($this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, HttpKernelInterface::MASTER_REQUEST);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php
deleted file mode 100644
index 605ea9d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpKernel\EventListener\ProfilerListener;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
-use Symfony\Component\HttpKernel\Event\PostResponseEvent;
-use Symfony\Component\HttpKernel\Exception\HttpException;
-use Symfony\Component\HttpKernel\Kernel;
-
-class ProfilerListenerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test to ensure BC without RequestStack
-     *
-     * @group legacy
-     */
-    public function testLegacyEventsWithoutRequestStack()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $profile = $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profile')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $profiler = $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profiler')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $profiler->expects($this->once())
-            ->method('collect')
-            ->will($this->returnValue($profile));
-
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-
-        $request = $this->getMockBuilder('Symfony\Component\HttpFoundation\Request')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $response = $this->getMockBuilder('Symfony\Component\HttpFoundation\Response')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $listener = new ProfilerListener($profiler);
-        $listener->onKernelRequest(new GetResponseEvent($kernel, $request, Kernel::MASTER_REQUEST));
-        $listener->onKernelResponse(new FilterResponseEvent($kernel, $request, Kernel::MASTER_REQUEST, $response));
-        $listener->onKernelTerminate(new PostResponseEvent($kernel, $request, $response));
-    }
-
-    /**
-     * Test a master and sub request with an exception and `onlyException` profiler option enabled.
-     */
-    public function testKernelTerminate()
-    {
-        $profile = $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profile')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $profiler = $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profiler')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $profiler->expects($this->once())
-            ->method('collect')
-            ->will($this->returnValue($profile));
-
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-
-        $masterRequest = $this->getMockBuilder('Symfony\Component\HttpFoundation\Request')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $subRequest =  $this->getMockBuilder('Symfony\Component\HttpFoundation\Request')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $response = $this->getMockBuilder('Symfony\Component\HttpFoundation\Response')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $requestStack = new RequestStack();
-        $requestStack->push($masterRequest);
-
-        $onlyException = true;
-        $listener = new ProfilerListener($profiler, null, $onlyException, false, $requestStack);
-
-        // master request
-        $listener->onKernelResponse(new FilterResponseEvent($kernel, $masterRequest, Kernel::MASTER_REQUEST, $response));
-
-        // sub request
-        $listener->onKernelException(new GetResponseForExceptionEvent($kernel, $subRequest, Kernel::SUB_REQUEST, new HttpException(404)));
-        $listener->onKernelResponse(new FilterResponseEvent($kernel, $subRequest, Kernel::SUB_REQUEST, $response));
-
-        $listener->onKernelTerminate(new PostResponseEvent($kernel, $masterRequest, $response));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php
deleted file mode 100644
index 821688e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\EventListener\ResponseListener;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class ResponseListenerTest extends \PHPUnit_Framework_TestCase
-{
-    private $dispatcher;
-
-    private $kernel;
-
-    protected function setUp()
-    {
-        $this->dispatcher = new EventDispatcher();
-        $listener = new ResponseListener('UTF-8');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-
-        $this->kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-    }
-
-    protected function tearDown()
-    {
-        $this->dispatcher = null;
-        $this->kernel = null;
-    }
-
-    public function testFilterDoesNothingForSubRequests()
-    {
-        $response = new Response('foo');
-
-        $event = new FilterResponseEvent($this->kernel, new Request(), HttpKernelInterface::SUB_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('', $event->getResponse()->headers->get('content-type'));
-    }
-
-    public function testFilterSetsNonDefaultCharsetIfNotOverridden()
-    {
-        $listener = new ResponseListener('ISO-8859-15');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'), 1);
-
-        $response = new Response('foo');
-
-        $event = new FilterResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('ISO-8859-15', $response->getCharset());
-    }
-
-    public function testFilterDoesNothingIfCharsetIsOverridden()
-    {
-        $listener = new ResponseListener('ISO-8859-15');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'), 1);
-
-        $response = new Response('foo');
-        $response->setCharset('ISO-8859-1');
-
-        $event = new FilterResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('ISO-8859-1', $response->getCharset());
-    }
-
-    public function testFiltersSetsNonDefaultCharsetIfNotOverriddenOnNonTextContentType()
-    {
-        $listener = new ResponseListener('ISO-8859-15');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'), 1);
-
-        $response = new Response('foo');
-        $request = Request::create('/');
-        $request->setRequestFormat('application/json');
-
-        $event = new FilterResponseEvent($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('ISO-8859-15', $response->getCharset());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php
deleted file mode 100644
index d6e5b45b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpFoundation\RequestStack;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\EventListener\RouterListener;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\Routing\RequestContext;
-
-class RouterListenerTest extends \PHPUnit_Framework_TestCase
-{
-    private $requestStack;
-
-    protected function setUp()
-    {
-        $this->requestStack = $this->getMock('Symfony\Component\HttpFoundation\RequestStack', array(), array(), '', false);
-    }
-
-    /**
-     * @dataProvider getPortData
-     */
-    public function testPort($defaultHttpPort, $defaultHttpsPort, $uri, $expectedHttpPort, $expectedHttpsPort)
-    {
-        $urlMatcher = $this->getMockBuilder('Symfony\Component\Routing\Matcher\UrlMatcherInterface')
-                             ->disableOriginalConstructor()
-                             ->getMock();
-        $context = new RequestContext();
-        $context->setHttpPort($defaultHttpPort);
-        $context->setHttpsPort($defaultHttpsPort);
-        $urlMatcher->expects($this->any())
-                     ->method('getContext')
-                     ->will($this->returnValue($context));
-
-        $listener = new RouterListener($urlMatcher, null, null, $this->requestStack);
-        $event = $this->createGetResponseEventForUri($uri);
-        $listener->onKernelRequest($event);
-
-        $this->assertEquals($expectedHttpPort, $context->getHttpPort());
-        $this->assertEquals($expectedHttpsPort, $context->getHttpsPort());
-        $this->assertEquals(0 === strpos($uri, 'https') ? 'https' : 'http', $context->getScheme());
-    }
-
-    public function getPortData()
-    {
-        return array(
-            array(80, 443, 'http://localhost/', 80, 443),
-            array(80, 443, 'http://localhost:90/', 90, 443),
-            array(80, 443, 'https://localhost/', 80, 443),
-            array(80, 443, 'https://localhost:90/', 80, 90),
-        );
-    }
-
-    /**
-     * @param string $uri
-     *
-     * @return GetResponseEvent
-     */
-    private function createGetResponseEventForUri($uri)
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create($uri);
-        $request->attributes->set('_controller', null); // Prevents going in to routing process
-
-        return new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testInvalidMatcher()
-    {
-        new RouterListener(new \stdClass(), null, null, $this->requestStack);
-    }
-
-    public function testRequestMatcher()
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create('http://localhost/');
-        $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
-
-        $requestMatcher = $this->getMock('Symfony\Component\Routing\Matcher\RequestMatcherInterface');
-        $requestMatcher->expects($this->once())
-                       ->method('matchRequest')
-                       ->with($this->isInstanceOf('Symfony\Component\HttpFoundation\Request'))
-                       ->will($this->returnValue(array()));
-
-        $listener = new RouterListener($requestMatcher, new RequestContext(), null, $this->requestStack);
-        $listener->onKernelRequest($event);
-    }
-
-    public function testSubRequestWithDifferentMethod()
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create('http://localhost/', 'post');
-        $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
-
-        $requestMatcher = $this->getMock('Symfony\Component\Routing\Matcher\RequestMatcherInterface');
-        $requestMatcher->expects($this->any())
-                       ->method('matchRequest')
-                       ->with($this->isInstanceOf('Symfony\Component\HttpFoundation\Request'))
-                       ->will($this->returnValue(array()));
-
-        $context = new RequestContext();
-        $requestMatcher->expects($this->any())
-                       ->method('getContext')
-                       ->will($this->returnValue($context));
-
-        $listener = new RouterListener($requestMatcher, new RequestContext(), null, $this->requestStack);
-        $listener->onKernelRequest($event);
-
-        // sub-request with another HTTP method
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create('http://localhost/', 'get');
-        $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::SUB_REQUEST);
-
-        $listener->onKernelRequest($event);
-
-        $this->assertEquals('GET', $context->getMethod());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php
deleted file mode 100644
index 1a0acf9..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\HttpCache\Esi;
-use Symfony\Component\HttpKernel\EventListener\SurrogateListener;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class SurrogateListenerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testFilterDoesNothingForSubRequests()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $response = new Response('foo <esi:include src="" />');
-        $listener = new SurrogateListener(new Esi());
-
-        $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-        $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::SUB_REQUEST, $response);
-        $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));
-    }
-
-    public function testFilterWhenThereIsSomeEsiIncludes()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $response = new Response('foo <esi:include src="" />');
-        $listener = new SurrogateListener(new Esi());
-
-        $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-        $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
-        $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('content="ESI/1.0"', $event->getResponse()->headers->get('Surrogate-Control'));
-    }
-
-    public function testFilterWhenThereIsNoEsiIncludes()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $response = new Response('foo');
-        $listener = new SurrogateListener(new Esi());
-
-        $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-        $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
-        $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php
deleted file mode 100644
index cbaaf5f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpFoundation\Session\SessionInterface;
-
-/**
- * SessionListenerTest.
- *
- * Tests SessionListener.
- *
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- */
-class TestSessionListenerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var TestSessionListener
-     */
-    private $listener;
-
-    /**
-     * @var SessionInterface
-     */
-    private $session;
-
-    protected function setUp()
-    {
-        $this->listener = $this->getMockForAbstractClass('Symfony\Component\HttpKernel\EventListener\TestSessionListener');
-        $this->session = $this->getSession();
-    }
-
-    public function testShouldSaveMasterRequestSession()
-    {
-        $this->sessionHasBeenStarted();
-        $this->sessionMustBeSaved();
-
-        $this->filterResponse(new Request());
-    }
-
-    public function testShouldNotSaveSubRequestSession()
-    {
-        $this->sessionMustNotBeSaved();
-
-        $this->filterResponse(new Request(), HttpKernelInterface::SUB_REQUEST);
-    }
-
-    public function testDoesNotDeleteCookieIfUsingSessionLifetime()
-    {
-        $this->sessionHasBeenStarted();
-
-        $params = session_get_cookie_params();
-        session_set_cookie_params(0, $params['path'], $params['domain'], $params['secure'], $params['httponly']);
-
-        $response = $this->filterResponse(new Request(), HttpKernelInterface::MASTER_REQUEST);
-        $cookies = $response->headers->getCookies();
-
-        $this->assertEquals(0, reset($cookies)->getExpiresTime());
-    }
-
-    public function testUnstartedSessionIsNotSave()
-    {
-        $this->sessionHasNotBeenStarted();
-        $this->sessionMustNotBeSaved();
-
-        $this->filterResponse(new Request());
-    }
-
-    private function filterResponse(Request $request, $type = HttpKernelInterface::MASTER_REQUEST)
-    {
-        $request->setSession($this->session);
-        $response = new Response();
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $event = new FilterResponseEvent($kernel, $request, $type, $response);
-
-        $this->listener->onKernelResponse($event);
-
-        $this->assertSame($response, $event->getResponse());
-
-        return $response;
-    }
-
-    private function sessionMustNotBeSaved()
-    {
-        $this->session->expects($this->never())
-            ->method('save');
-    }
-
-    private function sessionMustBeSaved()
-    {
-        $this->session->expects($this->once())
-            ->method('save');
-    }
-
-    private function sessionHasBeenStarted()
-    {
-        $this->session->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-    }
-
-    private function sessionHasNotBeenStarted()
-    {
-        $this->session->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(false));
-    }
-
-    private function getSession()
-    {
-        $mock = $this->getMockBuilder('Symfony\Component\HttpFoundation\Session\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        // set return value for getName()
-        $mock->expects($this->any())->method('getName')->will($this->returnValue('MOCKSESSID'));
-
-        return $mock;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TranslatorListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TranslatorListenerTest.php
deleted file mode 100644
index c37d647..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TranslatorListenerTest.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\HttpKernel\EventListener\TranslatorListener;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-
-class TranslatorListenerTest extends \PHPUnit_Framework_TestCase
-{
-    private $listener;
-    private $translator;
-    private $requestStack;
-
-    protected function setUp()
-    {
-        $this->translator = $this->getMock('Symfony\Component\Translation\TranslatorInterface');
-        $this->requestStack = $this->getMock('Symfony\Component\HttpFoundation\RequestStack');
-        $this->listener = new TranslatorListener($this->translator, $this->requestStack);
-    }
-
-    public function testLocaleIsSetInOnKernelRequest()
-    {
-        $this->translator
-            ->expects($this->once())
-            ->method('setLocale')
-            ->with($this->equalTo('fr'));
-
-        $event = new GetResponseEvent($this->createHttpKernel(), $this->createRequest('fr'), HttpKernelInterface::MASTER_REQUEST);
-        $this->listener->onKernelRequest($event);
-    }
-
-    public function testDefaultLocaleIsUsedOnExceptionsInOnKernelRequest()
-    {
-        $this->translator
-            ->expects($this->at(0))
-            ->method('setLocale')
-            ->will($this->throwException(new \InvalidArgumentException()));
-        $this->translator
-            ->expects($this->at(1))
-            ->method('setLocale')
-            ->with($this->equalTo('en'));
-
-        $event = new GetResponseEvent($this->createHttpKernel(), $this->createRequest('fr'), HttpKernelInterface::MASTER_REQUEST);
-        $this->listener->onKernelRequest($event);
-    }
-
-    public function testLocaleIsSetInOnKernelFinishRequestWhenParentRequestExists()
-    {
-        $this->translator
-            ->expects($this->once())
-            ->method('setLocale')
-            ->with($this->equalTo('fr'));
-
-        $this->setMasterRequest($this->createRequest('fr'));
-        $event = new FinishRequestEvent($this->createHttpKernel(), $this->createRequest('de'), HttpKernelInterface::SUB_REQUEST);
-        $this->listener->onKernelFinishRequest($event);
-    }
-
-    public function testLocaleIsNotSetInOnKernelFinishRequestWhenParentRequestDoesNotExist()
-    {
-        $this->translator
-            ->expects($this->never())
-            ->method('setLocale');
-
-        $event = new FinishRequestEvent($this->createHttpKernel(), $this->createRequest('de'), HttpKernelInterface::SUB_REQUEST);
-        $this->listener->onKernelFinishRequest($event);
-    }
-
-    public function testDefaultLocaleIsUsedOnExceptionsInOnKernelFinishRequest()
-    {
-        $this->translator
-            ->expects($this->at(0))
-            ->method('setLocale')
-            ->will($this->throwException(new \InvalidArgumentException()));
-        $this->translator
-            ->expects($this->at(1))
-            ->method('setLocale')
-            ->with($this->equalTo('en'));
-
-        $this->setMasterRequest($this->createRequest('fr'));
-        $event = new FinishRequestEvent($this->createHttpKernel(), $this->createRequest('de'), HttpKernelInterface::SUB_REQUEST);
-        $this->listener->onKernelFinishRequest($event);
-    }
-
-    private function createHttpKernel()
-    {
-        return $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-    }
-
-    private function createRequest($locale)
-    {
-        $request = new Request();
-        $request->setLocale($locale);
-
-        return $request;
-    }
-
-    private function setMasterRequest($request)
-    {
-        $this->requestStack
-            ->expects($this->any())
-            ->method('getParentRequest')
-            ->will($this->returnValue($request));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/hide.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/hide.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/bar.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/bar.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle2Bundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle2Bundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/hide.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/hide.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php
deleted file mode 100644
index c8bfd36..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionAbsentBundle;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class ExtensionAbsentBundle extends Bundle
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php
deleted file mode 100644
index 3b31781..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionLoadedBundle\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\HttpKernel\DependencyInjection\Extension;
-
-class ExtensionLoadedExtension extends Extension
-{
-    public function load(array $configs, ContainerBuilder $container)
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php
deleted file mode 100644
index 3af81cb..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionLoadedBundle;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class ExtensionLoadedBundle extends Bundle
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php
deleted file mode 100644
index f3fd14b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command;
-
-use Symfony\Component\Console\Command\Command;
-use Symfony\Component\HttpKernel\Bundle;
-
-/**
- * This command has a required parameter on the constructor and will be ignored by the default Bundle implementation.
- *
- * @see Bundle::registerCommands()
- */
-class BarCommand extends Command
-{
-    public function __construct($example, $name = 'bar')
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php
deleted file mode 100644
index c6570aa..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command;
-
-use Symfony\Component\Console\Command\Command;
-
-class FooCommand extends Command
-{
-    protected function configure()
-    {
-        $this->setName('foo');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php
deleted file mode 100644
index e42f816..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\HttpKernel\DependencyInjection\Extension;
-
-class ExtensionPresentExtension extends Extension
-{
-    public function load(array $configs, ContainerBuilder $container)
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php
deleted file mode 100644
index 36a7ad4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class ExtensionPresentBundle extends Bundle
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php
deleted file mode 100644
index f940f83..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class FooBarBundle extends Bundle
-{
-    // We need a full namespaced bundle instance to test isClassInActiveBundle
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php
deleted file mode 100644
index a1102ab..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\Config\Loader\LoaderInterface;
-
-class KernelForOverrideName extends Kernel
-{
-    protected $name = 'overridden';
-
-    public function registerBundles()
-    {
-    }
-
-    public function registerContainerConfiguration(LoaderInterface $loader)
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php
deleted file mode 100644
index 5fd61bb..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\Config\Loader\LoaderInterface;
-
-class KernelForTest extends Kernel
-{
-    public function getBundleMap()
-    {
-        return $this->bundleMap;
-    }
-
-    public function registerBundles()
-    {
-        return array();
-    }
-
-    public function registerContainerConfiguration(LoaderInterface $loader)
-    {
-    }
-
-    public function isBooted()
-    {
-        return $this->booted;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/BaseBundle/hide.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/BaseBundle/hide.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/ChildBundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/ChildBundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/FooBundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/FooBundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php
deleted file mode 100644
index e7d60cf..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Client;
-
-class TestClient extends Client
-{
-    protected function getScript($request)
-    {
-        $script = parent::getScript($request);
-
-        $autoload = file_exists(__DIR__.'/../../vendor/autoload.php')
-            ? __DIR__.'/../../vendor/autoload.php'
-            : __DIR__.'/../../../../../../vendor/autoload.php'
-        ;
-
-        $script = preg_replace('/(\->register\(\);)/', "$0\nrequire_once '$autoload';\n", $script);
-
-        return $script;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php
deleted file mode 100644
index da7ef5b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestEventDispatcher extends EventDispatcher implements TraceableEventDispatcherInterface
-{
-    public function getCalledListeners()
-    {
-        return array('foo');
-    }
-
-    public function getNotCalledListeners()
-    {
-        return array('bar');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/EsiFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/EsiFragmentRendererTest.php
deleted file mode 100644
index 90768f9..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/EsiFragmentRendererTest.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fragment;
-
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpKernel\Fragment\EsiFragmentRenderer;
-use Symfony\Component\HttpKernel\HttpCache\Esi;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\UriSigner;
-
-class EsiFragmentRendererTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRenderFallbackToInlineStrategyIfNoRequest()
-    {
-        $strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy(true));
-        $strategy->render('/', Request::create('/'));
-    }
-
-    public function testRenderFallbackToInlineStrategyIfEsiNotSupported()
-    {
-        $strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy(true));
-        $strategy->render('/', Request::create('/'));
-    }
-
-    public function testRender()
-    {
-        $strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy());
-
-        $request = Request::create('/');
-        $request->setLocale('fr');
-        $request->headers->set('Surrogate-Capability', 'ESI/1.0');
-
-        $this->assertEquals('<esi:include src="/" />', $strategy->render('/', $request)->getContent());
-        $this->assertEquals("<esi:comment text=\"This is a comment\" />\n<esi:include src=\"/\" />", $strategy->render('/', $request, array('comment' => 'This is a comment'))->getContent());
-        $this->assertEquals('<esi:include src="/" alt="foo" />', $strategy->render('/', $request, array('alt' => 'foo'))->getContent());
-    }
-
-    public function testRenderControllerReference()
-    {
-        $signer = new UriSigner('foo');
-        $strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy(), $signer);
-
-        $request = Request::create('/');
-        $request->setLocale('fr');
-        $request->headers->set('Surrogate-Capability', 'ESI/1.0');
-
-        $reference = new ControllerReference('main_controller', array(), array());
-        $altReference = new ControllerReference('alt_controller', array(), array());
-
-        $this->assertEquals(
-            '<esi:include src="/_fragment?_path=_format%3Dhtml%26_locale%3Dfr%26_controller%3Dmain_controller&_hash=Jz1P8NErmhKTeI6onI1EdAXTB85359MY3RIk5mSJ60w%3D" alt="/_fragment?_path=_format%3Dhtml%26_locale%3Dfr%26_controller%3Dalt_controller&_hash=iPJEdRoUpGrM1ztqByiorpfMPtiW%2FOWwdH1DBUXHhEc%3D" />',
-            $strategy->render($reference, $request, array('alt' => $altReference))->getContent()
-        );
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testRenderControllerReferenceWithoutSignerThrowsException()
-    {
-        $strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy());
-
-        $request = Request::create('/');
-        $request->setLocale('fr');
-        $request->headers->set('Surrogate-Capability', 'ESI/1.0');
-
-        $strategy->render(new ControllerReference('main_controller'), $request);
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testRenderAltControllerReferenceWithoutSignerThrowsException()
-    {
-        $strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy());
-
-        $request = Request::create('/');
-        $request->setLocale('fr');
-        $request->headers->set('Surrogate-Capability', 'ESI/1.0');
-
-        $strategy->render('/', $request, array('alt' => new ControllerReference('alt_controller')));
-    }
-
-    private function getInlineStrategy($called = false)
-    {
-        $inline = $this->getMockBuilder('Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer')->disableOriginalConstructor()->getMock();
-
-        if ($called) {
-            $inline->expects($this->once())->method('render');
-        }
-
-        return $inline;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php
deleted file mode 100644
index b2903b8..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fragment;
-
-use Symfony\Component\HttpKernel\Fragment\FragmentHandler;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class FragmentHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    private $requestStack;
-
-    protected function setUp()
-    {
-        $this->requestStack = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\RequestStack')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-        $this->requestStack
-            ->expects($this->any())
-            ->method('getCurrentRequest')
-            ->will($this->returnValue(Request::create('/')))
-        ;
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRenderWhenRendererDoesNotExist()
-    {
-        $handler = new FragmentHandler(array(), null, $this->requestStack);
-        $handler->render('/', 'foo');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRenderWithUnknownRenderer()
-    {
-        $handler = $this->getHandler($this->returnValue(new Response('foo')));
-
-        $handler->render('/', 'bar');
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     * @expectedExceptionMessage Error when rendering "http://localhost/" (Status code is 404).
-     */
-    public function testDeliverWithUnsuccessfulResponse()
-    {
-        $handler = $this->getHandler($this->returnValue(new Response('foo', 404)));
-
-        $handler->render('/', 'foo');
-    }
-
-    public function testRender()
-    {
-        $handler = $this->getHandler($this->returnValue(new Response('foo')), array('/', Request::create('/'), array('foo' => 'foo', 'ignore_errors' => true)));
-
-        $this->assertEquals('foo', $handler->render('/', 'foo', array('foo' => 'foo')));
-    }
-
-    protected function getHandler($returnValue, $arguments = array())
-    {
-        $renderer = $this->getMock('Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface');
-        $renderer
-            ->expects($this->any())
-            ->method('getName')
-            ->will($this->returnValue('foo'))
-        ;
-        $e = $renderer
-            ->expects($this->any())
-            ->method('render')
-            ->will($returnValue)
-        ;
-
-        if ($arguments) {
-            call_user_func_array(array($e, 'with'), $arguments);
-        }
-
-        $handler = new FragmentHandler(array(), null, $this->requestStack);
-        $handler->addRenderer($renderer);
-
-        return $handler;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/HIncludeFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/HIncludeFragmentRendererTest.php
deleted file mode 100644
index 2f266db..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/HIncludeFragmentRendererTest.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fragment;
-
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpKernel\Fragment\HIncludeFragmentRenderer;
-use Symfony\Component\HttpKernel\UriSigner;
-use Symfony\Component\HttpFoundation\Request;
-
-class HIncludeFragmentRendererTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \LogicException
-     */
-    public function testRenderExceptionWhenControllerAndNoSigner()
-    {
-        $strategy = new HIncludeFragmentRenderer();
-        $strategy->render(new ControllerReference('main_controller', array(), array()), Request::create('/'));
-    }
-
-    public function testRenderWithControllerAndSigner()
-    {
-        $strategy = new HIncludeFragmentRenderer(null, new UriSigner('foo'));
-
-        $this->assertEquals('<hx:include src="/_fragment?_path=_format%3Dhtml%26_locale%3Den%26_controller%3Dmain_controller&amp;_hash=BP%2BOzCD5MRUI%2BHJpgPDOmoju00FnzLhP3TGcSHbbBLs%3D"></hx:include>', $strategy->render(new ControllerReference('main_controller', array(), array()), Request::create('/'))->getContent());
-    }
-
-    public function testRenderWithUri()
-    {
-        $strategy = new HIncludeFragmentRenderer();
-        $this->assertEquals('<hx:include src="/foo"></hx:include>', $strategy->render('/foo', Request::create('/'))->getContent());
-
-        $strategy = new HIncludeFragmentRenderer(null, new UriSigner('foo'));
-        $this->assertEquals('<hx:include src="/foo"></hx:include>', $strategy->render('/foo', Request::create('/'))->getContent());
-    }
-
-    public function testRenderWithDefault()
-    {
-        // only default
-        $strategy = new HIncludeFragmentRenderer();
-        $this->assertEquals('<hx:include src="/foo">default</hx:include>', $strategy->render('/foo', Request::create('/'), array('default' => 'default'))->getContent());
-
-        // only global default
-        $strategy = new HIncludeFragmentRenderer(null, null, 'global_default');
-        $this->assertEquals('<hx:include src="/foo">global_default</hx:include>', $strategy->render('/foo', Request::create('/'), array())->getContent());
-
-        // global default and default
-        $strategy = new HIncludeFragmentRenderer(null, null, 'global_default');
-        $this->assertEquals('<hx:include src="/foo">default</hx:include>', $strategy->render('/foo', Request::create('/'), array('default' => 'default'))->getContent());
-    }
-
-    public function testRenderWithAttributesOptions()
-    {
-        // with id
-        $strategy = new HIncludeFragmentRenderer();
-        $this->assertEquals('<hx:include src="/foo" id="bar">default</hx:include>', $strategy->render('/foo', Request::create('/'), array('default' => 'default', 'id' => 'bar'))->getContent());
-
-        // with attributes
-        $strategy = new HIncludeFragmentRenderer();
-        $this->assertEquals('<hx:include src="/foo" p1="v1" p2="v2">default</hx:include>', $strategy->render('/foo', Request::create('/'), array('default' => 'default', 'attributes' => array('p1' => 'v1', 'p2' => 'v2')))->getContent());
-
-        // with id & attributes
-        $strategy = new HIncludeFragmentRenderer();
-        $this->assertEquals('<hx:include src="/foo" p1="v1" p2="v2" id="bar">default</hx:include>', $strategy->render('/foo', Request::create('/'), array('default' => 'default', 'id' => 'bar', 'attributes' => array('p1' => 'v1', 'p2' => 'v2')))->getContent());
-    }
-
-    public function testRenderWithDefaultText()
-    {
-        $engine = $this->getMock('Symfony\\Component\\Templating\\EngineInterface');
-        $engine->expects($this->once())
-            ->method('exists')
-            ->with('default')
-            ->will($this->throwException(new \InvalidArgumentException()));
-
-        // only default
-        $strategy = new HIncludeFragmentRenderer($engine);
-        $this->assertEquals('<hx:include src="/foo">default</hx:include>', $strategy->render('/foo', Request::create('/'), array('default' => 'default'))->getContent());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
deleted file mode 100644
index 4e487a4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
+++ /dev/null
@@ -1,210 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fragment;
-
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class InlineFragmentRendererTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRender()
-    {
-        $strategy = new InlineFragmentRenderer($this->getKernel($this->returnValue(new Response('foo'))));
-
-        $this->assertEquals('foo', $strategy->render('/', Request::create('/'))->getContent());
-    }
-
-    public function testRenderWithControllerReference()
-    {
-        $strategy = new InlineFragmentRenderer($this->getKernel($this->returnValue(new Response('foo'))));
-
-        $this->assertEquals('foo', $strategy->render(new ControllerReference('main_controller', array(), array()), Request::create('/'))->getContent());
-    }
-
-    public function testRenderWithObjectsAsAttributes()
-    {
-        $object = new \stdClass();
-
-        $subRequest = Request::create('/_fragment?_path=_format%3Dhtml%26_locale%3Den%26_controller%3Dmain_controller');
-        $subRequest->attributes->replace(array('object' => $object, '_format' => 'html', '_controller' => 'main_controller', '_locale' => 'en'));
-        $subRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
-        $subRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1');
-
-        $strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest($subRequest));
-
-        $strategy->render(new ControllerReference('main_controller', array('object' => $object), array()), Request::create('/'));
-    }
-
-    public function testRenderWithObjectsAsAttributesPassedAsObjectsInTheController()
-    {
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolver', array('getController'));
-        $resolver
-            ->expects($this->once())
-            ->method('getController')
-            ->will($this->returnValue(function (\stdClass $object, Bar $object1) {
-                return new Response($object1->getBar());
-            }))
-        ;
-
-        $kernel = new HttpKernel(new EventDispatcher(), $resolver);
-        $renderer = new InlineFragmentRenderer($kernel);
-
-        $response = $renderer->render(new ControllerReference('main_controller', array('object' => new \stdClass(), 'object1' => new Bar()), array()), Request::create('/'));
-        $this->assertEquals('bar', $response->getContent());
-    }
-
-    public function testRenderWithTrustedHeaderDisabled()
-    {
-        $trustedHeaderName = Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP);
-
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, '');
-
-        $strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest(Request::create('/')));
-        $strategy->render('/', Request::create('/'));
-
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, $trustedHeaderName);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testRenderExceptionNoIgnoreErrors()
-    {
-        $dispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
-        $dispatcher->expects($this->never())->method('dispatch');
-
-        $strategy = new InlineFragmentRenderer($this->getKernel($this->throwException(new \RuntimeException('foo'))), $dispatcher);
-
-        $this->assertEquals('foo', $strategy->render('/', Request::create('/'))->getContent());
-    }
-
-    public function testRenderExceptionIgnoreErrors()
-    {
-        $dispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
-        $dispatcher->expects($this->once())->method('dispatch')->with(KernelEvents::EXCEPTION);
-
-        $strategy = new InlineFragmentRenderer($this->getKernel($this->throwException(new \RuntimeException('foo'))), $dispatcher);
-
-        $this->assertEmpty($strategy->render('/', Request::create('/'), array('ignore_errors' => true))->getContent());
-    }
-
-    public function testRenderExceptionIgnoreErrorsWithAlt()
-    {
-        $strategy = new InlineFragmentRenderer($this->getKernel($this->onConsecutiveCalls(
-            $this->throwException(new \RuntimeException('foo')),
-            $this->returnValue(new Response('bar'))
-        )));
-
-        $this->assertEquals('bar', $strategy->render('/', Request::create('/'), array('ignore_errors' => true, 'alt' => '/foo'))->getContent());
-    }
-
-    private function getKernel($returnValue)
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $kernel
-            ->expects($this->any())
-            ->method('handle')
-            ->will($returnValue)
-        ;
-
-        return $kernel;
-    }
-
-    /**
-     * Creates a Kernel expecting a request equals to $request
-     * Allows delta in comparison in case REQUEST_TIME changed by 1 second.
-     */
-    private function getKernelExpectingRequest(Request $request)
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $kernel
-            ->expects($this->any())
-            ->method('handle')
-            ->with($this->equalTo($request, 1))
-        ;
-
-        return $kernel;
-    }
-
-    public function testExceptionInSubRequestsDoesNotMangleOutputBuffers()
-    {
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface');
-        $resolver
-            ->expects($this->once())
-            ->method('getController')
-            ->will($this->returnValue(function () {
-                ob_start();
-                echo 'bar';
-                throw new \RuntimeException();
-            }))
-        ;
-        $resolver
-            ->expects($this->once())
-            ->method('getArguments')
-            ->will($this->returnValue(array()))
-        ;
-
-        $kernel = new HttpKernel(new EventDispatcher(), $resolver);
-        $renderer = new InlineFragmentRenderer($kernel);
-
-        // simulate a main request with output buffering
-        ob_start();
-        echo 'Foo';
-
-        // simulate a sub-request with output buffering and an exception
-        $renderer->render('/', Request::create('/'), array('ignore_errors' => true));
-
-        $this->assertEquals('Foo', ob_get_clean());
-    }
-
-    public function testESIHeaderIsKeptInSubrequest()
-    {
-        $expectedSubRequest = Request::create('/');
-        $expectedSubRequest->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
-
-        if (Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP)) {
-            $expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
-            $expectedSubRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1');
-        }
-
-        $strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest($expectedSubRequest));
-
-        $request = Request::create('/');
-        $request->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
-        $strategy->render('/', $request);
-    }
-
-    public function testESIHeaderIsKeptInSubrequestWithTrustedHeaderDisabled()
-    {
-        $trustedHeaderName = Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP);
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, '');
-
-        $this->testESIHeaderIsKeptInSubrequest();
-
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, $trustedHeaderName);
-    }
-}
-
-class Bar
-{
-    public $bar = 'bar';
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php
deleted file mode 100644
index 184175c..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fragment;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\Controller\ControllerReference;
-
-class RoutableFragmentRendererTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getGenerateFragmentUriData
-     */
-    public function testGenerateFragmentUri($uri, $controller)
-    {
-        $this->assertEquals($uri, $this->callGenerateFragmentUriMethod($controller, Request::create('/')));
-    }
-
-    /**
-     * @dataProvider getGenerateFragmentUriData
-     */
-    public function testGenerateAbsoluteFragmentUri($uri, $controller)
-    {
-        $this->assertEquals('http://localhost'.$uri, $this->callGenerateFragmentUriMethod($controller, Request::create('/'), true));
-    }
-
-    public function getGenerateFragmentUriData()
-    {
-        return array(
-            array('/_fragment?_path=_format%3Dhtml%26_locale%3Den%26_controller%3Dcontroller', new ControllerReference('controller', array(), array())),
-            array('/_fragment?_path=_format%3Dxml%26_locale%3Den%26_controller%3Dcontroller', new ControllerReference('controller', array('_format' => 'xml'), array())),
-            array('/_fragment?_path=foo%3Dfoo%26_format%3Djson%26_locale%3Den%26_controller%3Dcontroller', new ControllerReference('controller', array('foo' => 'foo', '_format' => 'json'), array())),
-            array('/_fragment?bar=bar&_path=foo%3Dfoo%26_format%3Dhtml%26_locale%3Den%26_controller%3Dcontroller', new ControllerReference('controller', array('foo' => 'foo'), array('bar' => 'bar'))),
-            array('/_fragment?foo=foo&_path=_format%3Dhtml%26_locale%3Den%26_controller%3Dcontroller', new ControllerReference('controller', array(), array('foo' => 'foo'))),
-            array('/_fragment?_path=foo%255B0%255D%3Dfoo%26foo%255B1%255D%3Dbar%26_format%3Dhtml%26_locale%3Den%26_controller%3Dcontroller', new ControllerReference('controller', array('foo' => array('foo', 'bar')), array())),
-        );
-    }
-
-    public function testGenerateFragmentUriWithARequest()
-    {
-        $request = Request::create('/');
-        $request->attributes->set('_format', 'json');
-        $request->setLocale('fr');
-        $controller = new ControllerReference('controller', array(), array());
-
-        $this->assertEquals('/_fragment?_path=_format%3Djson%26_locale%3Dfr%26_controller%3Dcontroller', $this->callGenerateFragmentUriMethod($controller, $request));
-    }
-
-    /**
-     * @expectedException LogicException
-     * @dataProvider      getGenerateFragmentUriDataWithNonScalar
-     */
-    public function testGenerateFragmentUriWithNonScalar($controller)
-    {
-        $this->callGenerateFragmentUriMethod($controller, Request::create('/'));
-    }
-
-    public function getGenerateFragmentUriDataWithNonScalar()
-    {
-        return array(
-            array(new ControllerReference('controller', array('foo' => new Foo(), 'bar' => 'bar'), array())),
-            array(new ControllerReference('controller', array('foo' => array('foo' => 'foo'), 'bar' => array('bar' => new Foo())), array())),
-        );
-    }
-
-    private function callGenerateFragmentUriMethod(ControllerReference $reference, Request $request, $absolute = false)
-    {
-        $renderer = $this->getMockForAbstractClass('Symfony\Component\HttpKernel\Fragment\RoutableFragmentRenderer');
-        $r = new \ReflectionObject($renderer);
-        $m = $r->getMethod('generateFragmentUri');
-        $m->setAccessible(true);
-
-        return $m->invoke($renderer, $reference, $request, $absolute);
-    }
-}
-
-class Foo
-{
-    public $foo;
-
-    public function getFoo()
-    {
-        return $this->foo;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php
deleted file mode 100644
index 00a9367..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php
+++ /dev/null
@@ -1,225 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpCache\Esi;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class EsiTest extends \PHPUnit_Framework_TestCase
-{
-    public function testHasSurrogateEsiCapability()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $request->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
-        $this->assertTrue($esi->hasSurrogateCapability($request));
-
-        $request = Request::create('/');
-        $request->headers->set('Surrogate-Capability', 'foobar');
-        $this->assertFalse($esi->hasSurrogateCapability($request));
-
-        $request = Request::create('/');
-        $this->assertFalse($esi->hasSurrogateCapability($request));
-    }
-
-    public function testAddSurrogateEsiCapability()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $esi->addSurrogateCapability($request);
-        $this->assertEquals('symfony2="ESI/1.0"', $request->headers->get('Surrogate-Capability'));
-
-        $esi->addSurrogateCapability($request);
-        $this->assertEquals('symfony2="ESI/1.0", symfony2="ESI/1.0"', $request->headers->get('Surrogate-Capability'));
-    }
-
-    public function testAddSurrogateControl()
-    {
-        $esi = new Esi();
-
-        $response = new Response('foo <esi:include src="" />');
-        $esi->addSurrogateControl($response);
-        $this->assertEquals('content="ESI/1.0"', $response->headers->get('Surrogate-Control'));
-
-        $response = new Response('foo');
-        $esi->addSurrogateControl($response);
-        $this->assertEquals('', $response->headers->get('Surrogate-Control'));
-    }
-
-    public function testNeedsEsiParsing()
-    {
-        $esi = new Esi();
-
-        $response = new Response();
-        $response->headers->set('Surrogate-Control', 'content="ESI/1.0"');
-        $this->assertTrue($esi->needsParsing($response));
-
-        $response = new Response();
-        $this->assertFalse($esi->needsParsing($response));
-    }
-
-    public function testRenderIncludeTag()
-    {
-        $esi = new Esi();
-
-        $this->assertEquals('<esi:include src="/" onerror="continue" alt="/alt" />', $esi->renderIncludeTag('/', '/alt', true));
-        $this->assertEquals('<esi:include src="/" alt="/alt" />', $esi->renderIncludeTag('/', '/alt', false));
-        $this->assertEquals('<esi:include src="/" onerror="continue" />', $esi->renderIncludeTag('/'));
-        $this->assertEquals('<esi:comment text="some comment" />'."\n".'<esi:include src="/" onerror="continue" alt="/alt" />', $esi->renderIncludeTag('/', '/alt', true, 'some comment'));
-    }
-
-    public function testProcessDoesNothingIfContentTypeIsNotHtml()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response();
-        $response->headers->set('Content-Type', 'text/plain');
-        $esi->process($request, $response);
-
-        $this->assertFalse($response->headers->has('x-body-eval'));
-    }
-
-    public function testProcess()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <esi:comment text="some comment" /><esi:include src="..." alt="alt" onerror="continue" />');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->surrogate->handle($this, \'...\', \'alt\', true) ?>'."\n", $response->getContent());
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-
-        $response = new Response('foo <esi:comment text="some comment" /><esi:include src="foo\'" alt="bar\'" onerror="continue" />');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->surrogate->handle($this, \'foo\\\'\', \'bar\\\'\', true) ?>'."\n", $response->getContent());
-
-        $response = new Response('foo <esi:include src="..." />');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->surrogate->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent());
-
-        $response = new Response('foo <esi:include src="..."></esi:include>');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->surrogate->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent());
-    }
-
-    public function testProcessEscapesPhpTags()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('<?php <? <% <script language=php>');
-        $esi->process($request, $response);
-
-        $this->assertEquals('<?php echo "<?"; ?>php <?php echo "<?"; ?> <?php echo "<%"; ?> <?php echo "<s"; ?>cript language=php>', $response->getContent());
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessWhenNoSrcInAnEsi()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <esi:include />');
-        $esi->process($request, $response);
-    }
-
-    public function testProcessRemoveSurrogateControlHeader()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <esi:include src="..." />');
-        $response->headers->set('Surrogate-Control', 'content="ESI/1.0"');
-        $esi->process($request, $response);
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-
-        $response->headers->set('Surrogate-Control', 'no-store, content="ESI/1.0"');
-        $esi->process($request, $response);
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-        $this->assertEquals('no-store', $response->headers->get('surrogate-control'));
-
-        $response->headers->set('Surrogate-Control', 'content="ESI/1.0", no-store');
-        $esi->process($request, $response);
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-        $this->assertEquals('no-store', $response->headers->get('surrogate-control'));
-    }
-
-    public function testHandle()
-    {
-        $esi = new Esi();
-        $cache = $this->getCache(Request::create('/'), new Response('foo'));
-        $this->assertEquals('foo', $esi->handle($cache, '/', '/alt', true));
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testHandleWhenResponseIsNot200()
-    {
-        $esi = new Esi();
-        $response = new Response('foo');
-        $response->setStatusCode(404);
-        $cache = $this->getCache(Request::create('/'), $response);
-        $esi->handle($cache, '/', '/alt', false);
-    }
-
-    public function testHandleWhenResponseIsNot200AndErrorsAreIgnored()
-    {
-        $esi = new Esi();
-        $response = new Response('foo');
-        $response->setStatusCode(404);
-        $cache = $this->getCache(Request::create('/'), $response);
-        $this->assertEquals('', $esi->handle($cache, '/', '/alt', true));
-    }
-
-    public function testHandleWhenResponseIsNot200AndAltIsPresent()
-    {
-        $esi = new Esi();
-        $response1 = new Response('foo');
-        $response1->setStatusCode(404);
-        $response2 = new Response('bar');
-        $cache = $this->getCache(Request::create('/'), array($response1, $response2));
-        $this->assertEquals('bar', $esi->handle($cache, '/', '/alt', false));
-    }
-
-    protected function getCache($request, $response)
-    {
-        $cache = $this->getMock('Symfony\Component\HttpKernel\HttpCache\HttpCache', array('getRequest', 'handle'), array(), '', false);
-        $cache->expects($this->any())
-              ->method('getRequest')
-              ->will($this->returnValue($request))
-        ;
-        if (is_array($response)) {
-            $cache->expects($this->any())
-                  ->method('handle')
-                  ->will(call_user_func_array(array($this, 'onConsecutiveCalls'), $response))
-            ;
-        } else {
-            $cache->expects($this->any())
-                  ->method('handle')
-                  ->will($this->returnValue($response))
-            ;
-        }
-
-        return $cache;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php
deleted file mode 100644
index 97fde8d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php
+++ /dev/null
@@ -1,1225 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpCache\HttpCache;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class HttpCacheTest extends HttpCacheTestCase
-{
-    public function testTerminateDelegatesTerminationOnlyForTerminableInterface()
-    {
-        $storeMock = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpCache\\StoreInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        // does not implement TerminableInterface
-        $kernelMock = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpKernelInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $kernelMock->expects($this->never())
-            ->method('terminate');
-
-        $kernel = new HttpCache($kernelMock, $storeMock);
-        $kernel->terminate(Request::create('/'), new Response());
-
-        // implements TerminableInterface
-        $kernelMock = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\Kernel')
-            ->disableOriginalConstructor()
-            ->setMethods(array('terminate', 'registerBundles', 'registerContainerConfiguration'))
-            ->getMock();
-
-        $kernelMock->expects($this->once())
-            ->method('terminate');
-
-        $kernel = new HttpCache($kernelMock, $storeMock);
-        $kernel->terminate(Request::create('/'), new Response());
-    }
-
-    public function testPassesOnNonGetHeadRequests()
-    {
-        $this->setNextResponse(200);
-        $this->request('POST', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertTraceContains('pass');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testInvalidatesOnPostPutDeleteRequests()
-    {
-        foreach (array('post', 'put', 'delete') as $method) {
-            $this->setNextResponse(200);
-            $this->request($method, '/');
-
-            $this->assertHttpKernelIsCalled();
-            $this->assertResponseOk();
-            $this->assertTraceContains('invalidate');
-            $this->assertTraceContains('pass');
-        }
-    }
-
-    public function testDoesNotCacheWithAuthorizationRequestHeaderAndNonPublicResponse()
-    {
-        $this->setNextResponse(200, array('ETag' => '"Foo"'));
-        $this->request('GET', '/', array('HTTP_AUTHORIZATION' => 'basic foobarbaz'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertEquals('private', $this->response->headers->get('Cache-Control'));
-
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testDoesCacheWithAuthorizationRequestHeaderAndPublicResponse()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'ETag' => '"Foo"'));
-        $this->request('GET', '/', array('HTTP_AUTHORIZATION' => 'basic foobarbaz'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertTrue($this->response->headers->has('Age'));
-        $this->assertEquals('public', $this->response->headers->get('Cache-Control'));
-    }
-
-    public function testDoesNotCacheWithCookieHeaderAndNonPublicResponse()
-    {
-        $this->setNextResponse(200, array('ETag' => '"Foo"'));
-        $this->request('GET', '/', array(), array('foo' => 'bar'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertEquals('private', $this->response->headers->get('Cache-Control'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testDoesNotCacheRequestsWithACookieHeader()
-    {
-        $this->setNextResponse(200);
-        $this->request('GET', '/', array(), array('foo' => 'bar'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertEquals('private', $this->response->headers->get('Cache-Control'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testRespondsWith304WhenIfModifiedSinceMatchesLastModified()
-    {
-        $time = new \DateTime();
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Last-Modified' => $time->format(DATE_RFC2822), 'Content-Type' => 'text/plain'), 'Hello World');
-        $this->request('GET', '/', array('HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-        $this->assertEquals('', $this->response->headers->get('Content-Type'));
-        $this->assertEmpty($this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testRespondsWith304WhenIfNoneMatchMatchesETag()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'ETag' => '12345', 'Content-Type' => 'text/plain'), 'Hello World');
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '12345'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-        $this->assertEquals('', $this->response->headers->get('Content-Type'));
-        $this->assertTrue($this->response->headers->has('ETag'));
-        $this->assertEmpty($this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testRespondsWith304OnlyIfIfNoneMatchAndIfModifiedSinceBothMatch()
-    {
-        $time = new \DateTime();
-
-        $this->setNextResponse(200, array(), '', function ($request, $response) use ($time) {
-            $response->setStatusCode(200);
-            $response->headers->set('ETag', '12345');
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-            $response->headers->set('Content-Type', 'text/plain');
-            $response->setContent('Hello World');
-        });
-
-        // only ETag matches
-        $t = \DateTime::createFromFormat('U', time() - 3600);
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '12345', 'HTTP_IF_MODIFIED_SINCE' => $t->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-
-        // only Last-Modified matches
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '1234', 'HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-
-        // Both matches
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '12345', 'HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-    }
-
-    public function testValidatesPrivateResponsesCachedOnTheClient()
-    {
-        $this->setNextResponse(200, array(), '', function ($request, $response) {
-            $etags = preg_split('/\s*,\s*/', $request->headers->get('IF_NONE_MATCH'));
-            if ($request->cookies->has('authenticated')) {
-                $response->headers->set('Cache-Control', 'private, no-store');
-                $response->setETag('"private tag"');
-                if (in_array('"private tag"', $etags)) {
-                    $response->setStatusCode(304);
-                } else {
-                    $response->setStatusCode(200);
-                    $response->headers->set('Content-Type', 'text/plain');
-                    $response->setContent('private data');
-                }
-            } else {
-                $response->headers->set('Cache-Control', 'public');
-                $response->setETag('"public tag"');
-                if (in_array('"public tag"', $etags)) {
-                    $response->setStatusCode(304);
-                } else {
-                    $response->setStatusCode(200);
-                    $response->headers->set('Content-Type', 'text/plain');
-                    $response->setContent('public data');
-                }
-            }
-        });
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('"public tag"', $this->response->headers->get('ETag'));
-        $this->assertEquals('public data', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/', array(), array('authenticated' => ''));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('"private tag"', $this->response->headers->get('ETag'));
-        $this->assertEquals('private data', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('invalid');
-        $this->assertTraceNotContains('store');
-    }
-
-    public function testStoresResponsesWhenNoCacheRequestDirectivePresent()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertTraceContains('store');
-        $this->assertTrue($this->response->headers->has('Age'));
-    }
-
-    public function testReloadsResponsesWhenCacheHitsButNoCacheRequestDirectivePresentWhenAllowReloadIsSetTrue()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public, max-age=10000'), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_reload'] = true;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Goodbye World', $this->response->getContent());
-        $this->assertTraceContains('reload');
-        $this->assertTraceContains('store');
-    }
-
-    public function testDoesNotReloadResponsesWhenAllowReloadIsSetFalseDefault()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public, max-age=10000'), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_reload'] = false;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('reload');
-
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('reload');
-    }
-
-    public function testRevalidatesFreshCacheEntryWhenMaxAgeRequestDirectiveIsExceededWhenAllowRevalidateOptionIsSetTrue()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array(), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->headers->set('Cache-Control', 'public, max-age=10000');
-            $response->setETag($count);
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_revalidate'] = true;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'max-age=0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Goodbye World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('invalid');
-        $this->assertTraceContains('store');
-    }
-
-    public function testDoesNotRevalidateFreshCacheEntryWhenEnableRevalidateOptionIsSetFalseDefault()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array(), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->headers->set('Cache-Control', 'public, max-age=10000');
-            $response->setETag($count);
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_revalidate'] = false;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'max-age=0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('stale');
-        $this->assertTraceNotContains('invalid');
-        $this->assertTraceContains('fresh');
-
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'max-age=0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('stale');
-        $this->assertTraceNotContains('invalid');
-        $this->assertTraceContains('fresh');
-    }
-
-    public function testFetchesResponseFromBackendWhenCacheMisses()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('miss');
-        $this->assertTrue($this->response->headers->has('Age'));
-    }
-
-    public function testDoesNotCacheSomeStatusCodeResponses()
-    {
-        foreach (array_merge(range(201, 202), range(204, 206), range(303, 305), range(400, 403), range(405, 409), range(411, 417), range(500, 505)) as $code) {
-            $time = \DateTime::createFromFormat('U', time() + 5);
-            $this->setNextResponse($code, array('Expires' => $time->format(DATE_RFC2822)));
-
-            $this->request('GET', '/');
-            $this->assertEquals($code, $this->response->getStatusCode());
-            $this->assertTraceNotContains('store');
-            $this->assertFalse($this->response->headers->has('Age'));
-        }
-    }
-
-    public function testDoesNotCacheResponsesWithExplicitNoStoreDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Expires' => $time->format(DATE_RFC2822), 'Cache-Control' => 'no-store'));
-
-        $this->request('GET', '/');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testDoesNotCacheResponsesWithoutFreshnessInformationOrAValidator()
-    {
-        $this->setNextResponse();
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceNotContains('store');
-    }
-
-    public function testCachesResponsesWithExplicitNoCacheDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Expires' => $time->format(DATE_RFC2822), 'Cache-Control' => 'public, no-cache'));
-
-        $this->request('GET', '/');
-        $this->assertTraceContains('store');
-        $this->assertTrue($this->response->headers->has('Age'));
-    }
-
-    public function testCachesResponsesWithAnExpirationHeader()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-    }
-
-    public function testCachesResponsesWithAMaxAgeDirective()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public, max-age=5'));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-    }
-
-    public function testCachesResponsesWithASMaxAgeDirective()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 's-maxage=5'));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-    }
-
-    public function testCachesResponsesWithALastModifiedValidatorButNoFreshnessInformation()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Last-Modified' => $time->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testCachesResponsesWithAnETagValidatorButNoFreshnessInformation()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'ETag' => '"123456"'));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testHitsCachedResponsesWithExpiresHeader()
-    {
-        $time1 = \DateTime::createFromFormat('U', time() - 5);
-        $time2 = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Date' => $time1->format(DATE_RFC2822), 'Expires' => $time2->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
-        $this->assertTrue($this->response->headers->get('Age') > 0);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testHitsCachedResponseWithMaxAgeDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() - 5);
-        $this->setNextResponse(200, array('Date' => $time->format(DATE_RFC2822), 'Cache-Control' => 'public, max-age=10'));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
-        $this->assertTrue($this->response->headers->get('Age') > 0);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testHitsCachedResponseWithSMaxAgeDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() - 5);
-        $this->setNextResponse(200, array('Date' => $time->format(DATE_RFC2822), 'Cache-Control' => 's-maxage=10, max-age=0'));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
-        $this->assertTrue($this->response->headers->get('Age') > 0);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testAssignsDefaultTtlWhenResponseHasNoFreshnessInformation()
-    {
-        $this->setNextResponse();
-
-        $this->cacheConfig['default_ttl'] = 10;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=10/', $this->response->headers->get('Cache-Control'));
-
-        $this->cacheConfig['default_ttl'] = 10;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=10/', $this->response->headers->get('Cache-Control'));
-    }
-
-    public function testAssignsDefaultTtlWhenResponseHasNoFreshnessInformationAndAfterTtlWasExpired()
-    {
-        $this->setNextResponse();
-
-        $this->cacheConfig['default_ttl'] = 2;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=(?:2|3)/', $this->response->headers->get('Cache-Control'));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=2/', $this->response->headers->get('Cache-Control'));
-
-        // expires the cache
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-        $tmp = unserialize($values[0]);
-        $tmp[0][1]['date'] = \DateTime::createFromFormat('U', time() - 5)->format(DATE_RFC2822);
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('save');
-        $m->setAccessible(true);
-        $m->invoke($this->store, 'md'.hash('sha256', 'http://localhost/'), serialize($tmp));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('invalid');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=2/', $this->response->headers->get('Cache-Control'));
-
-        $this->setNextResponse();
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=2/', $this->response->headers->get('Cache-Control'));
-    }
-
-    public function testAssignsDefaultTtlWhenResponseHasNoFreshnessInformationAndAfterTtlWasExpiredWithStatus304()
-    {
-        $this->setNextResponse();
-
-        $this->cacheConfig['default_ttl'] = 2;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=2/', $this->response->headers->get('Cache-Control'));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        // expires the cache
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-        $tmp = unserialize($values[0]);
-        $tmp[0][1]['date'] = \DateTime::createFromFormat('U', time() - 5)->format(DATE_RFC2822);
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('save');
-        $m->setAccessible(true);
-        $m->invoke($this->store, 'md'.hash('sha256', 'http://localhost/'), serialize($tmp));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('valid');
-        $this->assertTraceContains('store');
-        $this->assertTraceNotContains('miss');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=2/', $this->response->headers->get('Cache-Control'));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=2/', $this->response->headers->get('Cache-Control'));
-    }
-
-    public function testDoesNotAssignDefaultTtlWhenResponseHasMustRevalidateDirective()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'must-revalidate'));
-
-        $this->cacheConfig['default_ttl'] = 10;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertNotRegExp('/s-maxage/', $this->response->headers->get('Cache-Control'));
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testFetchesFullResponseWhenCacheStaleAndNoValidatorsPresent()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-
-        // build initial request
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertNotNull($this->response->headers->get('Age'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        # go in and play around with the cached metadata directly ...
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-        $tmp = unserialize($values[0]);
-        $time = \DateTime::createFromFormat('U', time());
-        $tmp[0][1]['expires'] = $time->format(DATE_RFC2822);
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('save');
-        $m->setAccessible(true);
-        $m->invoke($this->store, 'md'.hash('sha256', 'http://localhost/'), serialize($tmp));
-
-        // build subsequent request; should be found but miss due to freshness
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue($this->response->headers->get('Age') <= 1);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('stale');
-        $this->assertTraceNotContains('fresh');
-        $this->assertTraceNotContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testValidatesCachedResponsesWithLastModifiedAndNoFreshnessInformation()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($time) {
-            $response->headers->set('Cache-Control', 'public');
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-            if ($time->format(DATE_RFC2822) == $request->headers->get('IF_MODIFIED_SINCE')) {
-                $response->setStatusCode(304);
-                $response->setContent('');
-            }
-        });
-
-        // build initial request
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Last-Modified'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertTraceNotContains('stale');
-
-        // build subsequent request; should be found but miss due to freshness
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Last-Modified'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTrue($this->response->headers->get('Age') <= 1);
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('valid');
-        $this->assertTraceContains('store');
-        $this->assertTraceNotContains('miss');
-    }
-
-    public function testValidatesCachedResponsesWithETagAndNoFreshnessInformation()
-    {
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) {
-            $response->headers->set('Cache-Control', 'public');
-            $response->headers->set('ETag', '"12345"');
-            if ($response->getETag() == $request->headers->get('IF_NONE_MATCH')) {
-                $response->setStatusCode(304);
-                $response->setContent('');
-            }
-        });
-
-        // build initial request
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('ETag'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        // build subsequent request; should be found but miss due to freshness
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('ETag'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTrue($this->response->headers->get('Age') <= 1);
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('valid');
-        $this->assertTraceContains('store');
-        $this->assertTraceNotContains('miss');
-    }
-
-    public function testReplacesCachedResponsesWhenValidationResultsInNon304Response()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $count = 0;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($time, &$count) {
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-            $response->headers->set('Cache-Control', 'public');
-            switch (++$count) {
-                case 1:
-                    $response->setContent('first response');
-                    break;
-                case 2:
-                    $response->setContent('second response');
-                    break;
-                case 3:
-                    $response->setContent('');
-                    $response->setStatusCode(304);
-                    break;
-            }
-        });
-
-        // first request should fetch from backend and store in cache
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('first response', $this->response->getContent());
-
-        // second request is validated, is invalid, and replaces cached entry
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('second response', $this->response->getContent());
-
-        // third response is validated, valid, and returns cached entry
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('second response', $this->response->getContent());
-
-        $this->assertEquals(3, $count);
-    }
-
-    public function testPassesHeadRequestsThroughDirectlyOnPass()
-    {
-        $that = $this;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($that) {
-            $response->setContent('');
-            $response->setStatusCode(200);
-            $that->assertEquals('HEAD', $request->getMethod());
-        });
-
-        $this->request('HEAD', '/', array('HTTP_EXPECT' => 'something ...'));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('', $this->response->getContent());
-    }
-
-    public function testUsesCacheToRespondToHeadRequestsWhenFresh()
-    {
-        $that = $this;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($that) {
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->setContent('Hello World');
-            $response->setStatusCode(200);
-            $that->assertNotEquals('HEAD', $request->getMethod());
-        });
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('HEAD', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('', $this->response->getContent());
-        $this->assertEquals(strlen('Hello World'), $this->response->headers->get('Content-Length'));
-    }
-
-    public function testSendsNoContentWhenFresh()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $that = $this;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($that, $time) {
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-        });
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/', array('HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-        $this->assertEquals('', $this->response->getContent());
-    }
-
-    public function testInvalidatesCachedResponsesOnPost()
-    {
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) {
-            if ('GET' == $request->getMethod()) {
-                $response->setStatusCode(200);
-                $response->headers->set('Cache-Control', 'public, max-age=500');
-                $response->setContent('Hello World');
-            } elseif ('POST' == $request->getMethod()) {
-                $response->setStatusCode(303);
-                $response->headers->set('Location', '/');
-                $response->headers->remove('Cache-Control');
-                $response->setContent('');
-            }
-        });
-
-        // build initial request to enter into the cache
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        // make sure it is valid
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        // now POST to same URL
-        $this->request('POST', '/helloworld');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('/', $this->response->headers->get('Location'));
-        $this->assertTraceContains('invalidate');
-        $this->assertTraceContains('pass');
-        $this->assertEquals('', $this->response->getContent());
-
-        // now make sure it was actually invalidated
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('invalid');
-        $this->assertTraceContains('store');
-    }
-
-    public function testServesFromCacheWhenHeadersMatch()
-    {
-        $count = 0;
-        $this->setNextResponse(200, array('Cache-Control' => 'max-age=10000'), '', function ($request, $response) use (&$count) {
-            $response->headers->set('Vary', 'Accept User-Agent Foo');
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->headers->set('X-Response-Count', ++$count);
-            $response->setContent($request->headers->get('USER_AGENT'));
-        });
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-    }
-
-    public function testStoresMultipleResponsesWhenHeadersDiffer()
-    {
-        $count = 0;
-        $this->setNextResponse(200, array('Cache-Control' => 'max-age=10000'), '', function ($request, $response) use (&$count) {
-            $response->headers->set('Vary', 'Accept User-Agent Foo');
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->headers->set('X-Response-Count', ++$count);
-            $response->setContent($request->headers->get('USER_AGENT'));
-        });
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertEquals(1, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/2.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Bob/2.0', $this->response->getContent());
-        $this->assertEquals(2, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertTraceContains('fresh');
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertEquals(1, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/2.0'));
-        $this->assertTraceContains('fresh');
-        $this->assertEquals('Bob/2.0', $this->response->getContent());
-        $this->assertEquals(2, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_USER_AGENT' => 'Bob/2.0'));
-        $this->assertTraceContains('miss');
-        $this->assertEquals('Bob/2.0', $this->response->getContent());
-        $this->assertEquals(3, $this->response->headers->get('X-Response-Count'));
-    }
-
-    public function testShouldCatchExceptions()
-    {
-        $this->catchExceptions();
-
-        $this->setNextResponse();
-        $this->request('GET', '/');
-
-        $this->assertExceptionsAreCaught();
-    }
-
-    public function testShouldCatchExceptionsWhenReloadingAndNoCacheRequest()
-    {
-        $this->catchExceptions();
-
-        $this->setNextResponse();
-        $this->cacheConfig['allow_reload'] = true;
-        $this->request('GET', '/', array(), array(), false, array('Pragma' => 'no-cache'));
-
-        $this->assertExceptionsAreCaught();
-    }
-
-    public function testShouldNotCatchExceptions()
-    {
-        $this->catchExceptions(false);
-
-        $this->setNextResponse();
-        $this->request('GET', '/');
-
-        $this->assertExceptionsAreNotCaught();
-    }
-
-    public function testEsiCacheSendsTheLowestTtl()
-    {
-        $responses = array(
-            array(
-                'status' => 200,
-                'body' => '<esi:include src="/foo" /> <esi:include src="/bar" />',
-                'headers' => array(
-                    'Cache-Control' => 's-maxage=300',
-                    'Surrogate-Control' => 'content="ESI/1.0"',
-                ),
-            ),
-            array(
-                'status' => 200,
-                'body' => 'Hello World!',
-                'headers' => array('Cache-Control' => 's-maxage=300'),
-            ),
-            array(
-                'status' => 200,
-                'body' => 'My name is Bobby.',
-                'headers' => array('Cache-Control' => 's-maxage=100'),
-            ),
-        );
-
-        $this->setNextResponses($responses);
-
-        $this->request('GET', '/', array(), array(), true);
-        $this->assertEquals('Hello World! My name is Bobby.', $this->response->getContent());
-
-        // check for 100 or 99 as the test can be executed after a second change
-        $this->assertTrue(in_array($this->response->getTtl(), array(99, 100)));
-    }
-
-    public function testEsiCacheForceValidation()
-    {
-        $responses = array(
-            array(
-                'status' => 200,
-                'body' => '<esi:include src="/foo" /> <esi:include src="/bar" />',
-                'headers' => array(
-                    'Cache-Control' => 's-maxage=300',
-                    'Surrogate-Control' => 'content="ESI/1.0"',
-                ),
-            ),
-            array(
-                'status' => 200,
-                'body' => 'Hello World!',
-                'headers' => array('ETag' => 'foobar'),
-            ),
-            array(
-                'status' => 200,
-                'body' => 'My name is Bobby.',
-                'headers' => array('Cache-Control' => 's-maxage=100'),
-            ),
-        );
-
-        $this->setNextResponses($responses);
-
-        $this->request('GET', '/', array(), array(), true);
-        $this->assertEquals('Hello World! My name is Bobby.', $this->response->getContent());
-        $this->assertNull($this->response->getTtl());
-        $this->assertTrue($this->response->mustRevalidate());
-        $this->assertTrue($this->response->headers->hasCacheControlDirective('private'));
-        $this->assertTrue($this->response->headers->hasCacheControlDirective('no-cache'));
-    }
-
-    public function testEsiRecalculateContentLengthHeader()
-    {
-        $responses = array(
-            array(
-                'status' => 200,
-                'body' => '<esi:include src="/foo" />',
-                'headers' => array(
-                    'Content-Length' => 26,
-                    'Cache-Control' => 's-maxage=300',
-                    'Surrogate-Control' => 'content="ESI/1.0"',
-                ),
-            ),
-            array(
-                'status' => 200,
-                'body' => 'Hello World!',
-                'headers' => array(),
-            ),
-        );
-
-        $this->setNextResponses($responses);
-
-        $this->request('GET', '/', array(), array(), true);
-        $this->assertEquals('Hello World!', $this->response->getContent());
-        $this->assertEquals(12, $this->response->headers->get('Content-Length'));
-    }
-
-    public function testClientIpIsAlwaysLocalhostForForwardedRequests()
-    {
-        $this->setNextResponse();
-        $this->request('GET', '/', array('REMOTE_ADDR' => '10.0.0.1'));
-
-        $this->assertEquals('127.0.0.1', $this->kernel->getBackendRequest()->server->get('REMOTE_ADDR'));
-    }
-
-    /**
-     * @dataProvider getTrustedProxyData
-     */
-    public function testHttpCacheIsSetAsATrustedProxy(array $existing, array $expected)
-    {
-        Request::setTrustedProxies($existing);
-
-        $this->setNextResponse();
-        $this->request('GET', '/', array('REMOTE_ADDR' => '10.0.0.1'));
-
-        $this->assertEquals($expected, Request::getTrustedProxies());
-    }
-
-    public function getTrustedProxyData()
-    {
-        return array(
-            array(array(), array('127.0.0.1')),
-            array(array('10.0.0.2'), array('10.0.0.2', '127.0.0.1')),
-            array(array('10.0.0.2', '127.0.0.1'), array('10.0.0.2', '127.0.0.1')),
-        );
-    }
-
-    /**
-     * @dataProvider getXForwardedForData
-     */
-    public function testXForwarderForHeaderForForwardedRequests($xForwardedFor, $expected)
-    {
-        $this->setNextResponse();
-        $server = array('REMOTE_ADDR' => '10.0.0.1');
-        if (false !== $xForwardedFor) {
-            $server['HTTP_X_FORWARDED_FOR'] = $xForwardedFor;
-        }
-        $this->request('GET', '/', $server);
-
-        $this->assertEquals($expected, $this->kernel->getBackendRequest()->headers->get('X-Forwarded-For'));
-    }
-
-    public function getXForwardedForData()
-    {
-        return array(
-            array(false, '10.0.0.1'),
-            array('10.0.0.2', '10.0.0.2, 10.0.0.1'),
-            array('10.0.0.2, 10.0.0.3', '10.0.0.2, 10.0.0.3, 10.0.0.1'),
-        );
-    }
-
-    public function testXForwarderForHeaderForPassRequests()
-    {
-        $this->setNextResponse();
-        $server = array('REMOTE_ADDR' => '10.0.0.1');
-        $this->request('POST', '/', $server);
-
-        $this->assertEquals('10.0.0.1', $this->kernel->getBackendRequest()->headers->get('X-Forwarded-For'));
-    }
-
-    public function testEsiCacheRemoveValidationHeadersIfEmbeddedResponses()
-    {
-        $time = new \DateTime();
-
-        $responses = array(
-            array(
-                'status' => 200,
-                'body' => '<esi:include src="/hey" />',
-                'headers' => array(
-                    'Surrogate-Control' => 'content="ESI/1.0"',
-                    'ETag' => 'hey',
-                    'Last-Modified' => $time->format(DATE_RFC2822),
-                ),
-            ),
-            array(
-                'status' => 200,
-                'body' => 'Hey!',
-                'headers' => array(),
-            ),
-        );
-
-        $this->setNextResponses($responses);
-
-        $this->request('GET', '/', array(), array(), true);
-        $this->assertNull($this->response->getETag());
-        $this->assertNull($this->response->getLastModified());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php
deleted file mode 100644
index 766e2b1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\HttpCache\Esi;
-use Symfony\Component\HttpKernel\HttpCache\HttpCache;
-use Symfony\Component\HttpKernel\HttpCache\Store;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-
-class HttpCacheTestCase extends \PHPUnit_Framework_TestCase
-{
-    protected $kernel;
-    protected $cache;
-    protected $caches;
-    protected $cacheConfig;
-    protected $request;
-    protected $response;
-    protected $responses;
-    protected $catch;
-    protected $esi;
-
-    protected function setUp()
-    {
-        $this->kernel = null;
-
-        $this->cache = null;
-        $this->esi = null;
-        $this->caches = array();
-        $this->cacheConfig = array();
-
-        $this->request = null;
-        $this->response = null;
-        $this->responses = array();
-
-        $this->catch = false;
-
-        $this->clearDirectory(sys_get_temp_dir().'/http_cache');
-    }
-
-    protected function tearDown()
-    {
-        $this->kernel = null;
-        $this->cache = null;
-        $this->caches = null;
-        $this->request = null;
-        $this->response = null;
-        $this->responses = null;
-        $this->cacheConfig = null;
-        $this->catch = null;
-        $this->esi = null;
-
-        $this->clearDirectory(sys_get_temp_dir().'/http_cache');
-    }
-
-    public function assertHttpKernelIsCalled()
-    {
-        $this->assertTrue($this->kernel->hasBeenCalled());
-    }
-
-    public function assertHttpKernelIsNotCalled()
-    {
-        $this->assertFalse($this->kernel->hasBeenCalled());
-    }
-
-    public function assertResponseOk()
-    {
-        $this->assertEquals(200, $this->response->getStatusCode());
-    }
-
-    public function assertTraceContains($trace)
-    {
-        $traces = $this->cache->getTraces();
-        $traces = current($traces);
-
-        $this->assertRegExp('/'.$trace.'/', implode(', ', $traces));
-    }
-
-    public function assertTraceNotContains($trace)
-    {
-        $traces = $this->cache->getTraces();
-        $traces = current($traces);
-
-        $this->assertNotRegExp('/'.$trace.'/', implode(', ', $traces));
-    }
-
-    public function assertExceptionsAreCaught()
-    {
-        $this->assertTrue($this->kernel->isCatchingExceptions());
-    }
-
-    public function assertExceptionsAreNotCaught()
-    {
-        $this->assertFalse($this->kernel->isCatchingExceptions());
-    }
-
-    public function request($method, $uri = '/', $server = array(), $cookies = array(), $esi = false, $headers = array())
-    {
-        if (null === $this->kernel) {
-            throw new \LogicException('You must call setNextResponse() before calling request().');
-        }
-
-        $this->kernel->reset();
-
-        $this->store = new Store(sys_get_temp_dir().'/http_cache');
-
-        $this->cacheConfig['debug'] = true;
-
-        $this->esi = $esi ? new Esi() : null;
-        $this->cache = new HttpCache($this->kernel, $this->store, $this->esi, $this->cacheConfig);
-        $this->request = Request::create($uri, $method, array(), $cookies, array(), $server);
-        $this->request->headers->add($headers);
-
-        $this->response = $this->cache->handle($this->request, HttpKernelInterface::MASTER_REQUEST, $this->catch);
-
-        $this->responses[] = $this->response;
-    }
-
-    public function getMetaStorageValues()
-    {
-        $values = array();
-        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator(sys_get_temp_dir().'/http_cache/md', \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
-            $values[] = file_get_contents($file);
-        }
-
-        return $values;
-    }
-
-    // A basic response with 200 status code and a tiny body.
-    public function setNextResponse($statusCode = 200, array $headers = array(), $body = 'Hello World', \Closure $customizer = null)
-    {
-        $this->kernel = new TestHttpKernel($body, $statusCode, $headers, $customizer);
-    }
-
-    public function setNextResponses($responses)
-    {
-        $this->kernel = new TestMultipleHttpKernel($responses);
-    }
-
-    public function catchExceptions($catch = true)
-    {
-        $this->catch = $catch;
-    }
-
-    public static function clearDirectory($directory)
-    {
-        if (!is_dir($directory)) {
-            return;
-        }
-
-        $fp = opendir($directory);
-        while (false !== $file = readdir($fp)) {
-            if (!in_array($file, array('.', '..'))) {
-                if (is_link($directory.'/'.$file)) {
-                    unlink($directory.'/'.$file);
-                } elseif (is_dir($directory.'/'.$file)) {
-                    self::clearDirectory($directory.'/'.$file);
-                    rmdir($directory.'/'.$file);
-                } else {
-                    unlink($directory.'/'.$file);
-                }
-            }
-        }
-
-        closedir($fp);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php
deleted file mode 100644
index 07b70dc..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpCache\Ssi;
-
-class SsiTest extends \PHPUnit_Framework_TestCase
-{
-    public function testHasSurrogateSsiCapability()
-    {
-        $ssi = new Ssi();
-
-        $request = Request::create('/');
-        $request->headers->set('Surrogate-Capability', 'abc="SSI/1.0"');
-        $this->assertTrue($ssi->hasSurrogateCapability($request));
-
-        $request = Request::create('/');
-        $request->headers->set('Surrogate-Capability', 'foobar');
-        $this->assertFalse($ssi->hasSurrogateCapability($request));
-
-        $request = Request::create('/');
-        $this->assertFalse($ssi->hasSurrogateCapability($request));
-    }
-
-    public function testAddSurrogateSsiCapability()
-    {
-        $ssi = new Ssi();
-
-        $request = Request::create('/');
-        $ssi->addSurrogateCapability($request);
-        $this->assertEquals('symfony2="SSI/1.0"', $request->headers->get('Surrogate-Capability'));
-
-        $ssi->addSurrogateCapability($request);
-        $this->assertEquals('symfony2="SSI/1.0", symfony2="SSI/1.0"', $request->headers->get('Surrogate-Capability'));
-    }
-
-    public function testAddSurrogateControl()
-    {
-        $ssi = new Ssi();
-
-        $response = new Response('foo <!--#include virtual="" -->');
-        $ssi->addSurrogateControl($response);
-        $this->assertEquals('content="SSI/1.0"', $response->headers->get('Surrogate-Control'));
-
-        $response = new Response('foo');
-        $ssi->addSurrogateControl($response);
-        $this->assertEquals('', $response->headers->get('Surrogate-Control'));
-    }
-
-    public function testNeedsSsiParsing()
-    {
-        $ssi = new Ssi();
-
-        $response = new Response();
-        $response->headers->set('Surrogate-Control', 'content="SSI/1.0"');
-        $this->assertTrue($ssi->needsParsing($response));
-
-        $response = new Response();
-        $this->assertFalse($ssi->needsParsing($response));
-    }
-
-    public function testRenderIncludeTag()
-    {
-        $ssi = new Ssi();
-
-        $this->assertEquals('<!--#include virtual="/" -->', $ssi->renderIncludeTag('/', '/alt', true));
-        $this->assertEquals('<!--#include virtual="/" -->', $ssi->renderIncludeTag('/', '/alt', false));
-        $this->assertEquals('<!--#include virtual="/" -->', $ssi->renderIncludeTag('/'));
-    }
-
-    public function testProcessDoesNothingIfContentTypeIsNotHtml()
-    {
-        $ssi = new Ssi();
-
-        $request = Request::create('/');
-        $response = new Response();
-        $response->headers->set('Content-Type', 'text/plain');
-        $ssi->process($request, $response);
-
-        $this->assertFalse($response->headers->has('x-body-eval'));
-    }
-
-    public function testProcess()
-    {
-        $ssi = new Ssi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <!--#include virtual="..." -->');
-        $ssi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->surrogate->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent());
-        $this->assertEquals('SSI', $response->headers->get('x-body-eval'));
-
-        $response = new Response('foo <!--#include virtual="foo\'" -->');
-        $ssi->process($request, $response);
-
-        $this->assertEquals("foo <?php echo \$this->surrogate->handle(\$this, 'foo\\'', '', false) ?>"."\n", $response->getContent());
-    }
-
-    public function testProcessEscapesPhpTags()
-    {
-        $ssi = new Ssi();
-
-        $request = Request::create('/');
-        $response = new Response('<?php <? <% <script language=php>');
-        $ssi->process($request, $response);
-
-        $this->assertEquals('<?php echo "<?"; ?>php <?php echo "<?"; ?> <?php echo "<%"; ?> <?php echo "<s"; ?>cript language=php>', $response->getContent());
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessWhenNoSrcInAnSsi()
-    {
-        $ssi = new Ssi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <!--#include -->');
-        $ssi->process($request, $response);
-    }
-
-    public function testProcessRemoveSurrogateControlHeader()
-    {
-        $ssi = new Ssi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <!--#include virtual="..." -->');
-        $response->headers->set('Surrogate-Control', 'content="SSI/1.0"');
-        $ssi->process($request, $response);
-        $this->assertEquals('SSI', $response->headers->get('x-body-eval'));
-
-        $response->headers->set('Surrogate-Control', 'no-store, content="SSI/1.0"');
-        $ssi->process($request, $response);
-        $this->assertEquals('SSI', $response->headers->get('x-body-eval'));
-        $this->assertEquals('no-store', $response->headers->get('surrogate-control'));
-
-        $response->headers->set('Surrogate-Control', 'content="SSI/1.0", no-store');
-        $ssi->process($request, $response);
-        $this->assertEquals('SSI', $response->headers->get('x-body-eval'));
-        $this->assertEquals('no-store', $response->headers->get('surrogate-control'));
-    }
-
-    public function testHandle()
-    {
-        $ssi = new Ssi();
-        $cache = $this->getCache(Request::create('/'), new Response('foo'));
-        $this->assertEquals('foo', $ssi->handle($cache, '/', '/alt', true));
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testHandleWhenResponseIsNot200()
-    {
-        $ssi = new Ssi();
-        $response = new Response('foo');
-        $response->setStatusCode(404);
-        $cache = $this->getCache(Request::create('/'), $response);
-        $ssi->handle($cache, '/', '/alt', false);
-    }
-
-    public function testHandleWhenResponseIsNot200AndErrorsAreIgnored()
-    {
-        $ssi = new Ssi();
-        $response = new Response('foo');
-        $response->setStatusCode(404);
-        $cache = $this->getCache(Request::create('/'), $response);
-        $this->assertEquals('', $ssi->handle($cache, '/', '/alt', true));
-    }
-
-    public function testHandleWhenResponseIsNot200AndAltIsPresent()
-    {
-        $ssi = new Ssi();
-        $response1 = new Response('foo');
-        $response1->setStatusCode(404);
-        $response2 = new Response('bar');
-        $cache = $this->getCache(Request::create('/'), array($response1, $response2));
-        $this->assertEquals('bar', $ssi->handle($cache, '/', '/alt', false));
-    }
-
-    protected function getCache($request, $response)
-    {
-        $cache = $this->getMock('Symfony\Component\HttpKernel\HttpCache\HttpCache', array('getRequest', 'handle'), array(), '', false);
-        $cache->expects($this->any())
-              ->method('getRequest')
-              ->will($this->returnValue($request))
-        ;
-        if (is_array($response)) {
-            $cache->expects($this->any())
-                  ->method('handle')
-                  ->will(call_user_func_array(array($this, 'onConsecutiveCalls'), $response))
-            ;
-        } else {
-            $cache->expects($this->any())
-                  ->method('handle')
-                  ->will($this->returnValue($response))
-            ;
-        }
-
-        return $cache;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php
deleted file mode 100644
index cf4e4b5..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php
+++ /dev/null
@@ -1,259 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpCache\Store;
-
-class StoreTest extends \PHPUnit_Framework_TestCase
-{
-    protected $request;
-    protected $response;
-    protected $store;
-
-    protected function setUp()
-    {
-        $this->request = Request::create('/');
-        $this->response = new Response('hello world', 200, array());
-
-        HttpCacheTestCase::clearDirectory(sys_get_temp_dir().'/http_cache');
-
-        $this->store = new Store(sys_get_temp_dir().'/http_cache');
-    }
-
-    protected function tearDown()
-    {
-        $this->store = null;
-        $this->request = null;
-        $this->response = null;
-
-        HttpCacheTestCase::clearDirectory(sys_get_temp_dir().'/http_cache');
-    }
-
-    public function testReadsAnEmptyArrayWithReadWhenNothingCachedAtKey()
-    {
-        $this->assertEmpty($this->getStoreMetadata('/nothing'));
-    }
-
-    public function testUnlockFileThatDoesExist()
-    {
-        $cacheKey = $this->storeSimpleEntry();
-        $this->store->lock($this->request);
-
-        $this->assertTrue($this->store->unlock($this->request));
-    }
-
-    public function testUnlockFileThatDoesNotExist()
-    {
-        $this->assertFalse($this->store->unlock($this->request));
-    }
-
-    public function testRemovesEntriesForKeyWithPurge()
-    {
-        $request = Request::create('/foo');
-        $this->store->write($request, new Response('foo'));
-
-        $metadata = $this->getStoreMetadata($request);
-        $this->assertNotEmpty($metadata);
-
-        $this->assertTrue($this->store->purge('/foo'));
-        $this->assertEmpty($this->getStoreMetadata($request));
-
-        // cached content should be kept after purging
-        $path = $this->store->getPath($metadata[0][1]['x-content-digest'][0]);
-        $this->assertTrue(is_file($path));
-
-        $this->assertFalse($this->store->purge('/bar'));
-    }
-
-    public function testStoresACacheEntry()
-    {
-        $cacheKey = $this->storeSimpleEntry();
-
-        $this->assertNotEmpty($this->getStoreMetadata($cacheKey));
-    }
-
-    public function testSetsTheXContentDigestResponseHeaderBeforeStoring()
-    {
-        $cacheKey = $this->storeSimpleEntry();
-        $entries = $this->getStoreMetadata($cacheKey);
-        list($req, $res) = $entries[0];
-
-        $this->assertEquals('en9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', $res['x-content-digest'][0]);
-    }
-
-    public function testFindsAStoredEntryWithLookup()
-    {
-        $this->storeSimpleEntry();
-        $response = $this->store->lookup($this->request);
-
-        $this->assertNotNull($response);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
-    }
-
-    public function testDoesNotFindAnEntryWithLookupWhenNoneExists()
-    {
-        $request = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-
-        $this->assertNull($this->store->lookup($request));
-    }
-
-    public function testCanonizesUrlsForCacheKeys()
-    {
-        $this->storeSimpleEntry($path = '/test?x=y&p=q');
-        $hitsReq = Request::create($path);
-        $missReq = Request::create('/test?p=x');
-
-        $this->assertNotNull($this->store->lookup($hitsReq));
-        $this->assertNull($this->store->lookup($missReq));
-    }
-
-    public function testDoesNotFindAnEntryWithLookupWhenTheBodyDoesNotExist()
-    {
-        $this->storeSimpleEntry();
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $path = $this->getStorePath($this->response->headers->get('X-Content-Digest'));
-        @unlink($path);
-        $this->assertNull($this->store->lookup($this->request));
-    }
-
-    public function testRestoresResponseHeadersProperlyWithLookup()
-    {
-        $this->storeSimpleEntry();
-        $response = $this->store->lookup($this->request);
-
-        $this->assertEquals($response->headers->all(), array_merge(array('content-length' => 4, 'x-body-file' => array($this->getStorePath($response->headers->get('X-Content-Digest')))), $this->response->headers->all()));
-    }
-
-    public function testRestoresResponseContentFromEntityStoreWithLookup()
-    {
-        $this->storeSimpleEntry();
-        $response = $this->store->lookup($this->request);
-        $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test')), $response->getContent());
-    }
-
-    public function testInvalidatesMetaAndEntityStoreEntriesWithInvalidate()
-    {
-        $this->storeSimpleEntry();
-        $this->store->invalidate($this->request);
-        $response = $this->store->lookup($this->request);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
-        $this->assertFalse($response->isFresh());
-    }
-
-    public function testSucceedsQuietlyWhenInvalidateCalledWithNoMatchingEntries()
-    {
-        $req = Request::create('/test');
-        $this->store->invalidate($req);
-        $this->assertNull($this->store->lookup($this->request));
-    }
-
-    public function testDoesNotReturnEntriesThatVaryWithLookup()
-    {
-        $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $req2 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Bling', 'HTTP_BAR' => 'Bam'));
-        $res = new Response('test', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req1, $res);
-
-        $this->assertNull($this->store->lookup($req2));
-    }
-
-    public function testStoresMultipleResponsesForEachVaryCombination()
-    {
-        $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $res1 = new Response('test 1', 200, array('Vary' => 'Foo Bar'));
-        $key = $this->store->write($req1, $res1);
-
-        $req2 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Bling', 'HTTP_BAR' => 'Bam'));
-        $res2 = new Response('test 2', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req2, $res2);
-
-        $req3 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Baz', 'HTTP_BAR' => 'Boom'));
-        $res3 = new Response('test 3', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req3, $res3);
-
-        $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 3')), $this->store->lookup($req3)->getContent());
-        $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 2')), $this->store->lookup($req2)->getContent());
-        $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 1')), $this->store->lookup($req1)->getContent());
-
-        $this->assertCount(3, $this->getStoreMetadata($key));
-    }
-
-    public function testOverwritesNonVaryingResponseWithStore()
-    {
-        $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $res1 = new Response('test 1', 200, array('Vary' => 'Foo Bar'));
-        $key = $this->store->write($req1, $res1);
-        $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 1')), $this->store->lookup($req1)->getContent());
-
-        $req2 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Bling', 'HTTP_BAR' => 'Bam'));
-        $res2 = new Response('test 2', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req2, $res2);
-        $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 2')), $this->store->lookup($req2)->getContent());
-
-        $req3 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $res3 = new Response('test 3', 200, array('Vary' => 'Foo Bar'));
-        $key = $this->store->write($req3, $res3);
-        $this->assertEquals($this->getStorePath('en'.hash('sha256', 'test 3')), $this->store->lookup($req3)->getContent());
-
-        $this->assertCount(2, $this->getStoreMetadata($key));
-    }
-
-    public function testLocking()
-    {
-        $req = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $this->assertTrue($this->store->lock($req));
-
-        $path = $this->store->lock($req);
-        $this->assertTrue($this->store->isLocked($req));
-
-        $this->store->unlock($req);
-        $this->assertFalse($this->store->isLocked($req));
-    }
-
-    protected function storeSimpleEntry($path = null, $headers = array())
-    {
-        if (null === $path) {
-            $path = '/test';
-        }
-
-        $this->request = Request::create($path, 'get', array(), array(), array(), $headers);
-        $this->response = new Response('test', 200, array('Cache-Control' => 'max-age=420'));
-
-        return $this->store->write($this->request, $this->response);
-    }
-
-    protected function getStoreMetadata($key)
-    {
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('getMetadata');
-        $m->setAccessible(true);
-
-        if ($key instanceof Request) {
-            $m1 = $r->getMethod('getCacheKey');
-            $m1->setAccessible(true);
-            $key = $m1->invoke($this->store, $key);
-        }
-
-        return $m->invoke($this->store, $key);
-    }
-
-    protected function getStorePath($key)
-    {
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('getPath');
-        $m->setAccessible(true);
-
-        return $m->invoke($this->store, $key);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php
deleted file mode 100644
index 5546ba2..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestHttpKernel extends HttpKernel implements ControllerResolverInterface
-{
-    protected $body;
-    protected $status;
-    protected $headers;
-    protected $called = false;
-    protected $customizer;
-    protected $catch = false;
-    protected $backendRequest;
-
-    public function __construct($body, $status, $headers, \Closure $customizer = null)
-    {
-        $this->body = $body;
-        $this->status = $status;
-        $this->headers = $headers;
-        $this->customizer = $customizer;
-
-        parent::__construct(new EventDispatcher(), $this);
-    }
-
-    public function getBackendRequest()
-    {
-        return $this->backendRequest;
-    }
-
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = false)
-    {
-        $this->catch = $catch;
-        $this->backendRequest = $request;
-
-        return parent::handle($request, $type, $catch);
-    }
-
-    public function isCatchingExceptions()
-    {
-        return $this->catch;
-    }
-
-    public function getController(Request $request)
-    {
-        return array($this, 'callController');
-    }
-
-    public function getArguments(Request $request, $controller)
-    {
-        return array($request);
-    }
-
-    public function callController(Request $request)
-    {
-        $this->called = true;
-
-        $response = new Response($this->body, $this->status, $this->headers);
-
-        if (null !== $customizer = $this->customizer) {
-            $customizer($request, $response);
-        }
-
-        return $response;
-    }
-
-    public function hasBeenCalled()
-    {
-        return $this->called;
-    }
-
-    public function reset()
-    {
-        $this->called = false;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php
deleted file mode 100644
index 773e221..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestMultipleHttpKernel extends HttpKernel implements ControllerResolverInterface
-{
-    protected $bodies = array();
-    protected $statuses = array();
-    protected $headers = array();
-    protected $call = false;
-    protected $backendRequest;
-
-    public function __construct($responses)
-    {
-        foreach ($responses as $response) {
-            $this->bodies[] = $response['body'];
-            $this->statuses[] = $response['status'];
-            $this->headers[] = $response['headers'];
-        }
-
-        parent::__construct(new EventDispatcher(), $this);
-    }
-
-    public function getBackendRequest()
-    {
-        return $this->backendRequest;
-    }
-
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = false)
-    {
-        $this->backendRequest = $request;
-
-        return parent::handle($request, $type, $catch);
-    }
-
-    public function getController(Request $request)
-    {
-        return array($this, 'callController');
-    }
-
-    public function getArguments(Request $request, $controller)
-    {
-        return array($request);
-    }
-
-    public function callController(Request $request)
-    {
-        $this->called = true;
-
-        $response = new Response(array_shift($this->bodies), array_shift($this->statuses), array_shift($this->headers));
-
-        return $response;
-    }
-
-    public function hasBeenCalled()
-    {
-        return $this->called;
-    }
-
-    public function reset()
-    {
-        $this->call = false;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php
deleted file mode 100644
index 700b111..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php
+++ /dev/null
@@ -1,300 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
-use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class HttpKernelTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testHandleWhenControllerThrowsAnExceptionAndRawIsTrue()
-    {
-        $kernel = new HttpKernel(new EventDispatcher(), $this->getResolver(function () { throw new \RuntimeException(); }));
-
-        $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testHandleWhenControllerThrowsAnExceptionAndRawIsFalseAndNoListenerIsRegistered()
-    {
-        $kernel = new HttpKernel(new EventDispatcher(), $this->getResolver(function () { throw new \RuntimeException(); }));
-
-        $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, false);
-    }
-
-    public function testHandleWhenControllerThrowsAnExceptionAndRawIsFalse()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) {
-            $event->setResponse(new Response($event->getException()->getMessage()));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new \RuntimeException('foo'); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals('500', $response->getStatusCode());
-        $this->assertEquals('foo', $response->getContent());
-    }
-
-    public function testHandleExceptionWithARedirectionResponse()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) {
-            $event->setResponse(new RedirectResponse('/login', 301));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new AccessDeniedHttpException(); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals('301', $response->getStatusCode());
-        $this->assertEquals('/login', $response->headers->get('Location'));
-    }
-
-    public function testHandleHttpException()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) {
-            $event->setResponse(new Response($event->getException()->getMessage()));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new MethodNotAllowedHttpException(array('POST')); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals('405', $response->getStatusCode());
-        $this->assertEquals('POST', $response->headers->get('Allow'));
-    }
-
-    /**
-     * @dataProvider getStatusCodes
-     */
-    public function testHandleWhenAnExceptionIsHandledWithASpecificStatusCode($responseStatusCode, $expectedStatusCode)
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) use ($responseStatusCode, $expectedStatusCode) {
-            $event->setResponse(new Response('', $responseStatusCode, array('X-Status-Code' => $expectedStatusCode)));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new \RuntimeException(); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals($expectedStatusCode, $response->getStatusCode());
-        $this->assertFalse($response->headers->has('X-Status-Code'));
-    }
-
-    public function getStatusCodes()
-    {
-        return array(
-            array(200, 404),
-            array(404, 200),
-            array(301, 200),
-            array(500, 200),
-        );
-    }
-
-    public function testHandleWhenAListenerReturnsAResponse()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::REQUEST, function ($event) {
-            $event->setResponse(new Response('hello'));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver());
-
-        $this->assertEquals('hello', $kernel->handle(new Request())->getContent());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
-     */
-    public function testHandleWhenNoControllerIsFound()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(false));
-
-        $kernel->handle(new Request());
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testHandleWhenTheControllerIsNotACallable()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver('foobar'));
-
-        $kernel->handle(new Request());
-    }
-
-    public function testHandleWhenTheControllerIsAClosure()
-    {
-        $response = new Response('foo');
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () use ($response) { return $response; }));
-
-        $this->assertSame($response, $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAnObjectWithInvoke()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(new Controller()));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAFunction()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver('Symfony\Component\HttpKernel\Tests\controller_func'));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAnArray()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(array(new Controller(), 'controller')));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAStaticArray()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(array('Symfony\Component\HttpKernel\Tests\Controller', 'staticcontroller')));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testHandleWhenTheControllerDoesNotReturnAResponse()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { return 'foo'; }));
-
-        $kernel->handle(new Request());
-    }
-
-    public function testHandleWhenTheControllerDoesNotReturnAResponseButAViewIsRegistered()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::VIEW, function ($event) {
-            $event->setResponse(new Response($event->getControllerResult()));
-        });
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { return 'foo'; }));
-
-        $this->assertEquals('foo', $kernel->handle(new Request())->getContent());
-    }
-
-    public function testHandleWithAResponseListener()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::RESPONSE, function ($event) {
-            $event->setResponse(new Response('foo'));
-        });
-        $kernel = new HttpKernel($dispatcher, $this->getResolver());
-
-        $this->assertEquals('foo', $kernel->handle(new Request())->getContent());
-    }
-
-    public function testTerminate()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver());
-        $dispatcher->addListener(KernelEvents::TERMINATE, function ($event) use (&$called, &$capturedKernel, &$capturedRequest, &$capturedResponse) {
-            $called = true;
-            $capturedKernel = $event->getKernel();
-            $capturedRequest = $event->getRequest();
-            $capturedResponse = $event->getResponse();
-        });
-
-        $kernel->terminate($request = Request::create('/'), $response = new Response());
-        $this->assertTrue($called);
-        $this->assertEquals($kernel, $capturedKernel);
-        $this->assertEquals($request, $capturedRequest);
-        $this->assertEquals($response, $capturedResponse);
-    }
-
-    public function testVerifyRequestStackPushPopDuringHandle()
-    {
-        $request = new Request();
-
-        $stack = $this->getMock('Symfony\Component\HttpFoundation\RequestStack', array('push', 'pop'));
-        $stack->expects($this->at(0))->method('push')->with($this->equalTo($request));
-        $stack->expects($this->at(1))->method('pop');
-
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(), $stack);
-
-        $kernel->handle($request, HttpKernelInterface::MASTER_REQUEST);
-    }
-
-    protected function getResolver($controller = null)
-    {
-        if (null === $controller) {
-            $controller = function () { return new Response('Hello'); };
-        }
-
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface');
-        $resolver->expects($this->any())
-            ->method('getController')
-            ->will($this->returnValue($controller));
-        $resolver->expects($this->any())
-            ->method('getArguments')
-            ->will($this->returnValue(array()));
-
-        return $resolver;
-    }
-
-    protected function assertResponseEquals(Response $expected, Response $actual)
-    {
-        $expected->setDate($actual->getDate());
-        $this->assertEquals($expected, $actual);
-    }
-}
-
-class Controller
-{
-    public function __invoke()
-    {
-        return new Response('foo');
-    }
-
-    public function controller()
-    {
-        return new Response('foo');
-    }
-
-    public static function staticController()
-    {
-        return new Response('foo');
-    }
-}
-
-function controller_func()
-{
-    return new Response('foo');
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php
deleted file mode 100644
index 2b75ba2..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php
+++ /dev/null
@@ -1,850 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\HttpKernel\Config\EnvParametersResource;
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest;
-use Symfony\Component\HttpKernel\Tests\Fixtures\KernelForOverrideName;
-use Symfony\Component\HttpKernel\Tests\Fixtures\FooBarBundle;
-
-class KernelTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructor()
-    {
-        $env = 'test_env';
-        $debug = true;
-        $kernel = new KernelForTest($env, $debug);
-
-        $this->assertEquals($env, $kernel->getEnvironment());
-        $this->assertEquals($debug, $kernel->isDebug());
-        $this->assertFalse($kernel->isBooted());
-        $this->assertLessThanOrEqual(microtime(true), $kernel->getStartTime());
-        $this->assertNull($kernel->getContainer());
-    }
-
-    public function testClone()
-    {
-        $env = 'test_env';
-        $debug = true;
-        $kernel = new KernelForTest($env, $debug);
-
-        $clone = clone $kernel;
-
-        $this->assertEquals($env, $clone->getEnvironment());
-        $this->assertEquals($debug, $clone->isDebug());
-        $this->assertFalse($clone->isBooted());
-        $this->assertLessThanOrEqual(microtime(true), $clone->getStartTime());
-        $this->assertNull($clone->getContainer());
-    }
-
-    public function testBootInitializesBundlesAndContainer()
-    {
-        $kernel = $this->getKernel(array('initializeBundles', 'initializeContainer'));
-        $kernel->expects($this->once())
-            ->method('initializeBundles');
-        $kernel->expects($this->once())
-            ->method('initializeContainer');
-
-        $kernel->boot();
-    }
-
-    public function testBootSetsTheContainerToTheBundles()
-    {
-        $bundle = $this->getMock('Symfony\Component\HttpKernel\Bundle\Bundle');
-        $bundle->expects($this->once())
-            ->method('setContainer');
-
-        $kernel = $this->getKernel(array('initializeBundles', 'initializeContainer', 'getBundles'));
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array($bundle)));
-
-        $kernel->boot();
-    }
-
-    public function testBootSetsTheBootedFlagToTrue()
-    {
-        // use test kernel to access isBooted()
-        $kernel = $this->getKernelForTest(array('initializeBundles', 'initializeContainer'));
-        $kernel->boot();
-
-        $this->assertTrue($kernel->isBooted());
-    }
-
-    public function testClassCacheIsLoaded()
-    {
-        $kernel = $this->getKernel(array('initializeBundles', 'initializeContainer', 'doLoadClassCache'));
-        $kernel->loadClassCache('name', '.extension');
-        $kernel->expects($this->once())
-            ->method('doLoadClassCache')
-            ->with('name', '.extension');
-
-        $kernel->boot();
-    }
-
-    public function testClassCacheIsNotLoadedByDefault()
-    {
-        $kernel = $this->getKernel(array('initializeBundles', 'initializeContainer'));
-        $kernel->expects($this->never())
-            ->method('doLoadClassCache');
-
-        $kernel->boot();
-    }
-
-    public function testClassCacheIsNotLoadedWhenKernelIsNotBooted()
-    {
-        $kernel = $this->getKernel(array('initializeBundles', 'initializeContainer', 'doLoadClassCache'));
-        $kernel->loadClassCache();
-        $kernel->expects($this->never())
-            ->method('doLoadClassCache');
-    }
-
-    public function testEnvParametersResourceIsAdded()
-    {
-        $container = new ContainerBuilder();
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getContainerBuilder', 'prepareContainer', 'getCacheDir', 'getLogDir'))
-            ->getMock();
-        $kernel->expects($this->any())
-            ->method('getContainerBuilder')
-            ->will($this->returnValue($container));
-        $kernel->expects($this->any())
-            ->method('prepareContainer')
-            ->will($this->returnValue(null));
-        $kernel->expects($this->any())
-            ->method('getCacheDir')
-            ->will($this->returnValue(sys_get_temp_dir()));
-        $kernel->expects($this->any())
-            ->method('getLogDir')
-            ->will($this->returnValue(sys_get_temp_dir()));
-
-        $reflection = new \ReflectionClass(get_class($kernel));
-        $method = $reflection->getMethod('buildContainer');
-        $method->setAccessible(true);
-        $method->invoke($kernel);
-
-        $found = false;
-        foreach ($container->getResources() as $resource) {
-            if ($resource instanceof EnvParametersResource) {
-                $found = true;
-                break;
-            }
-        }
-
-        $this->assertTrue($found);
-    }
-
-    public function testBootKernelSeveralTimesOnlyInitializesBundlesOnce()
-    {
-        $kernel = $this->getKernel(array('initializeBundles', 'initializeContainer'));
-        $kernel->expects($this->once())
-            ->method('initializeBundles');
-
-        $kernel->boot();
-        $kernel->boot();
-    }
-
-    public function testShutdownCallsShutdownOnAllBundles()
-    {
-        $bundle = $this->getMock('Symfony\Component\HttpKernel\Bundle\Bundle');
-        $bundle->expects($this->once())
-            ->method('shutdown');
-
-        $kernel = $this->getKernel(array(), array($bundle));
-
-        $kernel->boot();
-        $kernel->shutdown();
-    }
-
-    public function testShutdownGivesNullContainerToAllBundles()
-    {
-        $bundle = $this->getMock('Symfony\Component\HttpKernel\Bundle\Bundle');
-        $bundle->expects($this->at(3))
-            ->method('setContainer')
-            ->with(null);
-
-        $kernel = $this->getKernel(array('getBundles'));
-        $kernel->expects($this->any())
-            ->method('getBundles')
-            ->will($this->returnValue(array($bundle)));
-
-        $kernel->boot();
-        $kernel->shutdown();
-    }
-
-    public function testHandleCallsHandleOnHttpKernel()
-    {
-        $type = HttpKernelInterface::MASTER_REQUEST;
-        $catch = true;
-        $request = new Request();
-
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernel')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $httpKernelMock
-            ->expects($this->once())
-            ->method('handle')
-            ->with($request, $type, $catch);
-
-        $kernel = $this->getKernel(array('getHttpKernel'));
-        $kernel->expects($this->once())
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->handle($request, $type, $catch);
-    }
-
-    public function testHandleBootsTheKernel()
-    {
-        $type = HttpKernelInterface::MASTER_REQUEST;
-        $catch = true;
-        $request = new Request();
-
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernel')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $kernel = $this->getKernel(array('getHttpKernel', 'boot'));
-        $kernel->expects($this->once())
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->expects($this->once())
-            ->method('boot');
-
-        $kernel->handle($request, $type, $catch);
-    }
-
-    public function testStripComments()
-    {
-        $source = <<<'EOF'
-<?php
-
-$string = 'string should not be   modified';
-
-$string = 'string should not be
-
-modified';
-
-
-$heredoc = <<<HD
-
-
-Heredoc should not be   modified
-
-
-HD;
-
-$nowdoc = <<<'ND'
-
-
-Nowdoc should not be   modified
-
-
-ND;
-
-/**
- * some class comments to strip
- */
-class TestClass
-{
-    /**
-     * some method comments to strip
-     */
-    public function doStuff()
-    {
-        // inline comment
-    }
-}
-EOF;
-        $expected = <<<'EOF'
-<?php
-$string = 'string should not be   modified';
-$string = 'string should not be
-
-modified';
-$heredoc = <<<HD
-
-
-Heredoc should not be   modified
-
-
-HD;
-$nowdoc = <<<'ND'
-
-
-Nowdoc should not be   modified
-
-
-ND;
-class TestClass
-{
-    public function doStuff()
-    {
-        }
-}
-EOF;
-
-        $output = Kernel::stripComments($source);
-
-        // Heredocs are preserved, making the output mixing Unix and Windows line
-        // endings, switching to "\n" everywhere on Windows to avoid failure.
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $expected = str_replace("\r\n", "\n", $expected);
-            $output = str_replace("\r\n", "\n", $output);
-        }
-
-        $this->assertEquals($expected, $output);
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyIsClassInActiveBundleFalse()
-    {
-        $kernel = $this->getKernelMockForIsClassInActiveBundleTest();
-
-        $this->assertFalse($kernel->isClassInActiveBundle('Not\In\Active\Bundle'));
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyIsClassInActiveBundleFalseNoNamespace()
-    {
-        $kernel = $this->getKernelMockForIsClassInActiveBundleTest();
-
-        $this->assertFalse($kernel->isClassInActiveBundle('NotNamespacedClass'));
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyIsClassInActiveBundleTrue()
-    {
-        $kernel = $this->getKernelMockForIsClassInActiveBundleTest();
-
-        $this->assertTrue($kernel->isClassInActiveBundle(__NAMESPACE__.'\Fixtures\FooBarBundle\SomeClass'));
-    }
-
-    protected function getKernelMockForIsClassInActiveBundleTest()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $bundle = new FooBarBundle();
-
-        $kernel = $this->getKernel(array('getBundles'));
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array($bundle)));
-
-        return $kernel;
-    }
-
-    public function testGetRootDir()
-    {
-        $kernel = new KernelForTest('test', true);
-
-        $this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures', realpath($kernel->getRootDir()));
-    }
-
-    public function testGetName()
-    {
-        $kernel = new KernelForTest('test', true);
-
-        $this->assertEquals('Fixtures', $kernel->getName());
-    }
-
-    public function testOverrideGetName()
-    {
-        $kernel = new KernelForOverrideName('test', true);
-
-        $this->assertEquals('overridden', $kernel->getName());
-    }
-
-    public function testSerialize()
-    {
-        $env = 'test_env';
-        $debug = true;
-        $kernel = new KernelForTest($env, $debug);
-
-        $expected = serialize(array($env, $debug));
-        $this->assertEquals($expected, $kernel->serialize());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLocateResourceThrowsExceptionWhenNameIsNotValid()
-    {
-        $this->getKernel()->locateResource('Foo');
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testLocateResourceThrowsExceptionWhenNameIsUnsafe()
-    {
-        $this->getKernel()->locateResource('@FooBundle/../bar');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLocateResourceThrowsExceptionWhenBundleDoesNotExist()
-    {
-        $this->getKernel()->locateResource('@FooBundle/config/routing.xml');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLocateResourceThrowsExceptionWhenResourceDoesNotExist()
-    {
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'))))
-        ;
-
-        $kernel->locateResource('@Bundle1Bundle/config/routing.xml');
-    }
-
-    public function testLocateResourceReturnsTheFirstThatMatches()
-    {
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(__DIR__.'/Fixtures/Bundle1Bundle/foo.txt', $kernel->locateResource('@Bundle1Bundle/foo.txt'));
-    }
-
-    public function testLocateResourceReturnsTheFirstThatMatchesWithParent()
-    {
-        $parent = $this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle');
-        $child = $this->getBundle(__DIR__.'/Fixtures/Bundle2Bundle');
-
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->exactly(2))
-            ->method('getBundle')
-            ->will($this->returnValue(array($child, $parent)))
-        ;
-
-        $this->assertEquals(__DIR__.'/Fixtures/Bundle2Bundle/foo.txt', $kernel->locateResource('@ParentAABundle/foo.txt'));
-        $this->assertEquals(__DIR__.'/Fixtures/Bundle1Bundle/bar.txt', $kernel->locateResource('@ParentAABundle/bar.txt'));
-    }
-
-    public function testLocateResourceReturnsAllMatches()
-    {
-        $parent = $this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle');
-        $child = $this->getBundle(__DIR__.'/Fixtures/Bundle2Bundle');
-
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($child, $parent)))
-        ;
-
-        $this->assertEquals(array(
-            __DIR__.'/Fixtures/Bundle2Bundle/foo.txt',
-            __DIR__.'/Fixtures/Bundle1Bundle/foo.txt', ),
-            $kernel->locateResource('@Bundle1Bundle/foo.txt', null, false));
-    }
-
-    public function testLocateResourceReturnsAllMatchesBis()
-    {
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array(
-                $this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'),
-                $this->getBundle(__DIR__.'/Foobar'),
-            )))
-        ;
-
-        $this->assertEquals(
-            array(__DIR__.'/Fixtures/Bundle1Bundle/foo.txt'),
-            $kernel->locateResource('@Bundle1Bundle/foo.txt', null, false)
-        );
-    }
-
-    public function testLocateResourceIgnoresDirOnNonResource()
-    {
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Bundle1Bundle/foo.txt',
-            $kernel->locateResource('@Bundle1Bundle/foo.txt', __DIR__.'/Fixtures')
-        );
-    }
-
-    public function testLocateResourceReturnsTheDirOneForResources()
-    {
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/FooBundle', null, null, 'FooBundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/FooBundle/foo.txt',
-            $kernel->locateResource('@FooBundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources')
-        );
-    }
-
-    public function testLocateResourceReturnsTheDirOneForResourcesAndBundleOnes()
-    {
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle', null, null, 'Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(array(
-            __DIR__.'/Fixtures/Resources/Bundle1Bundle/foo.txt',
-            __DIR__.'/Fixtures/Bundle1Bundle/Resources/foo.txt', ),
-            $kernel->locateResource('@Bundle1Bundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources', false)
-        );
-    }
-
-    public function testLocateResourceOverrideBundleAndResourcesFolders()
-    {
-        $parent = $this->getBundle(__DIR__.'/Fixtures/BaseBundle', null, 'BaseBundle', 'BaseBundle');
-        $child = $this->getBundle(__DIR__.'/Fixtures/ChildBundle', 'ParentBundle', 'ChildBundle', 'ChildBundle');
-
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->exactly(4))
-            ->method('getBundle')
-            ->will($this->returnValue(array($child, $parent)))
-        ;
-
-        $this->assertEquals(array(
-            __DIR__.'/Fixtures/Resources/ChildBundle/foo.txt',
-            __DIR__.'/Fixtures/ChildBundle/Resources/foo.txt',
-            __DIR__.'/Fixtures/BaseBundle/Resources/foo.txt',
-            ),
-            $kernel->locateResource('@BaseBundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources', false)
-        );
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/ChildBundle/foo.txt',
-            $kernel->locateResource('@BaseBundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources')
-        );
-
-        try {
-            $kernel->locateResource('@BaseBundle/Resources/hide.txt', __DIR__.'/Fixtures/Resources', false);
-            $this->fail('Hidden resources should raise an exception when returning an array of matching paths');
-        } catch (\RuntimeException $e) {
-        }
-
-        try {
-            $kernel->locateResource('@BaseBundle/Resources/hide.txt', __DIR__.'/Fixtures/Resources', true);
-            $this->fail('Hidden resources should raise an exception when returning the first matching path');
-        } catch (\RuntimeException $e) {
-        }
-    }
-
-    public function testLocateResourceOnDirectories()
-    {
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->exactly(2))
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/FooBundle', null, null, 'FooBundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/FooBundle/',
-            $kernel->locateResource('@FooBundle/Resources/', __DIR__.'/Fixtures/Resources')
-        );
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/FooBundle',
-            $kernel->locateResource('@FooBundle/Resources', __DIR__.'/Fixtures/Resources')
-        );
-
-        $kernel = $this->getKernel(array('getBundle'));
-        $kernel
-            ->expects($this->exactly(2))
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle', null, null, 'Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Bundle1Bundle/Resources/',
-            $kernel->locateResource('@Bundle1Bundle/Resources/')
-        );
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Bundle1Bundle/Resources',
-            $kernel->locateResource('@Bundle1Bundle/Resources')
-        );
-    }
-
-    public function testInitializeBundles()
-    {
-        $parent = $this->getBundle(null, null, 'ParentABundle');
-        $child = $this->getBundle(null, 'ParentABundle', 'ChildABundle');
-
-        // use test kernel so we can access getBundleMap()
-        $kernel = $this->getKernelForTest(array('registerBundles'));
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($parent, $child)))
-        ;
-        $kernel->boot();
-
-        $map = $kernel->getBundleMap();
-        $this->assertEquals(array($child, $parent), $map['ParentABundle']);
-    }
-
-    public function testInitializeBundlesSupportInheritanceCascade()
-    {
-        $grandparent = $this->getBundle(null, null, 'GrandParentBBundle');
-        $parent = $this->getBundle(null, 'GrandParentBBundle', 'ParentBBundle');
-        $child = $this->getBundle(null, 'ParentBBundle', 'ChildBBundle');
-
-        // use test kernel so we can access getBundleMap()
-        $kernel = $this->getKernelForTest(array('registerBundles'));
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($grandparent, $parent, $child)))
-        ;
-        $kernel->boot();
-
-        $map = $kernel->getBundleMap();
-        $this->assertEquals(array($child, $parent, $grandparent), $map['GrandParentBBundle']);
-        $this->assertEquals(array($child, $parent), $map['ParentBBundle']);
-        $this->assertEquals(array($child), $map['ChildBBundle']);
-    }
-
-    /**
-     * @expectedException \LogicException
-     * @expectedExceptionMessage Bundle "ChildCBundle" extends bundle "FooBar", which is not registered.
-     */
-    public function testInitializeBundlesThrowsExceptionWhenAParentDoesNotExists()
-    {
-        $child = $this->getBundle(null, 'FooBar', 'ChildCBundle');
-        $kernel = $this->getKernel(array(), array($child));
-        $kernel->boot();
-    }
-
-    public function testInitializeBundlesSupportsArbitraryBundleRegistrationOrder()
-    {
-        $grandparent = $this->getBundle(null, null, 'GrandParentCBundle');
-        $parent = $this->getBundle(null, 'GrandParentCBundle', 'ParentCBundle');
-        $child = $this->getBundle(null, 'ParentCBundle', 'ChildCBundle');
-
-        // use test kernel so we can access getBundleMap()
-        $kernel = $this->getKernelForTest(array('registerBundles'));
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($parent, $grandparent, $child)))
-        ;
-        $kernel->boot();
-
-        $map = $kernel->getBundleMap();
-        $this->assertEquals(array($child, $parent, $grandparent), $map['GrandParentCBundle']);
-        $this->assertEquals(array($child, $parent), $map['ParentCBundle']);
-        $this->assertEquals(array($child), $map['ChildCBundle']);
-    }
-
-    /**
-     * @expectedException \LogicException
-     * @expectedExceptionMessage Bundle "ParentCBundle" is directly extended by two bundles "ChildC2Bundle" and "ChildC1Bundle".
-     */
-    public function testInitializeBundlesThrowsExceptionWhenABundleIsDirectlyExtendedByTwoBundles()
-    {
-        $parent = $this->getBundle(null, null, 'ParentCBundle');
-        $child1 = $this->getBundle(null, 'ParentCBundle', 'ChildC1Bundle');
-        $child2 = $this->getBundle(null, 'ParentCBundle', 'ChildC2Bundle');
-
-        $kernel = $this->getKernel(array(), array($parent, $child1, $child2));
-        $kernel->boot();
-    }
-
-    /**
-     * @expectedException \LogicException
-     * @expectedExceptionMessage Trying to register two bundles with the same name "DuplicateName"
-     */
-    public function testInitializeBundleThrowsExceptionWhenRegisteringTwoBundlesWithTheSameName()
-    {
-        $fooBundle = $this->getBundle(null, null, 'FooBundle', 'DuplicateName');
-        $barBundle = $this->getBundle(null, null, 'BarBundle', 'DuplicateName');
-
-        $kernel = $this->getKernel(array(), array($fooBundle, $barBundle));
-        $kernel->boot();
-    }
-
-    /**
-     * @expectedException \LogicException
-     * @expectedExceptionMessage Bundle "CircularRefBundle" can not extend itself.
-     */
-    public function testInitializeBundleThrowsExceptionWhenABundleExtendsItself()
-    {
-        $circularRef = $this->getBundle(null, 'CircularRefBundle', 'CircularRefBundle');
-
-        $kernel = $this->getKernel(array(), array($circularRef));
-        $kernel->boot();
-    }
-
-    public function testTerminateReturnsSilentlyIfKernelIsNotBooted()
-    {
-        $kernel = $this->getKernel(array('getHttpKernel'));
-        $kernel->expects($this->never())
-            ->method('getHttpKernel');
-
-        $kernel->terminate(Request::create('/'), new Response());
-    }
-
-    public function testTerminateDelegatesTerminationOnlyForTerminableInterface()
-    {
-        // does not implement TerminableInterface
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $httpKernelMock
-            ->expects($this->never())
-            ->method('terminate');
-
-        $kernel = $this->getKernel(array('getHttpKernel'));
-        $kernel->expects($this->once())
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->boot();
-        $kernel->terminate(Request::create('/'), new Response());
-
-        // implements TerminableInterface
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernel')
-            ->disableOriginalConstructor()
-            ->setMethods(array('terminate'))
-            ->getMock();
-
-        $httpKernelMock
-            ->expects($this->once())
-            ->method('terminate');
-
-        $kernel = $this->getKernel(array('getHttpKernel'));
-        $kernel->expects($this->exactly(2))
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->boot();
-        $kernel->terminate(Request::create('/'), new Response());
-    }
-
-    /**
-     * Returns a mock for the BundleInterface
-     *
-     * @return BundleInterface
-     */
-    protected function getBundle($dir = null, $parent = null, $className = null, $bundleName = null)
-    {
-        $bundle = $this
-            ->getMockBuilder('Symfony\Component\HttpKernel\Bundle\BundleInterface')
-            ->setMethods(array('getPath', 'getParent', 'getName'))
-            ->disableOriginalConstructor()
-        ;
-
-        if ($className) {
-            $bundle->setMockClassName($className);
-        }
-
-        $bundle = $bundle->getMockForAbstractClass();
-
-        $bundle
-            ->expects($this->any())
-            ->method('getName')
-            ->will($this->returnValue(null === $bundleName ? get_class($bundle) : $bundleName))
-        ;
-
-        $bundle
-            ->expects($this->any())
-            ->method('getPath')
-            ->will($this->returnValue($dir))
-        ;
-
-        $bundle
-            ->expects($this->any())
-            ->method('getParent')
-            ->will($this->returnValue($parent))
-        ;
-
-        return $bundle;
-    }
-
-    /**
-     * Returns a mock for the abstract kernel.
-     *
-     * @param array $methods Additional methods to mock (besides the abstract ones)
-     * @param array $bundles Bundles to register
-     *
-     * @return Kernel
-     */
-    protected function getKernel(array $methods = array(), array $bundles = array())
-    {
-        $methods[] = 'registerBundles';
-
-        $kernel = $this
-            ->getMockBuilder('Symfony\Component\HttpKernel\Kernel')
-            ->setMethods($methods)
-            ->setConstructorArgs(array('test', false))
-            ->getMockForAbstractClass()
-        ;
-        $kernel->expects($this->any())
-            ->method('registerBundles')
-            ->will($this->returnValue($bundles))
-        ;
-        $p = new \ReflectionProperty($kernel, 'rootDir');
-        $p->setAccessible(true);
-        $p->setValue($kernel, __DIR__.'/Fixtures');
-
-        return $kernel;
-    }
-
-    protected function getKernelForTest(array $methods = array())
-    {
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->setConstructorArgs(array('test', false))
-            ->setMethods($methods)
-            ->getMock();
-        $p = new \ReflectionProperty($kernel, 'rootDir');
-        $p->setAccessible(true);
-        $p->setValue($kernel, __DIR__.'/Fixtures');
-
-        return $kernel;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php
deleted file mode 100644
index 017518a..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Psr\Log\LoggerInterface;
-
-class Logger implements LoggerInterface
-{
-    protected $logs;
-
-    public function __construct()
-    {
-        $this->clear();
-    }
-
-    public function getLogs($level = false)
-    {
-        return false === $level ? $this->logs : $this->logs[$level];
-    }
-
-    public function clear()
-    {
-        $this->logs = array(
-            'emergency' => array(),
-            'alert' => array(),
-            'critical' => array(),
-            'error' => array(),
-            'warning' => array(),
-            'notice' => array(),
-            'info' => array(),
-            'debug' => array(),
-        );
-    }
-
-    public function log($level, $message, array $context = array())
-    {
-        $this->logs[$level][] = $message;
-    }
-
-    public function emergency($message, array $context = array())
-    {
-        $this->log('emergency', $message, $context);
-    }
-
-    public function alert($message, array $context = array())
-    {
-        $this->log('alert', $message, $context);
-    }
-
-    public function critical($message, array $context = array())
-    {
-        $this->log('critical', $message, $context);
-    }
-
-    public function error($message, array $context = array())
-    {
-        $this->log('error', $message, $context);
-    }
-
-    public function warning($message, array $context = array())
-    {
-        $this->log('warning', $message, $context);
-    }
-
-    public function notice($message, array $context = array())
-    {
-        $this->log('notice', $message, $context);
-    }
-
-    public function info($message, array $context = array())
-    {
-        $this->log('info', $message, $context);
-    }
-
-    public function debug($message, array $context = array())
-    {
-        $this->log('debug', $message, $context);
-    }
-
-    /**
-     * @deprecated
-     */
-    public function emerg($message, array $context = array())
-    {
-        trigger_error('Use emergency() which is PSR-3 compatible', E_USER_DEPRECATED);
-
-        $this->log('emergency', $message, $context);
-    }
-
-    /**
-     * @deprecated
-     */
-    public function crit($message, array $context = array())
-    {
-        trigger_error('Use critical() which is PSR-3 compatible', E_USER_DEPRECATED);
-
-        $this->log('critical', $message, $context);
-    }
-
-    /**
-     * @deprecated
-     */
-    public function err($message, array $context = array())
-    {
-        trigger_error('Use error() which is PSR-3 compatible', E_USER_DEPRECATED);
-
-        $this->log('error', $message, $context);
-    }
-
-    /**
-     * @deprecated
-     */
-    public function warn($message, array $context = array())
-    {
-        trigger_error('Use warning() which is PSR-3 compatible', E_USER_DEPRECATED);
-
-        $this->log('warning', $message, $context);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php
deleted file mode 100644
index 07dff69..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php
+++ /dev/null
@@ -1,254 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\Profile;
-
-abstract class AbstractProfilerStorageTest extends \PHPUnit_Framework_TestCase
-{
-    public function testStore()
-    {
-        for ($i = 0; $i < 10; $i++) {
-            $profile = new Profile('token_'.$i);
-            $profile->setIp('127.0.0.1');
-            $profile->setUrl('http://foo.bar');
-            $profile->setMethod('GET');
-            $this->getStorage()->write($profile);
-        }
-        $this->assertCount(10, $this->getStorage()->find('127.0.0.1', 'http://foo.bar', 20, 'GET'), '->write() stores data in the storage');
-    }
-
-    public function testChildren()
-    {
-        $parentProfile = new Profile('token_parent');
-        $parentProfile->setIp('127.0.0.1');
-        $parentProfile->setUrl('http://foo.bar/parent');
-
-        $childProfile = new Profile('token_child');
-        $childProfile->setIp('127.0.0.1');
-        $childProfile->setUrl('http://foo.bar/child');
-
-        $parentProfile->addChild($childProfile);
-
-        $this->getStorage()->write($parentProfile);
-        $this->getStorage()->write($childProfile);
-
-        // Load them from storage
-        $parentProfile = $this->getStorage()->read('token_parent');
-        $childProfile = $this->getStorage()->read('token_child');
-
-        // Check child has link to parent
-        $this->assertNotNull($childProfile->getParent());
-        $this->assertEquals($parentProfile->getToken(), $childProfile->getParentToken());
-
-        // Check parent has child
-        $children = $parentProfile->getChildren();
-        $this->assertCount(1, $children);
-        $this->assertEquals($childProfile->getToken(), $children[0]->getToken());
-    }
-
-    public function testStoreSpecialCharsInUrl()
-    {
-        // The storage accepts special characters in URLs (Even though URLs are not
-        // supposed to contain them)
-        $profile = new Profile('simple_quote');
-        $profile->setUrl('http://foo.bar/\'');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('simple_quote'), '->write() accepts single quotes in URL');
-
-        $profile = new Profile('double_quote');
-        $profile->setUrl('http://foo.bar/"');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('double_quote'), '->write() accepts double quotes in URL');
-
-        $profile = new Profile('backslash');
-        $profile->setUrl('http://foo.bar/\\');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('backslash'), '->write() accepts backslash in URL');
-
-        $profile = new Profile('comma');
-        $profile->setUrl('http://foo.bar/,');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('comma'), '->write() accepts comma in URL');
-    }
-
-    public function testStoreDuplicateToken()
-    {
-        $profile = new Profile('token');
-        $profile->setUrl('http://example.com/');
-
-        $this->assertTrue($this->getStorage()->write($profile), '->write() returns true when the token is unique');
-
-        $profile->setUrl('http://example.net/');
-
-        $this->assertTrue($this->getStorage()->write($profile), '->write() returns true when the token is already present in the storage');
-        $this->assertEquals('http://example.net/', $this->getStorage()->read('token')->getUrl(), '->write() overwrites the current profile data');
-
-        $this->assertCount(1, $this->getStorage()->find('', '', 1000, ''), '->find() does not return the same profile twice');
-    }
-
-    public function testRetrieveByIp()
-    {
-        $profile = new Profile('token');
-        $profile->setIp('127.0.0.1');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'), '->find() retrieve a record by IP');
-        $this->assertCount(0, $this->getStorage()->find('127.0.%.1', '', 10, 'GET'), '->find() does not interpret a "%" as a wildcard in the IP');
-        $this->assertCount(0, $this->getStorage()->find('127.0._.1', '', 10, 'GET'), '->find() does not interpret a "_" as a wildcard in the IP');
-    }
-
-    public function testRetrieveByUrl()
-    {
-        $profile = new Profile('simple_quote');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/\'');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('double_quote');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/"');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('backslash');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo\\bar/');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('percent');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/%');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('underscore');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/_');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('semicolon');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/;');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/\'', 10, 'GET'), '->find() accepts single quotes in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/"', 10, 'GET'), '->find() accepts double quotes in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo\\bar/', 10, 'GET'), '->find() accepts backslash in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/;', 10, 'GET'), '->find() accepts semicolon in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/%', 10, 'GET'), '->find() does not interpret a "%" as a wildcard in the URL');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/_', 10, 'GET'), '->find() does not interpret a "_" as a wildcard in the URL');
-    }
-
-    public function testStoreTime()
-    {
-        $dt = new \DateTime('now');
-        $start = $dt->getTimestamp();
-
-        for ($i = 0; $i < 3; $i++) {
-            $dt->modify('+1 minute');
-            $profile = new Profile('time_'.$i);
-            $profile->setIp('127.0.0.1');
-            $profile->setUrl('http://foo.bar');
-            $profile->setTime($dt->getTimestamp());
-            $profile->setMethod('GET');
-            $this->getStorage()->write($profile);
-        }
-
-        $records = $this->getStorage()->find('', '', 3, 'GET', $start, time() + 3 * 60);
-        $this->assertCount(3, $records, '->find() returns all previously added records');
-        $this->assertEquals($records[0]['token'], 'time_2', '->find() returns records ordered by time in descendant order');
-        $this->assertEquals($records[1]['token'], 'time_1', '->find() returns records ordered by time in descendant order');
-        $this->assertEquals($records[2]['token'], 'time_0', '->find() returns records ordered by time in descendant order');
-
-        $records = $this->getStorage()->find('', '', 3, 'GET', $start, time() + 2 * 60);
-        $this->assertCount(2, $records, '->find() should return only first two of the previously added records');
-    }
-
-    public function testRetrieveByEmptyUrlAndIp()
-    {
-        for ($i = 0; $i < 5; $i++) {
-            $profile = new Profile('token_'.$i);
-            $profile->setMethod('GET');
-            $this->getStorage()->write($profile);
-        }
-        $this->assertCount(5, $this->getStorage()->find('', '', 10, 'GET'), '->find() returns all previously added records');
-        $this->getStorage()->purge();
-    }
-
-    public function testRetrieveByMethodAndLimit()
-    {
-        foreach (array('POST', 'GET') as $method) {
-            for ($i = 0; $i < 5; $i++) {
-                $profile = new Profile('token_'.$i.$method);
-                $profile->setMethod($method);
-                $this->getStorage()->write($profile);
-            }
-        }
-
-        $this->assertCount(5, $this->getStorage()->find('', '', 5, 'POST'));
-
-        $this->getStorage()->purge();
-    }
-
-    public function testPurge()
-    {
-        $profile = new Profile('token1');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://example.com/');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertTrue(false !== $this->getStorage()->read('token1'));
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'));
-
-        $profile = new Profile('token2');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://example.net/');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertTrue(false !== $this->getStorage()->read('token2'));
-        $this->assertCount(2, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'));
-
-        $this->getStorage()->purge();
-
-        $this->assertEmpty($this->getStorage()->read('token'), '->purge() removes all data stored by profiler');
-        $this->assertCount(0, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'), '->purge() removes all items from index');
-    }
-
-    public function testDuplicates()
-    {
-        for ($i = 1; $i <= 5; $i++) {
-            $profile = new Profile('foo'.$i);
-            $profile->setIp('127.0.0.1');
-            $profile->setUrl('http://example.net/');
-            $profile->setMethod('GET');
-
-            ///three duplicates
-            $this->getStorage()->write($profile);
-            $this->getStorage()->write($profile);
-            $this->getStorage()->write($profile);
-        }
-        $this->assertCount(3, $this->getStorage()->find('127.0.0.1', 'http://example.net/', 3, 'GET'), '->find() method returns incorrect number of entries');
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    abstract protected function getStorage();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php
deleted file mode 100644
index 6c74621..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\FileProfilerStorage;
-use Symfony\Component\HttpKernel\Profiler\Profile;
-
-class FileProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $tmpDir;
-    protected static $storage;
-
-    protected static function cleanDir()
-    {
-        $flags = \FilesystemIterator::SKIP_DOTS;
-        $iterator = new \RecursiveDirectoryIterator(self::$tmpDir, $flags);
-        $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::SELF_FIRST);
-
-        foreach ($iterator as $file) {
-            if (is_file($file)) {
-                unlink($file);
-            }
-        }
-    }
-
-    public static function setUpBeforeClass()
-    {
-        self::$tmpDir = sys_get_temp_dir().'/sf2_profiler_file_storage';
-        if (is_dir(self::$tmpDir)) {
-            self::cleanDir();
-        }
-        self::$storage = new FileProfilerStorage('file:'.self::$tmpDir);
-    }
-
-    public static function tearDownAfterClass()
-    {
-        self::cleanDir();
-    }
-
-    protected function setUp()
-    {
-        self::$storage->purge();
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-
-    public function testMultiRowIndexFile()
-    {
-        $iteration = 3;
-        for ($i = 0; $i < $iteration; $i++) {
-            $profile = new Profile('token'.$i);
-            $profile->setIp('127.0.0.'.$i);
-            $profile->setUrl('http://foo.bar/'.$i);
-            $storage = $this->getStorage();
-
-            $storage->write($profile);
-            $storage->write($profile);
-            $storage->write($profile);
-        }
-
-        $handle = fopen(self::$tmpDir.'/index.csv', 'r');
-        for ($i = 0; $i < $iteration; $i++) {
-            $row = fgetcsv($handle);
-            $this->assertEquals('token'.$i, $row[0]);
-            $this->assertEquals('127.0.0.'.$i, $row[1]);
-            $this->assertEquals('http://foo.bar/'.$i, $row[3]);
-        }
-        $this->assertFalse(fgetcsv($handle));
-    }
-
-    public function testReadLineFromFile()
-    {
-        $r = new \ReflectionMethod(self::$storage, 'readLineFromFile');
-
-        $r->setAccessible(true);
-
-        $h = tmpfile();
-
-        fwrite($h, "line1\n\n\nline2\n");
-        fseek($h, 0, SEEK_END);
-
-        $this->assertEquals('line2', $r->invoke(self::$storage, $h));
-        $this->assertEquals('line1', $r->invoke(self::$storage, $h));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php
deleted file mode 100644
index f582dff..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\MemcacheProfilerStorage;
-use Symfony\Component\HttpKernel\Tests\Profiler\Mock\MemcacheMock;
-
-class MemcacheProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    protected function setUp()
-    {
-        $memcacheMock = new MemcacheMock();
-        $memcacheMock->addServer('127.0.0.1', 11211);
-
-        self::$storage = new MemcacheProfilerStorage('memcache://127.0.0.1:11211', '', '', 86400);
-        self::$storage->setMemcache($memcacheMock);
-
-        if (self::$storage) {
-            self::$storage->purge();
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = false;
-        }
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php
deleted file mode 100644
index 565ac35..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\MemcachedProfilerStorage;
-use Symfony\Component\HttpKernel\Tests\Profiler\Mock\MemcachedMock;
-
-class MemcachedProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    protected function setUp()
-    {
-        $memcachedMock = new MemcachedMock();
-        $memcachedMock->addServer('127.0.0.1', 11211);
-
-        self::$storage = new MemcachedProfilerStorage('memcached://127.0.0.1:11211', '', '', 86400);
-        self::$storage->setMemcached($memcachedMock);
-
-        if (self::$storage) {
-            self::$storage->purge();
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = false;
-        }
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php
deleted file mode 100644
index 9ca9816..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php
+++ /dev/null
@@ -1,254 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler\Mock;
-
-/**
- * MemcacheMock for simulating Memcache extension in tests.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class MemcacheMock
-{
-    private $connected = false;
-    private $storage = array();
-
-    /**
-     * Open memcached server connection.
-     *
-     * @param string $host
-     * @param int    $port
-     * @param int    $timeout
-     *
-     * @return bool
-     */
-    public function connect($host, $port = null, $timeout = null)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Open memcached server persistent connection.
-     *
-     * @param string $host
-     * @param int    $port
-     * @param int    $timeout
-     *
-     * @return bool
-     */
-    public function pconnect($host, $port = null, $timeout = null)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Add a memcached server to connection pool.
-     *
-     * @param string   $host
-     * @param int      $port
-     * @param bool     $persistent
-     * @param int      $weight
-     * @param int      $timeout
-     * @param int      $retry_interval
-     * @param bool     $status
-     * @param callable $failure_callback
-     * @param int      $timeoutms
-     *
-     * @return bool
-     */
-    public function addServer($host, $port = 11211, $persistent = null, $weight = null, $timeout = null, $retry_interval = null, $status = null, $failure_callback = null, $timeoutms = null)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Add an item to the server only if such key doesn't exist at the server yet.
-     *
-     * @param string $key
-     * @param mixed  $var
-     * @param int    $flag
-     * @param int    $expire
-     *
-     * @return bool
-     */
-    public function add($key, $var, $flag = null, $expire = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (!isset($this->storage[$key])) {
-            $this->storeData($key, $var);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Store data at the server.
-     *
-     * @param string $key
-     * @param string $var
-     * @param int    $flag
-     * @param int    $expire
-     *
-     * @return bool
-     */
-    public function set($key, $var, $flag = null, $expire = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storeData($key, $var);
-
-        return true;
-    }
-
-    /**
-     * Replace value of the existing item.
-     *
-     * @param string $key
-     * @param mixed  $var
-     * @param int    $flag
-     * @param int    $expire
-     *
-     * @return bool
-     */
-    public function replace($key, $var, $flag = null, $expire = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $var);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Retrieve item from the server.
-     *
-     * @param string|array $key
-     * @param int|array    $flags
-     *
-     * @return mixed
-     */
-    public function get($key, &$flags = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (is_array($key)) {
-            $result = array();
-            foreach ($key as $k) {
-                if (isset($this->storage[$k])) {
-                    $result[] = $this->getData($k);
-                }
-            }
-
-            return $result;
-        }
-
-        return $this->getData($key);
-    }
-
-    /**
-     * Delete item from the server.
-     *
-     * @param string $key
-     *
-     * @return bool
-     */
-    public function delete($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            unset($this->storage[$key]);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Flush all existing items at the server.
-     *
-     * @return bool
-     */
-    public function flush()
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storage = array();
-
-        return true;
-    }
-
-    /**
-     * Close memcached server connection.
-     *
-     * @return bool
-     */
-    public function close()
-    {
-        $this->connected = false;
-
-        return true;
-    }
-
-    private function getData($key)
-    {
-        if (isset($this->storage[$key])) {
-            return unserialize($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    private function storeData($key, $value)
-    {
-        $this->storage[$key] = serialize($value);
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php
deleted file mode 100644
index da98a12..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php
+++ /dev/null
@@ -1,219 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler\Mock;
-
-/**
- * MemcachedMock for simulating Memcached extension in tests.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class MemcachedMock
-{
-    private $connected = false;
-    private $storage = array();
-
-    /**
-     * Set a Memcached option.
-     *
-     * @param int   $option
-     * @param mixed $value
-     *
-     * @return bool
-     */
-    public function setOption($option, $value)
-    {
-        return true;
-    }
-
-    /**
-     * Add a memcached server to connection pool.
-     *
-     * @param string $host
-     * @param int    $port
-     * @param int    $weight
-     *
-     * @return bool
-     */
-    public function addServer($host, $port = 11211, $weight = 0)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Add an item to the server only if such key doesn't exist at the server yet.
-     *
-     * @param string $key
-     * @param mixed  $value
-     * @param int    $expiration
-     *
-     * @return bool
-     */
-    public function add($key, $value, $expiration = 0)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (!isset($this->storage[$key])) {
-            $this->storeData($key, $value);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Store data at the server.
-     *
-     * @param string $key
-     * @param mixed  $value
-     * @param int    $expiration
-     *
-     * @return bool
-     */
-    public function set($key, $value, $expiration = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storeData($key, $value);
-
-        return true;
-    }
-
-    /**
-     * Replace value of the existing item.
-     *
-     * @param string $key
-     * @param mixed  $value
-     * @param int    $expiration
-     *
-     * @return bool
-     */
-    public function replace($key, $value, $expiration = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $value);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Retrieve item from the server.
-     *
-     * @param string   $key
-     * @param callable $cache_cb
-     * @param float    $cas_token
-     *
-     * @return bool
-     */
-    public function get($key, $cache_cb = null, &$cas_token = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return $this->getData($key);
-    }
-
-    /**
-     * Append data to an existing item.
-     *
-     * @param string $key
-     * @param string $value
-     *
-     * @return bool
-     */
-    public function append($key, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $this->getData($key).$value);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Delete item from the server.
-     *
-     * @param string $key
-     *
-     * @return bool
-     */
-    public function delete($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            unset($this->storage[$key]);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Flush all existing items at the server.
-     *
-     * @return bool
-     */
-    public function flush()
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storage = array();
-
-        return true;
-    }
-
-    private function getData($key)
-    {
-        if (isset($this->storage[$key])) {
-            return unserialize($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    private function storeData($key, $value)
-    {
-        $this->storage[$key] = serialize($value);
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php
deleted file mode 100644
index 694dc1e..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php
+++ /dev/null
@@ -1,247 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler\Mock;
-
-/**
- * RedisMock for simulating Redis extension in tests.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class RedisMock
-{
-    private $connected = false;
-    private $storage = array();
-
-    /**
-     * Add a server to connection pool.
-     *
-     * @param string $host
-     * @param int    $port
-     * @param float  $timeout
-     *
-     * @return bool
-     */
-    public function connect($host, $port = 6379, $timeout = 0)
-    {
-        if ('127.0.0.1' == $host && 6379 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Set client option.
-     *
-     * @param int $name
-     * @param int $value
-     *
-     * @return bool
-     */
-    public function setOption($name, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Verify if the specified key exists.
-     *
-     * @param string $key
-     *
-     * @return bool
-     */
-    public function exists($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return isset($this->storage[$key]);
-    }
-
-    /**
-     * Store data at the server with expiration time.
-     *
-     * @param string $key
-     * @param int    $ttl
-     * @param mixed  $value
-     *
-     * @return bool
-     */
-    public function setex($key, $ttl, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storeData($key, $value);
-
-        return true;
-    }
-
-    /**
-     * Sets an expiration time on an item.
-     *
-     * @param string $key
-     * @param int    $ttl
-     *
-     * @return bool
-     */
-    public function setTimeout($key, $ttl)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Retrieve item from the server.
-     *
-     * @param string $key
-     *
-     * @return bool
-     */
-    public function get($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return $this->getData($key);
-    }
-
-    /**
-     * Append data to an existing item.
-     *
-     * @param string $key
-     * @param string $value
-     *
-     * @return int Size of the value after the append.
-     */
-    public function append($key, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $this->getData($key).$value);
-
-            return strlen($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    /**
-     * Remove specified keys.
-     *
-     * @param string|array $key
-     *
-     * @return int
-     */
-    public function delete($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (is_array($key)) {
-            $result = 0;
-            foreach ($key as $k) {
-                if (isset($this->storage[$k])) {
-                    unset($this->storage[$k]);
-                    ++$result;
-                }
-            }
-
-            return $result;
-        }
-
-        if (isset($this->storage[$key])) {
-            unset($this->storage[$key]);
-
-            return 1;
-        }
-
-        return 0;
-    }
-
-    /**
-     * Flush all existing items from all databases at the server.
-     *
-     * @return bool
-     */
-    public function flushAll()
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storage = array();
-
-        return true;
-    }
-
-    /**
-     * Close Redis server connection.
-     *
-     * @return bool
-     */
-    public function close()
-    {
-        $this->connected = false;
-
-        return true;
-    }
-
-    private function getData($key)
-    {
-        if (isset($this->storage[$key])) {
-            return unserialize($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    private function storeData($key, $value)
-    {
-        $this->storage[$key] = serialize($value);
-
-        return true;
-    }
-
-    public function select($dbnum)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (0 > $dbnum) {
-            return false;
-        }
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php
deleted file mode 100644
index c727325..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\MongoDbProfilerStorage;
-use Symfony\Component\HttpKernel\Profiler\Profile;
-use Symfony\Component\HttpKernel\DataCollector\DataCollector;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class DummyMongoDbProfilerStorage extends MongoDbProfilerStorage
-{
-    public function getMongo()
-    {
-        return parent::getMongo();
-    }
-}
-
-class MongoDbProfilerStorageTestDataCollector extends DataCollector
-{
-    public function setData($data)
-    {
-        $this->data = $data;
-    }
-
-    public function getData()
-    {
-        return $this->data;
-    }
-
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-    }
-
-    public function getName()
-    {
-        return 'test_data_collector';
-    }
-}
-
-class MongoDbProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    public static function setUpBeforeClass()
-    {
-        if (extension_loaded('mongo')) {
-            self::$storage = new DummyMongoDbProfilerStorage('mongodb://localhost/symfony_tests/profiler_data', '', '', 86400);
-            try {
-                self::$storage->getMongo();
-            } catch (\MongoConnectionException $e) {
-                self::$storage = null;
-            }
-        }
-    }
-
-    public static function tearDownAfterClass()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = null;
-        }
-    }
-
-    public function getDsns()
-    {
-        return array(
-            array('mongodb://localhost/symfony_tests/profiler_data', array(
-                'mongodb://localhost/symfony_tests',
-                'symfony_tests',
-                'profiler_data',
-            )),
-            array('mongodb://user:password@localhost/symfony_tests/profiler_data', array(
-                'mongodb://user:password@localhost/symfony_tests',
-                'symfony_tests',
-                'profiler_data',
-            )),
-            array('mongodb://user:password@localhost/admin/symfony_tests/profiler_data', array(
-                'mongodb://user:password@localhost/admin',
-                'symfony_tests',
-                'profiler_data',
-            )),
-            array('mongodb://user:password@localhost:27009,localhost:27010/?replicaSet=rs-name&authSource=admin/symfony_tests/profiler_data', array(
-                'mongodb://user:password@localhost:27009,localhost:27010/?replicaSet=rs-name&authSource=admin',
-                'symfony_tests',
-                'profiler_data',
-            )),
-        );
-    }
-
-    public function testCleanup()
-    {
-        $dt = new \DateTime('-2 day');
-        for ($i = 0; $i < 3; $i++) {
-            $dt->modify('-1 day');
-            $profile = new Profile('time_'.$i);
-            $profile->setTime($dt->getTimestamp());
-            $profile->setMethod('GET');
-            self::$storage->write($profile);
-        }
-        $records = self::$storage->find('', '', 3, 'GET');
-        $this->assertCount(1, $records, '->find() returns only one record');
-        $this->assertEquals($records[0]['token'], 'time_2', '->find() returns the latest added record');
-        self::$storage->purge();
-    }
-
-    /**
-     * @dataProvider getDsns
-     */
-    public function testDsnParser($dsn, $expected)
-    {
-        $m = new \ReflectionMethod(self::$storage, 'parseDsn');
-        $m->setAccessible(true);
-
-        $this->assertEquals($expected, $m->invoke(self::$storage, $dsn));
-    }
-
-    public function testUtf8()
-    {
-        $profile = new Profile('utf8_test_profile');
-
-        $data = 'HЁʃʃϿ, ϢorЃd!';
-        $nonUtf8Data = mb_convert_encoding($data, 'UCS-2');
-
-        $collector = new MongoDbProfilerStorageTestDataCollector();
-        $collector->setData($nonUtf8Data);
-
-        $profile->setCollectors(array($collector));
-
-        self::$storage->write($profile);
-
-        $readProfile = self::$storage->read('utf8_test_profile');
-        $collectors = $readProfile->getCollectors();
-
-        $this->assertCount(1, $collectors);
-        $this->assertArrayHasKey('test_data_collector', $collectors);
-        $this->assertEquals($nonUtf8Data, $collectors['test_data_collector']->getData(), 'Non-UTF8 data is properly encoded/decoded');
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-
-    protected function setUp()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-        } else {
-            $this->markTestSkipped('MongoDbProfilerStorageTest requires the mongo PHP extension and a MongoDB server on localhost');
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php
deleted file mode 100644
index 43a8960..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\DataCollector\RequestDataCollector;
-use Symfony\Component\HttpKernel\Profiler\SqliteProfilerStorage;
-use Symfony\Component\HttpKernel\Profiler\Profiler;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ProfilerTest extends \PHPUnit_Framework_TestCase
-{
-    private $tmp;
-    private $storage;
-
-    public function testCollect()
-    {
-        $request = new Request();
-        $request->query->set('foo', 'bar');
-        $response = new Response();
-        $collector = new RequestDataCollector();
-
-        $profiler = new Profiler($this->storage);
-        $profiler->add($collector);
-        $profile = $profiler->collect($request, $response);
-
-        $profile = $profiler->loadProfile($profile->getToken());
-        $this->assertEquals(array('foo' => 'bar'), $profiler->get('request')->getRequestQuery()->all());
-    }
-
-    public function testFindWorksWithDates()
-    {
-        $profiler = new Profiler($this->storage);
-
-        $this->assertCount(0, $profiler->find(null, null, null, null, '7th April 2014', '9th April 2014'));
-    }
-
-    public function testFindWorksWithTimestamps()
-    {
-        $profiler = new Profiler($this->storage);
-
-        $this->assertCount(0, $profiler->find(null, null, null, null, '1396828800', '1397001600'));
-    }
-
-    public function testFindWorksWithInvalidDates()
-    {
-        $profiler = new Profiler($this->storage);
-
-        $this->assertCount(0, $profiler->find(null, null, null, null, 'some string', ''));
-    }
-
-    protected function setUp()
-    {
-        if (!class_exists('SQLite3') && (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers()))) {
-            $this->markTestSkipped('This test requires SQLite support in your environment');
-        }
-
-        $this->tmp = tempnam(sys_get_temp_dir(), 'sf2_profiler');
-        if (file_exists($this->tmp)) {
-            @unlink($this->tmp);
-        }
-
-        $this->storage = new SqliteProfilerStorage('sqlite:'.$this->tmp);
-        $this->storage->purge();
-    }
-
-    protected function tearDown()
-    {
-        if (null !== $this->storage) {
-            $this->storage->purge();
-            $this->storage = null;
-
-            @unlink($this->tmp);
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php
deleted file mode 100644
index 91354ae..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\RedisProfilerStorage;
-use Symfony\Component\HttpKernel\Tests\Profiler\Mock\RedisMock;
-
-class RedisProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    protected function setUp()
-    {
-        $redisMock = new RedisMock();
-        $redisMock->connect('127.0.0.1', 6379);
-
-        self::$storage = new RedisProfilerStorage('redis://127.0.0.1:6379', '', '', 86400);
-        self::$storage->setRedis($redisMock);
-
-        if (self::$storage) {
-            self::$storage->purge();
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = false;
-        }
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php
deleted file mode 100644
index 43546c1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\SqliteProfilerStorage;
-
-class SqliteProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $dbFile;
-    protected static $storage;
-
-    public static function setUpBeforeClass()
-    {
-        self::$dbFile = tempnam(sys_get_temp_dir(), 'sf2_sqlite_storage');
-        if (file_exists(self::$dbFile)) {
-            @unlink(self::$dbFile);
-        }
-        self::$storage = new SqliteProfilerStorage('sqlite:'.self::$dbFile);
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$dbFile);
-    }
-
-    protected function setUp()
-    {
-        if (!class_exists('SQLite3') && (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers()))) {
-            $this->markTestSkipped('This test requires SQLite support in your environment');
-        }
-        self::$storage->purge();
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php
deleted file mode 100644
index d526c4d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestHttpKernel extends HttpKernel implements ControllerResolverInterface
-{
-    public function __construct()
-    {
-        parent::__construct(new EventDispatcher(), $this);
-    }
-
-    public function getController(Request $request)
-    {
-        return array($this, 'callController');
-    }
-
-    public function getArguments(Request $request, $controller)
-    {
-        return array($request);
-    }
-
-    public function callController(Request $request)
-    {
-        return new Response('Request: '.$request->getRequestUri());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/UriSignerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/UriSignerTest.php
deleted file mode 100644
index f4d0728..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/UriSignerTest.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\UriSigner;
-
-class UriSignerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSign()
-    {
-        $signer = new UriSigner('foobar');
-
-        $this->assertContains('?_hash=', $signer->sign('http://example.com/foo'));
-        $this->assertContains('&_hash=', $signer->sign('http://example.com/foo?foo=bar'));
-    }
-
-    public function testCheck()
-    {
-        $signer = new UriSigner('foobar');
-
-        $this->assertFalse($signer->check('http://example.com/foo?_hash=foo'));
-        $this->assertFalse($signer->check('http://example.com/foo?foo=bar&_hash=foo'));
-        $this->assertFalse($signer->check('http://example.com/foo?foo=bar&_hash=foo&bar=foo'));
-
-        $this->assertTrue($signer->check($signer->sign('http://example.com/foo')));
-        $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar')));
-
-        $this->assertTrue($signer->sign('http://example.com/foo?foo=bar&bar=foo') === $signer->sign('http://example.com/foo?bar=foo&foo=bar'));
-    }
-
-    public function testCheckWithDifferentArgSeparator()
-    {
-        $this->iniSet('arg_separator.output', '&amp;');
-        $signer = new UriSigner('foobar');
-
-        $this->assertSame(
-            "http://example.com/foo?baz=bay&foo=bar&_hash=rIOcC%2FF3DoEGo%2FvnESjSp7uU9zA9S%2F%2BOLhxgMexoPUM%3D",
-            $signer->sign('http://example.com/foo?foo=bar&baz=bay')
-        );
-        $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar&baz=bay')));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/UriSigner.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/UriSigner.php
deleted file mode 100644
index fa0d457..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/UriSigner.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel;
-
-/**
- * Signs URIs.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class UriSigner
-{
-    private $secret;
-
-    /**
-     * Constructor.
-     *
-     * @param string $secret A secret
-     */
-    public function __construct($secret)
-    {
-        $this->secret = $secret;
-    }
-
-    /**
-     * Signs a URI.
-     *
-     * The given URI is signed by adding a _hash query string parameter
-     * which value depends on the URI and the secret.
-     *
-     * @param string $uri A URI to sign
-     *
-     * @return string The signed URI
-     */
-    public function sign($uri)
-    {
-        $url = parse_url($uri);
-        if (isset($url['query'])) {
-            parse_str($url['query'], $params);
-        } else {
-            $params = array();
-        }
-
-        $uri = $this->buildUrl($url, $params);
-
-        return $uri.(false === (strpos($uri, '?')) ? '?' : '&').'_hash='.$this->computeHash($uri);
-    }
-
-    /**
-     * Checks that a URI contains the correct hash.
-     *
-     * The _hash query string parameter must be the last one
-     * (as it is generated that way by the sign() method, it should
-     * never be a problem).
-     *
-     * @param string $uri A signed URI
-     *
-     * @return bool True if the URI is signed correctly, false otherwise
-     */
-    public function check($uri)
-    {
-        $url = parse_url($uri);
-        if (isset($url['query'])) {
-            parse_str($url['query'], $params);
-        } else {
-            $params = array();
-        }
-
-        if (empty($params['_hash'])) {
-            return false;
-        }
-
-        $hash = urlencode($params['_hash']);
-        unset($params['_hash']);
-
-        return $this->computeHash($this->buildUrl($url, $params)) === $hash;
-    }
-
-    private function computeHash($uri)
-    {
-        return urlencode(base64_encode(hash_hmac('sha256', $uri, $this->secret, true)));
-    }
-
-    private function buildUrl(array $url, array $params = array())
-    {
-        ksort($params);
-        $url['query'] = http_build_query($params, '', '&');
-
-        $scheme   = isset($url['scheme']) ? $url['scheme'].'://' : '';
-        $host     = isset($url['host']) ? $url['host'] : '';
-        $port     = isset($url['port']) ? ':'.$url['port'] : '';
-        $user     = isset($url['user']) ? $url['user'] : '';
-        $pass     = isset($url['pass']) ? ':'.$url['pass']  : '';
-        $pass     = ($user || $pass) ? "$pass@" : '';
-        $path     = isset($url['path']) ? $url['path'] : '';
-        $query    = isset($url['query']) && $url['query'] ? '?'.$url['query'] : '';
-        $fragment = isset($url['fragment']) ? '#'.$url['fragment'] : '';
-
-        return $scheme.$user.$pass.$host.$port.$path.$query.$fragment;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json
deleted file mode 100644
index f828dc4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-    "name": "symfony/http-kernel",
-    "type": "library",
-    "description": "Symfony HttpKernel Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3",
-        "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2",
-        "symfony/http-foundation": "~2.5,>=2.5.4",
-        "symfony/debug": "~2.6,>=2.6.2",
-        "psr/log": "~1.0"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7",
-        "symfony/browser-kit": "~2.3",
-        "symfony/class-loader": "~2.1",
-        "symfony/config": "~2.0,>=2.0.5",
-        "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/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": ""
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\HttpKernel\\": "" }
-    },
-    "target-dir": "Symfony/Component/HttpKernel",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist
deleted file mode 100644
index 7901a0b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist
+++ /dev/null
@@ -1,27 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony HttpKernel Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/.gitignore b/core/vendor/symfony/process/Symfony/Component/Process/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/CHANGELOG.md b/core/vendor/symfony/process/Symfony/Component/Process/CHANGELOG.md
deleted file mode 100644
index 2f3c1be..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/CHANGELOG.md
+++ /dev/null
@@ -1,40 +0,0 @@
-CHANGELOG
-=========
-
-2.5.0
------
-
- * added support for PTY mode
- * added the convenience method "mustRun"
- * deprecation: Process::setStdin() is deprecated in favor of Process::setInput()
- * deprecation: Process::getStdin() is deprecated in favor of Process::getInput()
- * deprecation: Process::setInput() and ProcessBuilder::setInput() do not accept non-scalar types
-
-2.4.0
------
-
- * added the ability to define an idle timeout
-
-2.3.0
------
-
- * added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows
- * added Process::signal()
- * added Process::getPid()
- * added support for a TTY mode
-
-2.2.0
------
-
- * added ProcessBuilder::setArguments() to reset the arguments on a builder
- * added a way to retrieve the standard and error output incrementally
- * added Process:restart()
-
-2.1.0
------
-
- * added support for non-blocking processes (start(), wait(), isRunning(), stop())
- * enhanced Windows compatibility
- * added Process::getExitCodeText() that returns a string representation for
-   the exit code returned by the process
- * added ProcessBuilder
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ExceptionInterface.php b/core/vendor/symfony/process/Symfony/Component/Process/Exception/ExceptionInterface.php
deleted file mode 100644
index 75c1c9e..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Exception;
-
-/**
- * Marker Interface for the Process Component.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/InvalidArgumentException.php b/core/vendor/symfony/process/Symfony/Component/Process/Exception/InvalidArgumentException.php
deleted file mode 100644
index 926ee21..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Exception/InvalidArgumentException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Exception;
-
-/**
- * InvalidArgumentException for the Process Component.
- *
- * @author Romain Neutron <imprec@gmail.com>
- */
-class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/LogicException.php b/core/vendor/symfony/process/Symfony/Component/Process/Exception/LogicException.php
deleted file mode 100644
index be3d490..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Exception/LogicException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Exception;
-
-/**
- * LogicException for the Process Component.
- *
- * @author Romain Neutron <imprec@gmail.com>
- */
-class LogicException extends \LogicException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php b/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php
deleted file mode 100644
index 7523a5e..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Exception;
-
-use Symfony\Component\Process\Process;
-
-/**
- * Exception for failed processes.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ProcessFailedException extends RuntimeException
-{
-    private $process;
-
-    public function __construct(Process $process)
-    {
-        if ($process->isSuccessful()) {
-            throw new InvalidArgumentException('Expected a failed process, but the given process was successful.');
-        }
-
-        $error = sprintf('The command "%s" failed.'."\nExit Code: %s(%s)",
-            $process->getCommandLine(),
-            $process->getExitCode(),
-            $process->getExitCodeText()
-        );
-
-        if (!$process->isOutputDisabled()) {
-            $error .= sprintf("\n\nOutput:\n================\n%s\n\nError Output:\n================\n%s",
-                $process->getOutput(),
-                $process->getErrorOutput()
-            );
-        }
-
-        parent::__construct($error);
-
-        $this->process = $process;
-    }
-
-    public function getProcess()
-    {
-        return $this->process;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessTimedOutException.php b/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessTimedOutException.php
deleted file mode 100644
index d451146..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessTimedOutException.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Exception;
-
-use Symfony\Component\Process\Process;
-
-/**
- * Exception that is thrown when a process times out.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ProcessTimedOutException extends RuntimeException
-{
-    const TYPE_GENERAL = 1;
-    const TYPE_IDLE = 2;
-
-    private $process;
-    private $timeoutType;
-
-    public function __construct(Process $process, $timeoutType)
-    {
-        $this->process = $process;
-        $this->timeoutType = $timeoutType;
-
-        parent::__construct(sprintf(
-            'The process "%s" exceeded the timeout of %s seconds.',
-            $process->getCommandLine(),
-            $this->getExceededTimeout()
-        ));
-    }
-
-    public function getProcess()
-    {
-        return $this->process;
-    }
-
-    public function isGeneralTimeout()
-    {
-        return $this->timeoutType === self::TYPE_GENERAL;
-    }
-
-    public function isIdleTimeout()
-    {
-        return $this->timeoutType === self::TYPE_IDLE;
-    }
-
-    public function getExceededTimeout()
-    {
-        switch ($this->timeoutType) {
-            case self::TYPE_GENERAL:
-                return $this->process->getTimeout();
-
-            case self::TYPE_IDLE:
-                return $this->process->getIdleTimeout();
-
-            default:
-                throw new \LogicException(sprintf('Unknown timeout type "%d".', $this->timeoutType));
-        }
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/RuntimeException.php b/core/vendor/symfony/process/Symfony/Component/Process/Exception/RuntimeException.php
deleted file mode 100644
index adead25..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Exception/RuntimeException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Exception;
-
-/**
- * RuntimeException for the Process Component.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class RuntimeException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php b/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php
deleted file mode 100644
index a9c0a5c..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process;
-
-/**
- * Generic executable finder.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ExecutableFinder
-{
-    private $suffixes = array('.exe', '.bat', '.cmd', '.com');
-
-    /**
-     * Replaces default suffixes of executable.
-     *
-     * @param array $suffixes
-     */
-    public function setSuffixes(array $suffixes)
-    {
-        $this->suffixes = $suffixes;
-    }
-
-    /**
-     * Adds new possible suffix to check for executable.
-     *
-     * @param string $suffix
-     */
-    public function addSuffix($suffix)
-    {
-        $this->suffixes[] = $suffix;
-    }
-
-    /**
-     * Finds an executable by name.
-     *
-     * @param string $name      The executable name (without the extension)
-     * @param string $default   The default to return if no executable is found
-     * @param array  $extraDirs Additional dirs to check into
-     *
-     * @return string The executable path or default value
-     */
-    public function find($name, $default = null, array $extraDirs = array())
-    {
-        if (ini_get('open_basedir')) {
-            $searchPath = explode(PATH_SEPARATOR, ini_get('open_basedir'));
-            $dirs = array();
-            foreach ($searchPath as $path) {
-                if (is_dir($path)) {
-                    $dirs[] = $path;
-                } else {
-                    if (basename($path) == $name && is_executable($path)) {
-                        return $path;
-                    }
-                }
-            }
-        } else {
-            $dirs = array_merge(
-                explode(PATH_SEPARATOR, getenv('PATH') ?: getenv('Path')),
-                $extraDirs
-            );
-        }
-
-        $suffixes = array('');
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $pathExt = getenv('PATHEXT');
-            $suffixes = $pathExt ? explode(PATH_SEPARATOR, $pathExt) : $this->suffixes;
-        }
-        foreach ($suffixes as $suffix) {
-            foreach ($dirs as $dir) {
-                if (is_file($file = $dir.DIRECTORY_SEPARATOR.$name.$suffix) && ('\\' === DIRECTORY_SEPARATOR || is_executable($file))) {
-                    return $file;
-                }
-            }
-        }
-
-        return $default;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/LICENSE b/core/vendor/symfony/process/Symfony/Component/Process/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/process/Symfony/Component/Process/PhpExecutableFinder.php b/core/vendor/symfony/process/Symfony/Component/Process/PhpExecutableFinder.php
deleted file mode 100644
index 91d6d78..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/PhpExecutableFinder.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process;
-
-/**
- * An executable finder specifically designed for the PHP executable.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class PhpExecutableFinder
-{
-    private $executableFinder;
-
-    public function __construct()
-    {
-        $this->executableFinder = new ExecutableFinder();
-    }
-
-    /**
-     * Finds The PHP executable.
-     *
-     * @param bool $includeArgs Whether or not include command arguments
-     *
-     * @return string|false The PHP executable path or false if it cannot be found
-     */
-    public function find($includeArgs = true)
-    {
-        // HHVM support
-        if (defined('HHVM_VERSION')) {
-            return (false !== ($hhvm = getenv('PHP_BINARY')) ? $hhvm : PHP_BINARY).($includeArgs ? ' '.implode(' ', $this->findArguments()) : '');
-        }
-
-        // PHP_BINARY return the current sapi executable
-        if (defined('PHP_BINARY') && PHP_BINARY && in_array(PHP_SAPI, array('cli', 'cli-server')) && is_file(PHP_BINARY)) {
-            return PHP_BINARY;
-        }
-
-        if ($php = getenv('PHP_PATH')) {
-            if (!is_executable($php)) {
-                return false;
-            }
-
-            return $php;
-        }
-
-        if ($php = getenv('PHP_PEAR_PHP_BIN')) {
-            if (is_executable($php)) {
-                return $php;
-            }
-        }
-
-        $dirs = array(PHP_BINDIR);
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $dirs[] = 'C:\xampp\php\\';
-        }
-
-        return $this->executableFinder->find('php', false, $dirs);
-    }
-
-    /**
-     * Finds the PHP executable arguments.
-     *
-     * @return array The PHP executable arguments
-     */
-    public function findArguments()
-    {
-        $arguments = array();
-
-        // HHVM support
-        if (defined('HHVM_VERSION')) {
-            $arguments[] = '--php';
-        }
-
-        return $arguments;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php b/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php
deleted file mode 100644
index 6a58587..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process;
-
-use Symfony\Component\Process\Exception\RuntimeException;
-
-/**
- * PhpProcess runs a PHP script in an independent process.
- *
- * $p = new PhpProcess('<?php echo "foo"; ?>');
- * $p->run();
- * print $p->getOutput()."\n";
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class PhpProcess extends Process
-{
-    /**
-     * Constructor.
-     *
-     * @param string $script  The PHP script to run (as a string)
-     * @param string $cwd     The working directory
-     * @param array  $env     The environment variables
-     * @param int    $timeout The timeout in seconds
-     * @param array  $options An array of options for proc_open
-     *
-     * @api
-     */
-    public function __construct($script, $cwd = null, array $env = array(), $timeout = 60, array $options = array())
-    {
-        $executableFinder = new PhpExecutableFinder();
-        if (false === $php = $executableFinder->find()) {
-            $php = null;
-        }
-
-        parent::__construct($php, $cwd, $env, $script, $timeout, $options);
-    }
-
-    /**
-     * Sets the path to the PHP binary to use.
-     *
-     * @api
-     */
-    public function setPhpBinary($php)
-    {
-        $this->setCommandLine($php);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start($callback = null)
-    {
-        if (null === $this->getCommandLine()) {
-            throw new RuntimeException('Unable to find the PHP executable.');
-        }
-
-        parent::start($callback);
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/AbstractPipes.php b/core/vendor/symfony/process/Symfony/Component/Process/Pipes/AbstractPipes.php
deleted file mode 100644
index d8b57d0..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/AbstractPipes.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Pipes;
-
-/**
- * @author Romain Neutron <imprec@gmail.com>
- *
- * @internal
- */
-abstract class AbstractPipes implements PipesInterface
-{
-    /** @var array */
-    public $pipes = array();
-
-    /** @var string */
-    protected $inputBuffer = '';
-    /** @var resource|null */
-    protected $input;
-
-    /** @var bool */
-    private $blocked = true;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        foreach ($this->pipes as $pipe) {
-            fclose($pipe);
-        }
-        $this->pipes = array();
-    }
-
-    /**
-     * Returns true if a system call has been interrupted.
-     *
-     * @return bool
-     */
-    protected function hasSystemCallBeenInterrupted()
-    {
-        $lastError = error_get_last();
-
-        // stream_select returns false when the `select` system call is interrupted by an incoming signal
-        return isset($lastError['message']) && false !== stripos($lastError['message'], 'interrupted system call');
-    }
-
-    /**
-     * Unblocks streams
-     */
-    protected function unblock()
-    {
-        if (!$this->blocked) {
-            return;
-        }
-
-        foreach ($this->pipes as $pipe) {
-            stream_set_blocking($pipe, 0);
-        }
-        if (null !== $this->input) {
-            stream_set_blocking($this->input, 0);
-        }
-
-        $this->blocked = false;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/PipesInterface.php b/core/vendor/symfony/process/Symfony/Component/Process/Pipes/PipesInterface.php
deleted file mode 100644
index 09d3f61..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/PipesInterface.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Pipes;
-
-/**
- * PipesInterface manages descriptors and pipes for the use of proc_open.
- *
- * @author Romain Neutron <imprec@gmail.com>
- *
- * @internal
- */
-interface PipesInterface
-{
-    const CHUNK_SIZE = 16384;
-
-    /**
-     * Returns an array of descriptors for the use of proc_open.
-     *
-     * @return array
-     */
-    public function getDescriptors();
-
-    /**
-     * Returns an array of filenames indexed by their related stream in case these pipes use temporary files.
-     *
-     * @return string[]
-     */
-    public function getFiles();
-
-    /**
-     * Reads data in file handles and pipes.
-     *
-     * @param bool $blocking Whether to use blocking calls or not.
-     * @param bool $close    Whether to close pipes if they've reached EOF.
-     *
-     * @return string[] An array of read data indexed by their fd.
-     */
-    public function readAndWrite($blocking, $close = false);
-
-    /**
-     * Returns if the current state has open file handles or pipes.
-     *
-     * @return bool
-     */
-    public function areOpen();
-
-    /**
-     * Closes file handles and pipes.
-     */
-    public function close();
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/UnixPipes.php b/core/vendor/symfony/process/Symfony/Component/Process/Pipes/UnixPipes.php
deleted file mode 100644
index b384103..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/UnixPipes.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Pipes;
-
-use Symfony\Component\Process\Process;
-
-/**
- * UnixPipes implementation uses unix pipes as handles.
- *
- * @author Romain Neutron <imprec@gmail.com>
- *
- * @internal
- */
-class UnixPipes extends AbstractPipes
-{
-    /** @var bool */
-    private $ttyMode;
-    /** @var bool */
-    private $ptyMode;
-    /** @var bool */
-    private $disableOutput;
-
-    public function __construct($ttyMode, $ptyMode, $input, $disableOutput)
-    {
-        $this->ttyMode = (bool) $ttyMode;
-        $this->ptyMode = (bool) $ptyMode;
-        $this->disableOutput = (bool) $disableOutput;
-
-        if (is_resource($input)) {
-            $this->input = $input;
-        } else {
-            $this->inputBuffer = (string) $input;
-        }
-    }
-
-    public function __destruct()
-    {
-        $this->close();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDescriptors()
-    {
-        if ($this->disableOutput) {
-            $nullstream = fopen('/dev/null', 'c');
-
-            return array(
-                array('pipe', 'r'),
-                $nullstream,
-                $nullstream,
-            );
-        }
-
-        if ($this->ttyMode) {
-            return array(
-                array('file', '/dev/tty', 'r'),
-                array('file', '/dev/tty', 'w'),
-                array('file', '/dev/tty', 'w'),
-            );
-        }
-
-        if ($this->ptyMode && Process::isPtySupported()) {
-            return array(
-                array('pty'),
-                array('pty'),
-                array('pty'),
-            );
-        }
-
-        return array(
-            array('pipe', 'r'),
-            array('pipe', 'w'), // stdout
-            array('pipe', 'w'), // stderr
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFiles()
-    {
-        return array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function readAndWrite($blocking, $close = false)
-    {
-        // only stdin is left open, job has been done !
-        // we can now close it
-        if (1 === count($this->pipes) && array(0) === array_keys($this->pipes)) {
-            fclose($this->pipes[0]);
-            unset($this->pipes[0]);
-        }
-
-        if (empty($this->pipes)) {
-            return array();
-        }
-
-        $this->unblock();
-
-        $read = array();
-
-        if (null !== $this->input) {
-            // if input is a resource, let's add it to stream_select argument to
-            // fill a buffer
-            $r = array_merge($this->pipes, array('input' => $this->input));
-        } else {
-            $r = $this->pipes;
-        }
-        // discard read on stdin
-        unset($r[0]);
-
-        $w = isset($this->pipes[0]) ? array($this->pipes[0]) : null;
-        $e = null;
-
-        // let's have a look if something changed in streams
-        if (false === $n = @stream_select($r, $w, $e, 0, $blocking ? Process::TIMEOUT_PRECISION * 1E6 : 0)) {
-            // if a system call has been interrupted, forget about it, let's try again
-            // otherwise, an error occurred, let's reset pipes
-            if (!$this->hasSystemCallBeenInterrupted()) {
-                $this->pipes = array();
-            }
-
-            return $read;
-        }
-
-        // nothing has changed
-        if (0 === $n) {
-            return $read;
-        }
-
-        foreach ($r as $pipe) {
-            // prior PHP 5.4 the array passed to stream_select is modified and
-            // lose key association, we have to find back the key
-            $type = (false !== $found = array_search($pipe, $this->pipes)) ? $found : 'input';
-            $data = '';
-            while ('' !== $dataread = (string) fread($pipe, self::CHUNK_SIZE)) {
-                $data .= $dataread;
-            }
-
-            if ('' !== $data) {
-                if ($type === 'input') {
-                    $this->inputBuffer .= $data;
-                } else {
-                    $read[$type] = $data;
-                }
-            }
-
-            if (false === $data || (true === $close && feof($pipe) && '' === $data)) {
-                if ($type === 'input') {
-                    // no more data to read on input resource
-                    // use an empty buffer in the next reads
-                    $this->input = null;
-                } else {
-                    fclose($this->pipes[$type]);
-                    unset($this->pipes[$type]);
-                }
-            }
-        }
-
-        if (null !== $w && 0 < count($w)) {
-            while (strlen($this->inputBuffer)) {
-                $written = fwrite($w[0], $this->inputBuffer, 2 << 18); // write 512k
-                if ($written > 0) {
-                    $this->inputBuffer = (string) substr($this->inputBuffer, $written);
-                } else {
-                    break;
-                }
-            }
-        }
-
-        // no input to read on resource, buffer is empty and stdin still open
-        if ('' === $this->inputBuffer && null === $this->input && isset($this->pipes[0])) {
-            fclose($this->pipes[0]);
-            unset($this->pipes[0]);
-        }
-
-        return $read;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function areOpen()
-    {
-        return (bool) $this->pipes;
-    }
-
-    /**
-     * Creates a new UnixPipes instance
-     *
-     * @param Process         $process
-     * @param string|resource $input
-     *
-     * @return UnixPipes
-     */
-    public static function create(Process $process, $input)
-    {
-        return new static($process->isTty(), $process->isPty(), $input, $process->isOutputDisabled());
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/WindowsPipes.php b/core/vendor/symfony/process/Symfony/Component/Process/Pipes/WindowsPipes.php
deleted file mode 100644
index 01dd5d0..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/WindowsPipes.php
+++ /dev/null
@@ -1,254 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Pipes;
-
-use Symfony\Component\Process\Process;
-use Symfony\Component\Process\Exception\RuntimeException;
-
-/**
- * WindowsPipes implementation uses temporary files as handles.
- *
- * @see https://bugs.php.net/bug.php?id=51800
- * @see https://bugs.php.net/bug.php?id=65650
- *
- * @author Romain Neutron <imprec@gmail.com>
- *
- * @internal
- */
-class WindowsPipes extends AbstractPipes
-{
-    /** @var array */
-    private $files = array();
-    /** @var array */
-    private $fileHandles = array();
-    /** @var array */
-    private $readBytes = array(
-        Process::STDOUT => 0,
-        Process::STDERR => 0,
-    );
-    /** @var bool */
-    private $disableOutput;
-
-    public function __construct($disableOutput, $input)
-    {
-        $this->disableOutput = (bool) $disableOutput;
-
-        if (!$this->disableOutput) {
-            // Fix for PHP bug #51800: reading from STDOUT pipe hangs forever on Windows if the output is too big.
-            // Workaround for this problem is to use temporary files instead of pipes on Windows platform.
-            //
-            // @see https://bugs.php.net/bug.php?id=51800
-            $this->files = array(
-                Process::STDOUT => tempnam(sys_get_temp_dir(), 'sf_proc_stdout'),
-                Process::STDERR => tempnam(sys_get_temp_dir(), 'sf_proc_stderr'),
-            );
-            foreach ($this->files as $offset => $file) {
-                $this->fileHandles[$offset] = fopen($this->files[$offset], 'rb');
-                if (false === $this->fileHandles[$offset]) {
-                    throw new RuntimeException('A temporary file could not be opened to write the process output to, verify that your TEMP environment variable is writable');
-                }
-            }
-        }
-
-        if (is_resource($input)) {
-            $this->input = $input;
-        } else {
-            $this->inputBuffer = $input;
-        }
-    }
-
-    public function __destruct()
-    {
-        $this->close();
-        $this->removeFiles();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDescriptors()
-    {
-        if ($this->disableOutput) {
-            $nullstream = fopen('NUL', 'c');
-
-            return array(
-                array('pipe', 'r'),
-                $nullstream,
-                $nullstream,
-            );
-        }
-
-        // We're not using pipe on Windows platform as it hangs (https://bugs.php.net/bug.php?id=51800)
-        // We're not using file handles as it can produce corrupted output https://bugs.php.net/bug.php?id=65650
-        // So we redirect output within the commandline and pass the nul device to the process
-        return array(
-            array('pipe', 'r'),
-            array('file', 'NUL', 'w'),
-            array('file', 'NUL', 'w'),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFiles()
-    {
-        return $this->files;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function readAndWrite($blocking, $close = false)
-    {
-        $this->write($blocking, $close);
-
-        $read = array();
-        $fh = $this->fileHandles;
-        foreach ($fh as $type => $fileHandle) {
-            if (0 !== fseek($fileHandle, $this->readBytes[$type])) {
-                continue;
-            }
-            $data = '';
-            $dataread = null;
-            while (!feof($fileHandle)) {
-                if (false !== $dataread = fread($fileHandle, self::CHUNK_SIZE)) {
-                    $data .= $dataread;
-                }
-            }
-            if (0 < $length = strlen($data)) {
-                $this->readBytes[$type] += $length;
-                $read[$type] = $data;
-            }
-
-            if (false === $dataread || (true === $close && feof($fileHandle) && '' === $data)) {
-                fclose($this->fileHandles[$type]);
-                unset($this->fileHandles[$type]);
-            }
-        }
-
-        return $read;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function areOpen()
-    {
-        return (bool) $this->pipes && (bool) $this->fileHandles;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function close()
-    {
-        parent::close();
-        foreach ($this->fileHandles as $handle) {
-            fclose($handle);
-        }
-        $this->fileHandles = array();
-    }
-
-    /**
-     * Creates a new WindowsPipes instance.
-     *
-     * @param Process $process The process
-     * @param $input
-     *
-     * @return WindowsPipes
-     */
-    public static function create(Process $process, $input)
-    {
-        return new static($process->isOutputDisabled(), $input);
-    }
-
-    /**
-     * Removes temporary files
-     */
-    private function removeFiles()
-    {
-        foreach ($this->files as $filename) {
-            if (file_exists($filename)) {
-                @unlink($filename);
-            }
-        }
-        $this->files = array();
-    }
-
-    /**
-     * Writes input to stdin
-     *
-     * @param bool $blocking
-     * @param bool $close
-     */
-    private function write($blocking, $close)
-    {
-        if (empty($this->pipes)) {
-            return;
-        }
-
-        $this->unblock();
-
-        $r = null !== $this->input ? array('input' => $this->input) : null;
-        $w = isset($this->pipes[0]) ? array($this->pipes[0]) : null;
-        $e = null;
-
-        // let's have a look if something changed in streams
-        if (false === $n = @stream_select($r, $w, $e, 0, $blocking ? Process::TIMEOUT_PRECISION * 1E6 : 0)) {
-            // if a system call has been interrupted, forget about it, let's try again
-            // otherwise, an error occurred, let's reset pipes
-            if (!$this->hasSystemCallBeenInterrupted()) {
-                $this->pipes = array();
-            }
-
-            return;
-        }
-
-        // nothing has changed
-        if (0 === $n) {
-            return;
-        }
-
-        if (null !== $w && 0 < count($r)) {
-            $data = '';
-            while ($dataread = fread($r['input'], self::CHUNK_SIZE)) {
-                $data .= $dataread;
-            }
-
-            $this->inputBuffer .= $data;
-
-            if (false === $data || (true === $close && feof($r['input']) && '' === $data)) {
-                // no more data to read on input resource
-                // use an empty buffer in the next reads
-                $this->input = null;
-            }
-        }
-
-        if (null !== $w && 0 < count($w)) {
-            while (strlen($this->inputBuffer)) {
-                $written = fwrite($w[0], $this->inputBuffer, 2 << 18);
-                if ($written > 0) {
-                    $this->inputBuffer = (string) substr($this->inputBuffer, $written);
-                } else {
-                    break;
-                }
-            }
-        }
-
-        // no input to read on resource, buffer is empty and stdin still open
-        if ('' === $this->inputBuffer && null === $this->input && isset($this->pipes[0])) {
-            fclose($this->pipes[0]);
-            unset($this->pipes[0]);
-        }
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Process.php b/core/vendor/symfony/process/Symfony/Component/Process/Process.php
deleted file mode 100644
index ba619ce..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Process.php
+++ /dev/null
@@ -1,1519 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process;
-
-use Symfony\Component\Process\Exception\InvalidArgumentException;
-use Symfony\Component\Process\Exception\LogicException;
-use Symfony\Component\Process\Exception\ProcessFailedException;
-use Symfony\Component\Process\Exception\ProcessTimedOutException;
-use Symfony\Component\Process\Exception\RuntimeException;
-use Symfony\Component\Process\Pipes\PipesInterface;
-use Symfony\Component\Process\Pipes\UnixPipes;
-use Symfony\Component\Process\Pipes\WindowsPipes;
-
-/**
- * Process is a thin wrapper around proc_* functions to easily
- * start independent PHP processes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Romain Neutron <imprec@gmail.com>
- *
- * @api
- */
-class Process
-{
-    const ERR = 'err';
-    const OUT = 'out';
-
-    const STATUS_READY = 'ready';
-    const STATUS_STARTED = 'started';
-    const STATUS_TERMINATED = 'terminated';
-
-    const STDIN = 0;
-    const STDOUT = 1;
-    const STDERR = 2;
-
-    // Timeout Precision in seconds.
-    const TIMEOUT_PRECISION = 0.2;
-
-    private $callback;
-    private $commandline;
-    private $cwd;
-    private $env;
-    private $input;
-    private $starttime;
-    private $lastOutputTime;
-    private $timeout;
-    private $idleTimeout;
-    private $options;
-    private $exitcode;
-    private $fallbackExitcode;
-    private $processInformation;
-    private $outputDisabled = false;
-    private $stdout;
-    private $stderr;
-    private $enhanceWindowsCompatibility = true;
-    private $enhanceSigchildCompatibility;
-    private $process;
-    private $status = self::STATUS_READY;
-    private $incrementalOutputOffset = 0;
-    private $incrementalErrorOutputOffset = 0;
-    private $tty;
-    private $pty;
-
-    private $useFileHandles = false;
-    /** @var PipesInterface */
-    private $processPipes;
-
-    private $latestSignal;
-
-    private static $sigchild;
-
-    /**
-     * Exit codes translation table.
-     *
-     * User-defined errors must use exit codes in the 64-113 range.
-     *
-     * @var array
-     */
-    public static $exitCodes = array(
-        0 => 'OK',
-        1 => 'General error',
-        2 => 'Misuse of shell builtins',
-
-        126 => 'Invoked command cannot execute',
-        127 => 'Command not found',
-        128 => 'Invalid exit argument',
-
-        // signals
-        129 => 'Hangup',
-        130 => 'Interrupt',
-        131 => 'Quit and dump core',
-        132 => 'Illegal instruction',
-        133 => 'Trace/breakpoint trap',
-        134 => 'Process aborted',
-        135 => 'Bus error: "access to undefined portion of memory object"',
-        136 => 'Floating point exception: "erroneous arithmetic operation"',
-        137 => 'Kill (terminate immediately)',
-        138 => 'User-defined 1',
-        139 => 'Segmentation violation',
-        140 => 'User-defined 2',
-        141 => 'Write to pipe with no one reading',
-        142 => 'Signal raised by alarm',
-        143 => 'Termination (request to terminate)',
-        // 144 - not defined
-        145 => 'Child process terminated, stopped (or continued*)',
-        146 => 'Continue if stopped',
-        147 => 'Stop executing temporarily',
-        148 => 'Terminal stop signal',
-        149 => 'Background process attempting to read from tty ("in")',
-        150 => 'Background process attempting to write to tty ("out")',
-        151 => 'Urgent data available on socket',
-        152 => 'CPU time limit exceeded',
-        153 => 'File size limit exceeded',
-        154 => 'Signal raised by timer counting virtual time: "virtual timer expired"',
-        155 => 'Profiling timer expired',
-        // 156 - not defined
-        157 => 'Pollable event',
-        // 158 - not defined
-        159 => 'Bad syscall',
-    );
-
-    /**
-     * Constructor.
-     *
-     * @param string         $commandline The command line to run
-     * @param string|null    $cwd         The working directory or null to use the working dir of the current PHP process
-     * @param array|null     $env         The environment variables or null to inherit
-     * @param string|null    $input       The input
-     * @param int|float|null $timeout     The timeout in seconds or null to disable
-     * @param array          $options     An array of options for proc_open
-     *
-     * @throws RuntimeException When proc_open is not installed
-     *
-     * @api
-     */
-    public function __construct($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60, array $options = array())
-    {
-        if (!function_exists('proc_open')) {
-            throw new RuntimeException('The Process class relies on proc_open, which is not available on your PHP installation.');
-        }
-
-        $this->commandline = $commandline;
-        $this->cwd = $cwd;
-
-        // on Windows, if the cwd changed via chdir(), proc_open defaults to the dir where PHP was started
-        // on Gnu/Linux, PHP builds with --enable-maintainer-zts are also affected
-        // @see : https://bugs.php.net/bug.php?id=51800
-        // @see : https://bugs.php.net/bug.php?id=50524
-        if (null === $this->cwd && (defined('ZEND_THREAD_SAFE') || '\\' === DIRECTORY_SEPARATOR)) {
-            $this->cwd = getcwd();
-        }
-        if (null !== $env) {
-            $this->setEnv($env);
-        }
-
-        $this->input = $input;
-        $this->setTimeout($timeout);
-        $this->useFileHandles = '\\' === DIRECTORY_SEPARATOR;
-        $this->pty = false;
-        $this->enhanceWindowsCompatibility = true;
-        $this->enhanceSigchildCompatibility = '\\' !== DIRECTORY_SEPARATOR && $this->isSigchildEnabled();
-        $this->options = array_replace(array('suppress_errors' => true, 'binary_pipes' => true), $options);
-    }
-
-    public function __destruct()
-    {
-        // stop() will check if we have a process running.
-        $this->stop();
-    }
-
-    public function __clone()
-    {
-        $this->resetProcessData();
-    }
-
-    /**
-     * Runs the process.
-     *
-     * The callback receives the type of output (out or err) and
-     * some bytes from the output in real-time. It allows to have feedback
-     * from the independent process during execution.
-     *
-     * The STDOUT and STDERR are also available after the process is finished
-     * via the getOutput() and getErrorOutput() methods.
-     *
-     * @param callable|null $callback A PHP callback to run whenever there is some
-     *                                output available on STDOUT or STDERR
-     *
-     * @return int The exit status code
-     *
-     * @throws RuntimeException When process can't be launched
-     * @throws RuntimeException When process stopped after receiving signal
-     * @throws LogicException   In case a callback is provided and output has been disabled
-     *
-     * @api
-     */
-    public function run($callback = null)
-    {
-        $this->start($callback);
-
-        return $this->wait();
-    }
-
-    /**
-     * Runs the process.
-     *
-     * This is identical to run() except that an exception is thrown if the process
-     * exits with a non-zero exit code.
-     *
-     * @param callable|null $callback
-     *
-     * @return self
-     *
-     * @throws RuntimeException       if PHP was compiled with --enable-sigchild and the enhanced sigchild compatibility mode is not enabled
-     * @throws ProcessFailedException if the process didn't terminate successfully
-     */
-    public function mustRun($callback = null)
-    {
-        if ($this->isSigchildEnabled() && !$this->enhanceSigchildCompatibility) {
-            throw new RuntimeException('This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.');
-        }
-
-        if (0 !== $this->run($callback)) {
-            throw new ProcessFailedException($this);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Starts the process and returns after writing the input to STDIN.
-     *
-     * This method blocks until all STDIN data is sent to the process then it
-     * returns while the process runs in the background.
-     *
-     * The termination of the process can be awaited with wait().
-     *
-     * The callback receives the type of output (out or err) and some bytes from
-     * the output in real-time while writing the standard input to the process.
-     * It allows to have feedback from the independent process during execution.
-     * If there is no callback passed, the wait() method can be called
-     * with true as a second parameter then the callback will get all data occurred
-     * in (and since) the start call.
-     *
-     * @param callable|null $callback A PHP callback to run whenever there is some
-     *                                output available on STDOUT or STDERR
-     *
-     * @throws RuntimeException When process can't be launched
-     * @throws RuntimeException When process is already running
-     * @throws LogicException   In case a callback is provided and output has been disabled
-     */
-    public function start($callback = null)
-    {
-        if ($this->isRunning()) {
-            throw new RuntimeException('Process is already running');
-        }
-        if ($this->outputDisabled && null !== $callback) {
-            throw new LogicException('Output has been disabled, enable it to allow the use of a callback.');
-        }
-
-        $this->resetProcessData();
-        $this->starttime = $this->lastOutputTime = microtime(true);
-        $this->callback = $this->buildCallback($callback);
-        $descriptors = $this->getDescriptors();
-
-        $commandline = $this->commandline;
-
-        if ('\\' === DIRECTORY_SEPARATOR && $this->enhanceWindowsCompatibility) {
-            $commandline = 'cmd /V:ON /E:ON /C "('.$commandline.')';
-            foreach ($this->processPipes->getFiles() as $offset => $filename) {
-                $commandline .= ' '.$offset.'>'.ProcessUtils::escapeArgument($filename);
-            }
-            $commandline .= '"';
-
-            if (!isset($this->options['bypass_shell'])) {
-                $this->options['bypass_shell'] = true;
-            }
-        }
-
-        $this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $this->env, $this->options);
-
-        if (!is_resource($this->process)) {
-            throw new RuntimeException('Unable to launch a new process.');
-        }
-        $this->status = self::STATUS_STARTED;
-
-        if ($this->tty) {
-            return;
-        }
-
-        $this->updateStatus(false);
-        $this->checkTimeout();
-    }
-
-    /**
-     * Restarts the process.
-     *
-     * Be warned that the process is cloned before being started.
-     *
-     * @param callable|null $callback A PHP callback to run whenever there is some
-     *                                output available on STDOUT or STDERR
-     *
-     * @return Process The new process
-     *
-     * @throws RuntimeException When process can't be launched
-     * @throws RuntimeException When process is already running
-     *
-     * @see start()
-     */
-    public function restart($callback = null)
-    {
-        if ($this->isRunning()) {
-            throw new RuntimeException('Process is already running');
-        }
-
-        $process = clone $this;
-        $process->start($callback);
-
-        return $process;
-    }
-
-    /**
-     * Waits for the process to terminate.
-     *
-     * The callback receives the type of output (out or err) and some bytes
-     * from the output in real-time while writing the standard input to the process.
-     * It allows to have feedback from the independent process during execution.
-     *
-     * @param callable|null $callback A valid PHP callback
-     *
-     * @return int The exitcode of the process
-     *
-     * @throws RuntimeException When process timed out
-     * @throws RuntimeException When process stopped after receiving signal
-     * @throws LogicException   When process is not yet started
-     */
-    public function wait($callback = null)
-    {
-        $this->requireProcessIsStarted(__FUNCTION__);
-
-        $this->updateStatus(false);
-        if (null !== $callback) {
-            $this->callback = $this->buildCallback($callback);
-        }
-
-        do {
-            $this->checkTimeout();
-            $running = '\\' === DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen();
-            $close = '\\' !== DIRECTORY_SEPARATOR || !$running;
-            $this->readPipes(true, $close);
-        } while ($running);
-
-        while ($this->isRunning()) {
-            usleep(1000);
-        }
-
-        if ($this->processInformation['signaled'] && $this->processInformation['termsig'] !== $this->latestSignal) {
-            throw new RuntimeException(sprintf('The process has been signaled with signal "%s".', $this->processInformation['termsig']));
-        }
-
-        return $this->exitcode;
-    }
-
-    /**
-     * Returns the Pid (process identifier), if applicable.
-     *
-     * @return int|null The process id if running, null otherwise
-     *
-     * @throws RuntimeException In case --enable-sigchild is activated
-     */
-    public function getPid()
-    {
-        if ($this->isSigchildEnabled()) {
-            throw new RuntimeException('This PHP has been compiled with --enable-sigchild. The process identifier can not be retrieved.');
-        }
-
-        $this->updateStatus(false);
-
-        return $this->isRunning() ? $this->processInformation['pid'] : null;
-    }
-
-    /**
-     * Sends a POSIX signal to the process.
-     *
-     * @param int $signal A valid POSIX signal (see http://www.php.net/manual/en/pcntl.constants.php)
-     *
-     * @return Process
-     *
-     * @throws LogicException   In case the process is not running
-     * @throws RuntimeException In case --enable-sigchild is activated
-     * @throws RuntimeException In case of failure
-     */
-    public function signal($signal)
-    {
-        $this->doSignal($signal, true);
-
-        return $this;
-    }
-
-    /**
-     * Disables fetching output and error output from the underlying process.
-     *
-     * @return Process
-     *
-     * @throws RuntimeException In case the process is already running
-     * @throws LogicException   if an idle timeout is set
-     */
-    public function disableOutput()
-    {
-        if ($this->isRunning()) {
-            throw new RuntimeException('Disabling output while the process is running is not possible.');
-        }
-        if (null !== $this->idleTimeout) {
-            throw new LogicException('Output can not be disabled while an idle timeout is set.');
-        }
-
-        $this->outputDisabled = true;
-
-        return $this;
-    }
-
-    /**
-     * Enables fetching output and error output from the underlying process.
-     *
-     * @return Process
-     *
-     * @throws RuntimeException In case the process is already running
-     */
-    public function enableOutput()
-    {
-        if ($this->isRunning()) {
-            throw new RuntimeException('Enabling output while the process is running is not possible.');
-        }
-
-        $this->outputDisabled = false;
-
-        return $this;
-    }
-
-    /**
-     * Returns true in case the output is disabled, false otherwise.
-     *
-     * @return bool
-     */
-    public function isOutputDisabled()
-    {
-        return $this->outputDisabled;
-    }
-
-    /**
-     * Returns the current output of the process (STDOUT).
-     *
-     * @return string The process output
-     *
-     * @throws LogicException in case the output has been disabled
-     * @throws LogicException In case the process is not started
-     *
-     * @api
-     */
-    public function getOutput()
-    {
-        if ($this->outputDisabled) {
-            throw new LogicException('Output has been disabled.');
-        }
-
-        $this->requireProcessIsStarted(__FUNCTION__);
-
-        $this->readPipes(false, '\\' === DIRECTORY_SEPARATOR ? !$this->processInformation['running'] : true);
-
-        return $this->stdout;
-    }
-
-    /**
-     * Returns the output incrementally.
-     *
-     * In comparison with the getOutput method which always return the whole
-     * output, this one returns the new output since the last call.
-     *
-     * @throws LogicException in case the output has been disabled
-     * @throws LogicException In case the process is not started
-     *
-     * @return string The process output since the last call
-     */
-    public function getIncrementalOutput()
-    {
-        $this->requireProcessIsStarted(__FUNCTION__);
-
-        $data = $this->getOutput();
-
-        $latest = substr($data, $this->incrementalOutputOffset);
-
-        if (false === $latest) {
-            return '';
-        }
-
-        $this->incrementalOutputOffset = strlen($data);
-
-        return $latest;
-    }
-
-    /**
-     * Clears the process output.
-     *
-     * @return Process
-     */
-    public function clearOutput()
-    {
-        $this->stdout = '';
-        $this->incrementalOutputOffset = 0;
-
-        return $this;
-    }
-
-    /**
-     * Returns the current error output of the process (STDERR).
-     *
-     * @return string The process error output
-     *
-     * @throws LogicException in case the output has been disabled
-     * @throws LogicException In case the process is not started
-     *
-     * @api
-     */
-    public function getErrorOutput()
-    {
-        if ($this->outputDisabled) {
-            throw new LogicException('Output has been disabled.');
-        }
-
-        $this->requireProcessIsStarted(__FUNCTION__);
-
-        $this->readPipes(false, '\\' === DIRECTORY_SEPARATOR ? !$this->processInformation['running'] : true);
-
-        return $this->stderr;
-    }
-
-    /**
-     * Returns the errorOutput incrementally.
-     *
-     * In comparison with the getErrorOutput method which always return the
-     * whole error output, this one returns the new error output since the last
-     * call.
-     *
-     * @throws LogicException in case the output has been disabled
-     * @throws LogicException In case the process is not started
-     *
-     * @return string The process error output since the last call
-     */
-    public function getIncrementalErrorOutput()
-    {
-        $this->requireProcessIsStarted(__FUNCTION__);
-
-        $data = $this->getErrorOutput();
-
-        $latest = substr($data, $this->incrementalErrorOutputOffset);
-
-        if (false === $latest) {
-            return '';
-        }
-
-        $this->incrementalErrorOutputOffset = strlen($data);
-
-        return $latest;
-    }
-
-    /**
-     * Clears the process output.
-     *
-     * @return Process
-     */
-    public function clearErrorOutput()
-    {
-        $this->stderr = '';
-        $this->incrementalErrorOutputOffset = 0;
-
-        return $this;
-    }
-
-    /**
-     * Returns the exit code returned by the process.
-     *
-     * @return null|int The exit status code, null if the Process is not terminated
-     *
-     * @throws RuntimeException In case --enable-sigchild is activated and the sigchild compatibility mode is disabled
-     *
-     * @api
-     */
-    public function getExitCode()
-    {
-        if ($this->isSigchildEnabled() && !$this->enhanceSigchildCompatibility) {
-            throw new RuntimeException('This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.');
-        }
-
-        $this->updateStatus(false);
-
-        return $this->exitcode;
-    }
-
-    /**
-     * Returns a string representation for the exit code returned by the process.
-     *
-     * This method relies on the Unix exit code status standardization
-     * and might not be relevant for other operating systems.
-     *
-     * @return null|string A string representation for the exit status code, null if the Process is not terminated.
-     *
-     * @throws RuntimeException In case --enable-sigchild is activated and the sigchild compatibility mode is disabled
-     *
-     * @see http://tldp.org/LDP/abs/html/exitcodes.html
-     * @see http://en.wikipedia.org/wiki/Unix_signal
-     */
-    public function getExitCodeText()
-    {
-        if (null === $exitcode = $this->getExitCode()) {
-            return;
-        }
-
-        return isset(self::$exitCodes[$exitcode]) ? self::$exitCodes[$exitcode] : 'Unknown error';
-    }
-
-    /**
-     * Checks if the process ended successfully.
-     *
-     * @return bool true if the process ended successfully, false otherwise
-     *
-     * @api
-     */
-    public function isSuccessful()
-    {
-        return 0 === $this->getExitCode();
-    }
-
-    /**
-     * Returns true if the child process has been terminated by an uncaught signal.
-     *
-     * It always returns false on Windows.
-     *
-     * @return bool
-     *
-     * @throws RuntimeException In case --enable-sigchild is activated
-     * @throws LogicException   In case the process is not terminated
-     *
-     * @api
-     */
-    public function hasBeenSignaled()
-    {
-        $this->requireProcessIsTerminated(__FUNCTION__);
-
-        if ($this->isSigchildEnabled()) {
-            throw new RuntimeException('This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.');
-        }
-
-        $this->updateStatus(false);
-
-        return $this->processInformation['signaled'];
-    }
-
-    /**
-     * Returns the number of the signal that caused the child process to terminate its execution.
-     *
-     * It is only meaningful if hasBeenSignaled() returns true.
-     *
-     * @return int
-     *
-     * @throws RuntimeException In case --enable-sigchild is activated
-     * @throws LogicException   In case the process is not terminated
-     *
-     * @api
-     */
-    public function getTermSignal()
-    {
-        $this->requireProcessIsTerminated(__FUNCTION__);
-
-        if ($this->isSigchildEnabled()) {
-            throw new RuntimeException('This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.');
-        }
-
-        $this->updateStatus(false);
-
-        return $this->processInformation['termsig'];
-    }
-
-    /**
-     * Returns true if the child process has been stopped by a signal.
-     *
-     * It always returns false on Windows.
-     *
-     * @return bool
-     *
-     * @throws LogicException In case the process is not terminated
-     *
-     * @api
-     */
-    public function hasBeenStopped()
-    {
-        $this->requireProcessIsTerminated(__FUNCTION__);
-
-        $this->updateStatus(false);
-
-        return $this->processInformation['stopped'];
-    }
-
-    /**
-     * Returns the number of the signal that caused the child process to stop its execution.
-     *
-     * It is only meaningful if hasBeenStopped() returns true.
-     *
-     * @return int
-     *
-     * @throws LogicException In case the process is not terminated
-     *
-     * @api
-     */
-    public function getStopSignal()
-    {
-        $this->requireProcessIsTerminated(__FUNCTION__);
-
-        $this->updateStatus(false);
-
-        return $this->processInformation['stopsig'];
-    }
-
-    /**
-     * Checks if the process is currently running.
-     *
-     * @return bool true if the process is currently running, false otherwise
-     */
-    public function isRunning()
-    {
-        if (self::STATUS_STARTED !== $this->status) {
-            return false;
-        }
-
-        $this->updateStatus(false);
-
-        return $this->processInformation['running'];
-    }
-
-    /**
-     * Checks if the process has been started with no regard to the current state.
-     *
-     * @return bool true if status is ready, false otherwise
-     */
-    public function isStarted()
-    {
-        return $this->status != self::STATUS_READY;
-    }
-
-    /**
-     * Checks if the process is terminated.
-     *
-     * @return bool true if process is terminated, false otherwise
-     */
-    public function isTerminated()
-    {
-        $this->updateStatus(false);
-
-        return $this->status == self::STATUS_TERMINATED;
-    }
-
-    /**
-     * Gets the process status.
-     *
-     * The status is one of: ready, started, terminated.
-     *
-     * @return string The current process status
-     */
-    public function getStatus()
-    {
-        $this->updateStatus(false);
-
-        return $this->status;
-    }
-
-    /**
-     * Stops the process.
-     *
-     * @param int|float $timeout The timeout in seconds
-     * @param int       $signal  A POSIX signal to send in case the process has not stop at timeout, default is SIGKILL
-     *
-     * @return int The exit-code of the process
-     *
-     * @throws RuntimeException if the process got signaled
-     */
-    public function stop($timeout = 10, $signal = null)
-    {
-        $timeoutMicro = microtime(true) + $timeout;
-        if ($this->isRunning()) {
-            if ('\\' === DIRECTORY_SEPARATOR && !$this->isSigchildEnabled()) {
-                exec(sprintf('taskkill /F /T /PID %d 2>&1', $this->getPid()), $output, $exitCode);
-                if ($exitCode > 0) {
-                    throw new RuntimeException('Unable to kill the process');
-                }
-            }
-            // given `SIGTERM` may not be defined and that `proc_terminate` uses the constant value and not the constant itself, we use the same here
-            $this->doSignal(15, false);
-            do {
-                usleep(1000);
-            } while ($this->isRunning() && microtime(true) < $timeoutMicro);
-
-            if ($this->isRunning() && !$this->isSigchildEnabled()) {
-                if (null !== $signal || defined('SIGKILL')) {
-                    // avoid exception here :
-                    // process is supposed to be running, but it might have stop
-                    // just after this line.
-                    // in any case, let's silently discard the error, we can not do anything
-                    $this->doSignal($signal ?: SIGKILL, false);
-                }
-            }
-        }
-
-        $this->updateStatus(false);
-        if ($this->processInformation['running']) {
-            $this->close();
-        }
-
-        return $this->exitcode;
-    }
-
-    /**
-     * Adds a line to the STDOUT stream.
-     *
-     * @param string $line The line to append
-     */
-    public function addOutput($line)
-    {
-        $this->lastOutputTime = microtime(true);
-        $this->stdout .= $line;
-    }
-
-    /**
-     * Adds a line to the STDERR stream.
-     *
-     * @param string $line The line to append
-     */
-    public function addErrorOutput($line)
-    {
-        $this->lastOutputTime = microtime(true);
-        $this->stderr .= $line;
-    }
-
-    /**
-     * Gets the command line to be executed.
-     *
-     * @return string The command to execute
-     */
-    public function getCommandLine()
-    {
-        return $this->commandline;
-    }
-
-    /**
-     * Sets the command line to be executed.
-     *
-     * @param string $commandline The command to execute
-     *
-     * @return self The current Process instance
-     */
-    public function setCommandLine($commandline)
-    {
-        $this->commandline = $commandline;
-
-        return $this;
-    }
-
-    /**
-     * Gets the process timeout (max. runtime).
-     *
-     * @return float|null The timeout in seconds or null if it's disabled
-     */
-    public function getTimeout()
-    {
-        return $this->timeout;
-    }
-
-    /**
-     * Gets the process idle timeout (max. time since last output).
-     *
-     * @return float|null The timeout in seconds or null if it's disabled
-     */
-    public function getIdleTimeout()
-    {
-        return $this->idleTimeout;
-    }
-
-    /**
-     * Sets the process timeout (max. runtime).
-     *
-     * To disable the timeout, set this value to null.
-     *
-     * @param int|float|null $timeout The timeout in seconds
-     *
-     * @return self The current Process instance
-     *
-     * @throws InvalidArgumentException if the timeout is negative
-     */
-    public function setTimeout($timeout)
-    {
-        $this->timeout = $this->validateTimeout($timeout);
-
-        return $this;
-    }
-
-    /**
-     * Sets the process idle timeout (max. time since last output).
-     *
-     * To disable the timeout, set this value to null.
-     *
-     * @param int|float|null $timeout The timeout in seconds
-     *
-     * @return self The current Process instance.
-     *
-     * @throws LogicException           if the output is disabled
-     * @throws InvalidArgumentException if the timeout is negative
-     */
-    public function setIdleTimeout($timeout)
-    {
-        if (null !== $timeout && $this->outputDisabled) {
-            throw new LogicException('Idle timeout can not be set while the output is disabled.');
-        }
-
-        $this->idleTimeout = $this->validateTimeout($timeout);
-
-        return $this;
-    }
-
-    /**
-     * Enables or disables the TTY mode.
-     *
-     * @param bool $tty True to enabled and false to disable
-     *
-     * @return self The current Process instance
-     *
-     * @throws RuntimeException In case the TTY mode is not supported
-     */
-    public function setTty($tty)
-    {
-        if ('\\' === DIRECTORY_SEPARATOR && $tty) {
-            throw new RuntimeException('TTY mode is not supported on Windows platform.');
-        }
-        if ($tty && (!file_exists('/dev/tty') || !is_readable('/dev/tty'))) {
-            throw new RuntimeException('TTY mode requires /dev/tty to be readable.');
-        }
-
-        $this->tty = (bool) $tty;
-
-        return $this;
-    }
-
-    /**
-     * Checks if the TTY mode is enabled.
-     *
-     * @return bool true if the TTY mode is enabled, false otherwise
-     */
-    public function isTty()
-    {
-        return $this->tty;
-    }
-
-    /**
-     * Sets PTY mode.
-     *
-     * @param bool $bool
-     *
-     * @return self
-     */
-    public function setPty($bool)
-    {
-        $this->pty = (bool) $bool;
-
-        return $this;
-    }
-
-    /**
-     * Returns PTY state.
-     *
-     * @return bool
-     */
-    public function isPty()
-    {
-        return $this->pty;
-    }
-
-    /**
-     * Gets the working directory.
-     *
-     * @return string|null The current working directory or null on failure
-     */
-    public function getWorkingDirectory()
-    {
-        if (null === $this->cwd) {
-            // getcwd() will return false if any one of the parent directories does not have
-            // the readable or search mode set, even if the current directory does
-            return getcwd() ?: null;
-        }
-
-        return $this->cwd;
-    }
-
-    /**
-     * Sets the current working directory.
-     *
-     * @param string $cwd The new working directory
-     *
-     * @return self The current Process instance
-     */
-    public function setWorkingDirectory($cwd)
-    {
-        $this->cwd = $cwd;
-
-        return $this;
-    }
-
-    /**
-     * Gets the environment variables.
-     *
-     * @return array The current environment variables
-     */
-    public function getEnv()
-    {
-        return $this->env;
-    }
-
-    /**
-     * Sets the environment variables.
-     *
-     * An environment variable value should be a string.
-     * If it is an array, the variable is ignored.
-     *
-     * That happens in PHP when 'argv' is registered into
-     * the $_ENV array for instance.
-     *
-     * @param array $env The new environment variables
-     *
-     * @return self The current Process instance
-     */
-    public function setEnv(array $env)
-    {
-        // Process can not handle env values that are arrays
-        $env = array_filter($env, function ($value) {
-            return !is_array($value);
-        });
-
-        $this->env = array();
-        foreach ($env as $key => $value) {
-            $this->env[(binary) $key] = (binary) $value;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Gets the contents of STDIN.
-     *
-     * @return string|null The current contents
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in 3.0.
-     *             This method is deprecated in favor of getInput.
-     */
-    public function getStdin()
-    {
-        return $this->getInput();
-    }
-
-    /**
-     * Gets the Process input.
-     *
-     * @return null|string The Process input
-     */
-    public function getInput()
-    {
-        return $this->input;
-    }
-
-    /**
-     * Sets the contents of STDIN.
-     *
-     * @param string|null $stdin The new contents
-     *
-     * @return self The current Process instance
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in 3.0.
-     *             This method is deprecated in favor of setInput.
-     *
-     * @throws LogicException           In case the process is running
-     * @throws InvalidArgumentException In case the argument is invalid
-     */
-    public function setStdin($stdin)
-    {
-        return $this->setInput($stdin);
-    }
-
-    /**
-     * Sets the input.
-     *
-     * This content will be passed to the underlying process standard input.
-     *
-     * @param string|null $input The content
-     *
-     * @return self The current Process instance
-     *
-     * @throws LogicException In case the process is running
-     */
-    public function setInput($input)
-    {
-        if ($this->isRunning()) {
-            throw new LogicException('Input can not be set while the process is running.');
-        }
-
-        $this->input = ProcessUtils::validateInput(sprintf('%s::%s', __CLASS__, __FUNCTION__), $input);
-
-        return $this;
-    }
-
-    /**
-     * Gets the options for proc_open.
-     *
-     * @return array The current options
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * Sets the options for proc_open.
-     *
-     * @param array $options The new options
-     *
-     * @return self The current Process instance
-     */
-    public function setOptions(array $options)
-    {
-        $this->options = $options;
-
-        return $this;
-    }
-
-    /**
-     * Gets whether or not Windows compatibility is enabled.
-     *
-     * This is true by default.
-     *
-     * @return bool
-     */
-    public function getEnhanceWindowsCompatibility()
-    {
-        return $this->enhanceWindowsCompatibility;
-    }
-
-    /**
-     * Sets whether or not Windows compatibility is enabled.
-     *
-     * @param bool $enhance
-     *
-     * @return self The current Process instance
-     */
-    public function setEnhanceWindowsCompatibility($enhance)
-    {
-        $this->enhanceWindowsCompatibility = (bool) $enhance;
-
-        return $this;
-    }
-
-    /**
-     * Returns whether sigchild compatibility mode is activated or not.
-     *
-     * @return bool
-     */
-    public function getEnhanceSigchildCompatibility()
-    {
-        return $this->enhanceSigchildCompatibility;
-    }
-
-    /**
-     * Activates sigchild compatibility mode.
-     *
-     * Sigchild compatibility mode is required to get the exit code and
-     * determine the success of a process when PHP has been compiled with
-     * the --enable-sigchild option
-     *
-     * @param bool $enhance
-     *
-     * @return self The current Process instance
-     */
-    public function setEnhanceSigchildCompatibility($enhance)
-    {
-        $this->enhanceSigchildCompatibility = (bool) $enhance;
-
-        return $this;
-    }
-
-    /**
-     * Performs a check between the timeout definition and the time the process started.
-     *
-     * In case you run a background process (with the start method), you should
-     * trigger this method regularly to ensure the process timeout
-     *
-     * @throws ProcessTimedOutException In case the timeout was reached
-     */
-    public function checkTimeout()
-    {
-        if ($this->status !== self::STATUS_STARTED) {
-            return;
-        }
-
-        if (null !== $this->timeout && $this->timeout < microtime(true) - $this->starttime) {
-            $this->stop(0);
-
-            throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_GENERAL);
-        }
-
-        if (null !== $this->idleTimeout && $this->idleTimeout < microtime(true) - $this->lastOutputTime) {
-            $this->stop(0);
-
-            throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_IDLE);
-        }
-    }
-
-    /**
-     * Returns whether PTY is supported on the current operating system.
-     *
-     * @return bool
-     */
-    public static function isPtySupported()
-    {
-        static $result;
-
-        if (null !== $result) {
-            return $result;
-        }
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            return $result = false;
-        }
-
-        $proc = @proc_open('echo 1', array(array('pty'), array('pty'), array('pty')), $pipes);
-        if (is_resource($proc)) {
-            proc_close($proc);
-
-            return $result = true;
-        }
-
-        return $result = false;
-    }
-
-    /**
-     * Creates the descriptors needed by the proc_open.
-     *
-     * @return array
-     */
-    private function getDescriptors()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->processPipes = WindowsPipes::create($this, $this->input);
-        } else {
-            $this->processPipes = UnixPipes::create($this, $this->input);
-        }
-        $descriptors = $this->processPipes->getDescriptors($this->outputDisabled);
-
-        if (!$this->useFileHandles && $this->enhanceSigchildCompatibility && $this->isSigchildEnabled()) {
-            // last exit code is output on the fourth pipe and caught to work around --enable-sigchild
-            $descriptors = array_merge($descriptors, array(array('pipe', 'w')));
-
-            $this->commandline = '('.$this->commandline.') 3>/dev/null; code=$?; echo $code >&3; exit $code';
-        }
-
-        return $descriptors;
-    }
-
-    /**
-     * Builds up the callback used by wait().
-     *
-     * The callbacks adds all occurred output to the specific buffer and calls
-     * the user callback (if present) with the received output.
-     *
-     * @param callable|null $callback The user defined PHP callback
-     *
-     * @return callable A PHP callable
-     */
-    protected function buildCallback($callback)
-    {
-        $that = $this;
-        $out = self::OUT;
-        $callback = function ($type, $data) use ($that, $callback, $out) {
-            if ($out == $type) {
-                $that->addOutput($data);
-            } else {
-                $that->addErrorOutput($data);
-            }
-
-            if (null !== $callback) {
-                call_user_func($callback, $type, $data);
-            }
-        };
-
-        return $callback;
-    }
-
-    /**
-     * Updates the status of the process, reads pipes.
-     *
-     * @param bool $blocking Whether to use a blocking read call.
-     */
-    protected function updateStatus($blocking)
-    {
-        if (self::STATUS_STARTED !== $this->status) {
-            return;
-        }
-
-        $this->processInformation = proc_get_status($this->process);
-        $this->captureExitCode();
-
-        $this->readPipes($blocking, '\\' === DIRECTORY_SEPARATOR ? !$this->processInformation['running'] : true);
-
-        if (!$this->processInformation['running']) {
-            $this->close();
-        }
-    }
-
-    /**
-     * Returns whether PHP has been compiled with the '--enable-sigchild' option or not.
-     *
-     * @return bool
-     */
-    protected function isSigchildEnabled()
-    {
-        if (null !== self::$sigchild) {
-            return self::$sigchild;
-        }
-
-        if (!function_exists('phpinfo')) {
-            return self::$sigchild = false;
-        }
-
-        ob_start();
-        phpinfo(INFO_GENERAL);
-
-        return self::$sigchild = false !== strpos(ob_get_clean(), '--enable-sigchild');
-    }
-
-    /**
-     * Validates and returns the filtered timeout.
-     *
-     * @param int|float|null $timeout
-     *
-     * @return float|null
-     *
-     * @throws InvalidArgumentException if the given timeout is a negative number
-     */
-    private function validateTimeout($timeout)
-    {
-        $timeout = (float) $timeout;
-
-        if (0.0 === $timeout) {
-            $timeout = null;
-        } elseif ($timeout < 0) {
-            throw new InvalidArgumentException('The timeout value must be a valid positive integer or float number.');
-        }
-
-        return $timeout;
-    }
-
-    /**
-     * Reads pipes, executes callback.
-     *
-     * @param bool $blocking Whether to use blocking calls or not.
-     * @param bool $close    Whether to close file handles or not.
-     */
-    private function readPipes($blocking, $close)
-    {
-        $result = $this->processPipes->readAndWrite($blocking, $close);
-
-        $callback = $this->callback;
-        foreach ($result as $type => $data) {
-            if (3 == $type) {
-                $this->fallbackExitcode = (int) $data;
-            } else {
-                $callback($type === self::STDOUT ? self::OUT : self::ERR, $data);
-            }
-        }
-    }
-
-    /**
-     * Captures the exitcode if mentioned in the process information.
-     */
-    private function captureExitCode()
-    {
-        if (isset($this->processInformation['exitcode']) && -1 != $this->processInformation['exitcode']) {
-            $this->exitcode = $this->processInformation['exitcode'];
-        }
-    }
-
-    /**
-     * Closes process resource, closes file handles, sets the exitcode.
-     *
-     * @return int The exitcode
-     */
-    private function close()
-    {
-        $this->processPipes->close();
-        if (is_resource($this->process)) {
-            $exitcode = proc_close($this->process);
-        } else {
-            $exitcode = -1;
-        }
-
-        $this->exitcode = -1 !== $exitcode ? $exitcode : (null !== $this->exitcode ? $this->exitcode : -1);
-        $this->status = self::STATUS_TERMINATED;
-
-        if (-1 === $this->exitcode && null !== $this->fallbackExitcode) {
-            $this->exitcode = $this->fallbackExitcode;
-        } elseif (-1 === $this->exitcode && $this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) {
-            // if process has been signaled, no exitcode but a valid termsig, apply Unix convention
-            $this->exitcode = 128 + $this->processInformation['termsig'];
-        }
-
-        return $this->exitcode;
-    }
-
-    /**
-     * Resets data related to the latest run of the process.
-     */
-    private function resetProcessData()
-    {
-        $this->starttime = null;
-        $this->callback = null;
-        $this->exitcode = null;
-        $this->fallbackExitcode = null;
-        $this->processInformation = null;
-        $this->stdout = null;
-        $this->stderr = null;
-        $this->process = null;
-        $this->latestSignal = null;
-        $this->status = self::STATUS_READY;
-        $this->incrementalOutputOffset = 0;
-        $this->incrementalErrorOutputOffset = 0;
-    }
-
-    /**
-     * Sends a POSIX signal to the process.
-     *
-     * @param int  $signal         A valid POSIX signal (see http://www.php.net/manual/en/pcntl.constants.php)
-     * @param bool $throwException Whether to throw exception in case signal failed
-     *
-     * @return bool True if the signal was sent successfully, false otherwise
-     *
-     * @throws LogicException   In case the process is not running
-     * @throws RuntimeException In case --enable-sigchild is activated
-     * @throws RuntimeException In case of failure
-     */
-    private function doSignal($signal, $throwException)
-    {
-        if (!$this->isRunning()) {
-            if ($throwException) {
-                throw new LogicException('Can not send signal on a non running process.');
-            }
-
-            return false;
-        }
-
-        if ($this->isSigchildEnabled()) {
-            if ($throwException) {
-                throw new RuntimeException('This PHP has been compiled with --enable-sigchild. The process can not be signaled.');
-            }
-
-            return false;
-        }
-
-        if (true !== @proc_terminate($this->process, $signal)) {
-            if ($throwException) {
-                throw new RuntimeException(sprintf('Error while sending signal `%s`.', $signal));
-            }
-
-            return false;
-        }
-
-        $this->latestSignal = $signal;
-
-        return true;
-    }
-
-    /**
-     * Ensures the process is running or terminated, throws a LogicException if the process has a not started.
-     *
-     * @param string $functionName The function name that was called.
-     *
-     * @throws LogicException If the process has not run.
-     */
-    private function requireProcessIsStarted($functionName)
-    {
-        if (!$this->isStarted()) {
-            throw new LogicException(sprintf('Process must be started before calling %s.', $functionName));
-        }
-    }
-
-    /**
-     * Ensures the process is terminated, throws a LogicException if the process has a status different than `terminated`.
-     *
-     * @param string $functionName The function name that was called.
-     *
-     * @throws LogicException If the process is not yet terminated.
-     */
-    private function requireProcessIsTerminated($functionName)
-    {
-        if (!$this->isTerminated()) {
-            throw new LogicException(sprintf('Process must be terminated before calling %s.', $functionName));
-        }
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/ProcessBuilder.php b/core/vendor/symfony/process/Symfony/Component/Process/ProcessBuilder.php
deleted file mode 100644
index 5262ce2..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/ProcessBuilder.php
+++ /dev/null
@@ -1,285 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process;
-
-use Symfony\Component\Process\Exception\InvalidArgumentException;
-use Symfony\Component\Process\Exception\LogicException;
-
-/**
- * Process builder.
- *
- * @author Kris Wallsmith <kris@symfony.com>
- */
-class ProcessBuilder
-{
-    private $arguments;
-    private $cwd;
-    private $env = array();
-    private $input;
-    private $timeout = 60;
-    private $options = array();
-    private $inheritEnv = true;
-    private $prefix = array();
-    private $outputDisabled = false;
-
-    /**
-     * Constructor.
-     *
-     * @param string[] $arguments An array of arguments
-     */
-    public function __construct(array $arguments = array())
-    {
-        $this->arguments = $arguments;
-    }
-
-    /**
-     * Creates a process builder instance.
-     *
-     * @param string[] $arguments An array of arguments
-     *
-     * @return ProcessBuilder
-     */
-    public static function create(array $arguments = array())
-    {
-        return new static($arguments);
-    }
-
-    /**
-     * Adds an unescaped argument to the command string.
-     *
-     * @param string $argument A command argument
-     *
-     * @return ProcessBuilder
-     */
-    public function add($argument)
-    {
-        $this->arguments[] = $argument;
-
-        return $this;
-    }
-
-    /**
-     * Adds a prefix to the command string.
-     *
-     * The prefix is preserved when resetting arguments.
-     *
-     * @param string|array $prefix A command prefix or an array of command prefixes
-     *
-     * @return ProcessBuilder
-     */
-    public function setPrefix($prefix)
-    {
-        $this->prefix = is_array($prefix) ? $prefix : array($prefix);
-
-        return $this;
-    }
-
-    /**
-     * Sets the arguments of the process.
-     *
-     * Arguments must not be escaped.
-     * Previous arguments are removed.
-     *
-     * @param string[] $arguments
-     *
-     * @return ProcessBuilder
-     */
-    public function setArguments(array $arguments)
-    {
-        $this->arguments = $arguments;
-
-        return $this;
-    }
-
-    /**
-     * Sets the working directory.
-     *
-     * @param null|string $cwd The working directory
-     *
-     * @return ProcessBuilder
-     */
-    public function setWorkingDirectory($cwd)
-    {
-        $this->cwd = $cwd;
-
-        return $this;
-    }
-
-    /**
-     * Sets whether environment variables will be inherited or not.
-     *
-     * @param bool $inheritEnv
-     *
-     * @return ProcessBuilder
-     */
-    public function inheritEnvironmentVariables($inheritEnv = true)
-    {
-        $this->inheritEnv = $inheritEnv;
-
-        return $this;
-    }
-
-    /**
-     * Sets an environment variable.
-     *
-     * Setting a variable overrides its previous value. Use `null` to unset a
-     * defined environment variable.
-     *
-     * @param string      $name  The variable name
-     * @param null|string $value The variable value
-     *
-     * @return ProcessBuilder
-     */
-    public function setEnv($name, $value)
-    {
-        $this->env[$name] = $value;
-
-        return $this;
-    }
-
-    /**
-     * Adds a set of environment variables.
-     *
-     * Already existing environment variables with the same name will be
-     * overridden by the new values passed to this method. Pass `null` to unset
-     * a variable.
-     *
-     * @param array $variables The variables
-     *
-     * @return ProcessBuilder
-     */
-    public function addEnvironmentVariables(array $variables)
-    {
-        $this->env = array_replace($this->env, $variables);
-
-        return $this;
-    }
-
-    /**
-     * Sets the input of the process.
-     *
-     * @param string|null $input The input as a string
-     *
-     * @return ProcessBuilder
-     *
-     * @throws InvalidArgumentException In case the argument is invalid
-     */
-    public function setInput($input)
-    {
-        $this->input = ProcessUtils::validateInput(sprintf('%s::%s', __CLASS__, __FUNCTION__), $input);
-
-        return $this;
-    }
-
-    /**
-     * Sets the process timeout.
-     *
-     * To disable the timeout, set this value to null.
-     *
-     * @param float|null $timeout
-     *
-     * @return ProcessBuilder
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setTimeout($timeout)
-    {
-        if (null === $timeout) {
-            $this->timeout = null;
-
-            return $this;
-        }
-
-        $timeout = (float) $timeout;
-
-        if ($timeout < 0) {
-            throw new InvalidArgumentException('The timeout value must be a valid positive integer or float number.');
-        }
-
-        $this->timeout = $timeout;
-
-        return $this;
-    }
-
-    /**
-     * Adds a proc_open option.
-     *
-     * @param string $name  The option name
-     * @param string $value The option value
-     *
-     * @return ProcessBuilder
-     */
-    public function setOption($name, $value)
-    {
-        $this->options[$name] = $value;
-
-        return $this;
-    }
-
-    /**
-     * Disables fetching output and error output from the underlying process.
-     *
-     * @return ProcessBuilder
-     */
-    public function disableOutput()
-    {
-        $this->outputDisabled = true;
-
-        return $this;
-    }
-
-    /**
-     * Enables fetching output and error output from the underlying process.
-     *
-     * @return ProcessBuilder
-     */
-    public function enableOutput()
-    {
-        $this->outputDisabled = false;
-
-        return $this;
-    }
-
-    /**
-     * Creates a Process instance and returns it.
-     *
-     * @return Process
-     *
-     * @throws LogicException In case no arguments have been provided
-     */
-    public function getProcess()
-    {
-        if (0 === count($this->prefix) && 0 === count($this->arguments)) {
-            throw new LogicException('You must add() command arguments before calling getProcess().');
-        }
-
-        $options = $this->options;
-
-        $arguments = array_merge($this->prefix, $this->arguments);
-        $script = implode(' ', array_map(array(__NAMESPACE__.'\\ProcessUtils', 'escapeArgument'), $arguments));
-
-        if ($this->inheritEnv) {
-            // include $_ENV for BC purposes
-            $env = array_replace($_ENV, $_SERVER, $this->env);
-        } else {
-            $env = $this->env;
-        }
-
-        $process = new Process($script, $this->cwd, $env, $this->input, $this->timeout, $options);
-
-        if ($this->outputDisabled) {
-            $process->disableOutput();
-        }
-
-        return $process;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/ProcessUtils.php b/core/vendor/symfony/process/Symfony/Component/Process/ProcessUtils.php
deleted file mode 100644
index 0f4cb89..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/ProcessUtils.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process;
-
-use Symfony\Component\Process\Exception\InvalidArgumentException;
-
-/**
- * ProcessUtils is a bunch of utility methods.
- *
- * This class contains static methods only and is not meant to be instantiated.
- *
- * @author Martin Hasoň <martin.hason@gmail.com>
- */
-class ProcessUtils
-{
-    /**
-     * This class should not be instantiated.
-     */
-    private function __construct()
-    {
-    }
-
-    /**
-     * Escapes a string to be used as a shell argument.
-     *
-     * @param string $argument The argument that will be escaped
-     *
-     * @return string The escaped argument
-     */
-    public static function escapeArgument($argument)
-    {
-        //Fix for PHP bug #43784 escapeshellarg removes % from given string
-        //Fix for PHP bug #49446 escapeshellarg doesn't work on Windows
-        //@see https://bugs.php.net/bug.php?id=43784
-        //@see https://bugs.php.net/bug.php?id=49446
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            if ('' === $argument) {
-                return escapeshellarg($argument);
-            }
-
-            $escapedArgument = '';
-            $quote =  false;
-            foreach (preg_split('/(")/i', $argument, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE) as $part) {
-                if ('"' === $part) {
-                    $escapedArgument .= '\\"';
-                } elseif (self::isSurroundedBy($part, '%')) {
-                    // Avoid environment variable expansion
-                    $escapedArgument .= '^%"'.substr($part, 1, -1).'"^%';
-                } else {
-                    // escape trailing backslash
-                    if ('\\' === substr($part, -1)) {
-                        $part .= '\\';
-                    }
-                    $quote = true;
-                    $escapedArgument .= $part;
-                }
-            }
-            if ($quote) {
-                $escapedArgument = '"'.$escapedArgument.'"';
-            }
-
-            return $escapedArgument;
-        }
-
-        return escapeshellarg($argument);
-    }
-
-    /**
-     * Validates and normalizes a Process input.
-     *
-     * @param string $caller The name of method call that validates the input
-     * @param mixed  $input  The input to validate
-     *
-     * @return string The validated input
-     *
-     * @throws InvalidArgumentException In case the input is not valid
-     */
-    public static function validateInput($caller, $input)
-    {
-        if (null !== $input) {
-            if (is_resource($input)) {
-                return $input;
-            }
-            if (is_scalar($input)) {
-                return (string) $input;
-            }
-            // deprecated as of Symfony 2.5, to be removed in 3.0
-            if (is_object($input) && method_exists($input, '__toString')) {
-                return (string) $input;
-            }
-
-            throw new InvalidArgumentException(sprintf('%s only accepts strings or stream resources.', $caller));
-        }
-
-        return $input;
-    }
-
-    private static function isSurroundedBy($arg, $char)
-    {
-        return 2 < strlen($arg) && $char === $arg[0] && $char === $arg[strlen($arg) - 1];
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/README.md b/core/vendor/symfony/process/Symfony/Component/Process/README.md
deleted file mode 100644
index 7c83ed4..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-Process Component
-=================
-
-Process executes commands in sub-processes.
-
-In this example, we run a simple directory listing and get the result back:
-
-```php
-use Symfony\Component\Process\Process;
-
-$process = new Process('ls -lsa');
-$process->setTimeout(3600);
-$process->run();
-if (!$process->isSuccessful()) {
-    throw new RuntimeException($process->getErrorOutput());
-}
-
-print $process->getOutput();
-```
-
-You can think that this is easy to achieve with plain PHP but it's not especially
-if you want to take care of the subtle differences between the different platforms.
-
-And if you want to be able to get some feedback in real-time, just pass an
-anonymous function to the ``run()`` method and you will get the output buffer
-as it becomes available:
-
-```php
-use Symfony\Component\Process\Process;
-
-$process = new Process('ls -lsa');
-$process->run(function ($type, $buffer) {
-    if (Process::ERR === $type) {
-        echo 'ERR > '.$buffer;
-    } else {
-        echo 'OUT > '.$buffer;
-    }
-});
-```
-
-That's great if you want to execute a long running command (like rsync-ing files to a
-remote server) and give feedback to the user in real-time.
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/Process/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php
deleted file mode 100644
index 2b9c36d..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php
+++ /dev/null
@@ -1,1186 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\Exception\ProcessTimedOutException;
-use Symfony\Component\Process\Exception\LogicException;
-use Symfony\Component\Process\Pipes\PipesInterface;
-use Symfony\Component\Process\Process;
-use Symfony\Component\Process\Exception\RuntimeException;
-
-/**
- * @author Robert Schönthal <seroscho@googlemail.com>
- */
-abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
-{
-    public function testThatProcessDoesNotThrowWarningDuringRun()
-    {
-        @trigger_error('Test Error', E_USER_NOTICE);
-        $process = $this->getProcess("php -r 'sleep(3)'");
-        $process->run();
-        $actualError = error_get_last();
-        $this->assertEquals('Test Error', $actualError['message']);
-        $this->assertEquals(E_USER_NOTICE, $actualError['type']);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
-     */
-    public function testNegativeTimeoutFromConstructor()
-    {
-        $this->getProcess('', null, null, null, -1);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
-     */
-    public function testNegativeTimeoutFromSetter()
-    {
-        $p = $this->getProcess('');
-        $p->setTimeout(-1);
-    }
-
-    public function testFloatAndNullTimeout()
-    {
-        $p = $this->getProcess('');
-
-        $p->setTimeout(10);
-        $this->assertSame(10.0, $p->getTimeout());
-
-        $p->setTimeout(null);
-        $this->assertNull($p->getTimeout());
-
-        $p->setTimeout(0.0);
-        $this->assertNull($p->getTimeout());
-    }
-
-    public function testStopWithTimeoutIsActuallyWorking()
-    {
-        $this->verifyPosixIsEnabled();
-
-        // exec is mandatory here since we send a signal to the process
-        // see https://github.com/symfony/symfony/issues/5030 about prepending
-        // command with exec
-        $p = $this->getProcess('exec php '.__DIR__.'/NonStopableProcess.php 3');
-        $p->start();
-        usleep(100000);
-        $start = microtime(true);
-        $p->stop(1.1, SIGKILL);
-        while ($p->isRunning()) {
-            usleep(1000);
-        }
-        $duration = microtime(true) - $start;
-
-        $this->assertLessThan(4, $duration);
-    }
-
-    public function testAllOutputIsActuallyReadOnTermination()
-    {
-        // this code will result in a maximum of 2 reads of 8192 bytes by calling
-        // start() and isRunning().  by the time getOutput() is called the process
-        // has terminated so the internal pipes array is already empty. normally
-        // the call to start() will not read any data as the process will not have
-        // generated output, but this is non-deterministic so we must count it as
-        // a possibility.  therefore we need 2 * PipesInterface::CHUNK_SIZE plus
-        // another byte which will never be read.
-        $expectedOutputSize = PipesInterface::CHUNK_SIZE * 2 + 2;
-
-        $code = sprintf('echo str_repeat(\'*\', %d);', $expectedOutputSize);
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg($code)));
-
-        $p->start();
-        // Let's wait enough time for process to finish...
-        // Here we don't call Process::run or Process::wait to avoid any read of pipes
-        usleep(500000);
-
-        if ($p->isRunning()) {
-            $this->markTestSkipped('Process execution did not complete in the required time frame');
-        }
-
-        $o = $p->getOutput();
-
-        $this->assertEquals($expectedOutputSize, strlen($o));
-    }
-
-    public function testCallbacksAreExecutedWithStart()
-    {
-        $data = '';
-
-        $process = $this->getProcess('echo foo && php -r "sleep(1);" && echo foo');
-        $process->start(function ($type, $buffer) use (&$data) {
-            $data .= $buffer;
-        });
-
-        while ($process->isRunning()) {
-            usleep(10000);
-        }
-
-        $this->assertEquals(2, preg_match_all('/foo/', $data, $matches));
-    }
-
-    /**
-     * tests results from sub processes.
-     *
-     * @dataProvider responsesCodeProvider
-     */
-    public function testProcessResponses($expected, $getter, $code)
-    {
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg($code)));
-        $p->run();
-
-        $this->assertSame($expected, $p->$getter());
-    }
-
-    /**
-     * tests results from sub processes.
-     *
-     * @dataProvider pipesCodeProvider
-     */
-    public function testProcessPipes($code, $size)
-    {
-        $expected = str_repeat(str_repeat('*', 1024), $size).'!';
-        $expectedLength = (1024 * $size) + 1;
-
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg($code)));
-        $p->setInput($expected);
-        $p->run();
-
-        $this->assertEquals($expectedLength, strlen($p->getOutput()));
-        $this->assertEquals($expectedLength, strlen($p->getErrorOutput()));
-    }
-
-    /**
-     * @dataProvider pipesCodeProvider
-     */
-    public function testSetStreamAsInput($code, $size)
-    {
-        $expected = str_repeat(str_repeat('*', 1024), $size).'!';
-        $expectedLength = (1024 * $size) + 1;
-
-        $stream = fopen('php://temporary', 'w+');
-        fwrite($stream, $expected);
-        rewind($stream);
-
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg($code)));
-        $p->setInput($stream);
-        $p->run();
-
-        fclose($stream);
-
-        $this->assertEquals($expectedLength, strlen($p->getOutput()));
-        $this->assertEquals($expectedLength, strlen($p->getErrorOutput()));
-    }
-
-    public function testSetInputWhileRunningThrowsAnException()
-    {
-        $process = $this->getProcess('php -r "usleep(500000);"');
-        $process->start();
-        try {
-            $process->setInput('foobar');
-            $process->stop();
-            $this->fail('A LogicException should have been raised.');
-        } catch (LogicException $e) {
-            $this->assertEquals('Input can not be set while the process is running.', $e->getMessage());
-        }
-        $process->stop();
-    }
-
-    /**
-     * @dataProvider provideInvalidInputValues
-     * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
-     * @expectedExceptionMessage Symfony\Component\Process\Process::setInput only accepts strings or stream resources.
-     */
-    public function testInvalidInput($value)
-    {
-        $process = $this->getProcess('php -v');
-        $process->setInput($value);
-    }
-
-    public function provideInvalidInputValues()
-    {
-        return array(
-            array(array()),
-            array(new NonStringifiable()),
-        );
-    }
-
-    /**
-     * @dataProvider provideInputValues
-     */
-    public function testValidInput($expected, $value)
-    {
-        $process = $this->getProcess('php -v');
-        $process->setInput($value);
-        $this->assertSame($expected, $process->getInput());
-    }
-
-    public function provideInputValues()
-    {
-        return array(
-            array(null, null),
-            array('24.5', 24.5),
-            array('input data', 'input data'),
-            // to maintain BC, supposed to be removed in 3.0
-            array('stringifiable', new Stringifiable()),
-        );
-    }
-
-    public function chainedCommandsOutputProvider()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            return array(
-                array("2 \r\n2\r\n", '&&', '2'),
-            );
-        }
-
-        return array(
-            array("1\n1\n", ';', '1'),
-            array("2\n2\n", '&&', '2'),
-        );
-    }
-
-    /**
-     * @dataProvider chainedCommandsOutputProvider
-     */
-    public function testChainedCommandsOutput($expected, $operator, $input)
-    {
-        $process = $this->getProcess(sprintf('echo %s %s echo %s', $input, $operator, $input));
-        $process->run();
-        $this->assertEquals($expected, $process->getOutput());
-    }
-
-    public function testCallbackIsExecutedForOutput()
-    {
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('echo \'foo\';')));
-
-        $called = false;
-        $p->run(function ($type, $buffer) use (&$called) {
-            $called = $buffer === 'foo';
-        });
-
-        $this->assertTrue($called, 'The callback should be executed with the output');
-    }
-
-    public function testGetErrorOutput()
-    {
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 0; while ($n < 3) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; }')));
-
-        $p->run();
-        $this->assertEquals(3, preg_match_all('/ERROR/', $p->getErrorOutput(), $matches));
-    }
-
-    public function testGetIncrementalErrorOutput()
-    {
-        // use a lock file to toggle between writing ("W") and reading ("R") the
-        // error stream
-        $lock = tempnam(sys_get_temp_dir(), get_class($this).'Lock');
-        file_put_contents($lock, 'W');
-
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 0; while ($n < 3) { if (\'W\' === file_get_contents('.var_export($lock, true).')) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; file_put_contents('.var_export($lock, true).', \'R\'); } usleep(100); }')));
-
-        $p->start();
-        while ($p->isRunning()) {
-            if ('R' === file_get_contents($lock)) {
-                $this->assertLessThanOrEqual(1, preg_match_all('/ERROR/', $p->getIncrementalErrorOutput(), $matches));
-                file_put_contents($lock, 'W');
-            }
-            usleep(100);
-        }
-
-        unlink($lock);
-    }
-
-    public function testFlushErrorOutput()
-    {
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 0; while ($n < 3) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; }')));
-
-        $p->run();
-        $p->clearErrorOutput();
-        $this->assertEmpty($p->getErrorOutput());
-    }
-
-    public function testGetEmptyIncrementalErrorOutput()
-    {
-        // use a lock file to toggle between writing ("W") and reading ("R") the
-        // output stream
-        $lock = tempnam(sys_get_temp_dir(), get_class($this).'Lock');
-        file_put_contents($lock, 'W');
-
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 0; while ($n < 3) { if (\'W\' === file_get_contents('.var_export($lock, true).')) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; file_put_contents('.var_export($lock, true).', \'R\'); } usleep(100); }')));
-
-        $p->start();
-
-        $shouldWrite = false;
-
-        while ($p->isRunning()) {
-            if ('R' === file_get_contents($lock)) {
-                if (!$shouldWrite) {
-                    $this->assertLessThanOrEqual(1, preg_match_all('/ERROR/', $p->getIncrementalOutput(), $matches));
-                    $shouldWrite = true;
-                } else {
-                    $this->assertSame('', $p->getIncrementalOutput());
-
-                    file_put_contents($lock, 'W');
-                    $shouldWrite = false;
-                }
-            }
-            usleep(100);
-        }
-
-        unlink($lock);
-    }
-
-    public function testGetOutput()
-    {
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 0; while ($n < 3) { echo \' foo \'; $n++; }')));
-
-        $p->run();
-        $this->assertEquals(3, preg_match_all('/foo/', $p->getOutput(), $matches));
-    }
-
-    public function testGetIncrementalOutput()
-    {
-        // use a lock file to toggle between writing ("W") and reading ("R") the
-        // output stream
-        $lock = tempnam(sys_get_temp_dir(), get_class($this).'Lock');
-        file_put_contents($lock, 'W');
-
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 0; while ($n < 3) { if (\'W\' === file_get_contents('.var_export($lock, true).')) { echo \' foo \'; $n++; file_put_contents('.var_export($lock, true).', \'R\'); } usleep(100); }')));
-
-        $p->start();
-        while ($p->isRunning()) {
-            if ('R' === file_get_contents($lock)) {
-                $this->assertLessThanOrEqual(1, preg_match_all('/foo/', $p->getIncrementalOutput(), $matches));
-                file_put_contents($lock, 'W');
-            }
-            usleep(100);
-        }
-
-        unlink($lock);
-    }
-
-    public function testFlushOutput()
-    {
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n=0;while ($n<3) {echo \' foo \';$n++;}')));
-
-        $p->run();
-        $p->clearOutput();
-        $this->assertEmpty($p->getOutput());
-    }
-
-    public function testGetEmptyIncrementalOutput()
-    {
-        // use a lock file to toggle between writing ("W") and reading ("R") the
-        // output stream
-        $lock = tempnam(sys_get_temp_dir(), get_class($this).'Lock');
-        file_put_contents($lock, 'W');
-
-        $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 0; while ($n < 3) { if (\'W\' === file_get_contents('.var_export($lock, true).')) { echo \' foo \'; $n++; file_put_contents('.var_export($lock, true).', \'R\'); } usleep(100); }')));
-
-        $p->start();
-
-        $shouldWrite = false;
-
-        while ($p->isRunning()) {
-            if ('R' === file_get_contents($lock)) {
-                if (!$shouldWrite) {
-                    $this->assertLessThanOrEqual(1, preg_match_all('/foo/', $p->getIncrementalOutput(), $matches));
-                    $shouldWrite = true;
-                } else {
-                    $this->assertSame('', $p->getIncrementalOutput());
-
-                    file_put_contents($lock, 'W');
-                    $shouldWrite = false;
-                }
-            }
-            usleep(100);
-        }
-
-        unlink($lock);
-    }
-
-    public function testZeroAsOutput()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            // see http://stackoverflow.com/questions/7105433/windows-batch-echo-without-new-line
-            $p = $this->getProcess('echo | set /p dummyName=0');
-        } else {
-            $p = $this->getProcess('printf 0');
-        }
-
-        $p->run();
-        $this->assertSame('0', $p->getOutput());
-    }
-
-    public function testExitCodeCommandFailed()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does not support POSIX exit code');
-        }
-
-        // such command run in bash return an exitcode 127
-        $process = $this->getProcess('nonexistingcommandIhopeneversomeonewouldnameacommandlikethis');
-        $process->run();
-
-        $this->assertGreaterThan(0, $process->getExitCode());
-    }
-
-    public function testTTYCommand()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does have /dev/tty support');
-        }
-
-        $process = $this->getProcess('echo "foo" >> /dev/null && php -r "usleep(100000);"');
-        $process->setTty(true);
-        $process->start();
-        $this->assertTrue($process->isRunning());
-        $process->wait();
-
-        $this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
-    }
-
-    public function testTTYCommandExitCode()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does have /dev/tty support');
-        }
-
-        $process = $this->getProcess('echo "foo" >> /dev/null');
-        $process->setTty(true);
-        $process->run();
-
-        $this->assertTrue($process->isSuccessful());
-    }
-
-    public function testTTYInWindowsEnvironment()
-    {
-        if ('\\' !== DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('This test is for Windows platform only');
-        }
-
-        $process = $this->getProcess('echo "foo" >> /dev/null');
-        $process->setTty(false);
-        $this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'TTY mode is not supported on Windows platform.');
-        $process->setTty(true);
-    }
-
-    public function testExitCodeTextIsNullWhenExitCodeIsNull()
-    {
-        $process = $this->getProcess('');
-        $this->assertNull($process->getExitCodeText());
-    }
-
-    public function testPTYCommand()
-    {
-        if (!Process::isPtySupported()) {
-            $this->markTestSkipped('PTY is not supported on this operating system.');
-        }
-
-        $process = $this->getProcess('echo "foo"');
-        $process->setPty(true);
-        $process->run();
-
-        $this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
-        $this->assertEquals("foo\r\n", $process->getOutput());
-    }
-
-    public function testMustRun()
-    {
-        $process = $this->getProcess('echo foo');
-
-        $this->assertSame($process, $process->mustRun());
-        $this->assertEquals("foo".PHP_EOL, $process->getOutput());
-    }
-
-    public function testSuccessfulMustRunHasCorrectExitCode()
-    {
-        $process = $this->getProcess('echo foo')->mustRun();
-        $this->assertEquals(0, $process->getExitCode());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\ProcessFailedException
-     */
-    public function testMustRunThrowsException()
-    {
-        $process = $this->getProcess('exit 1');
-        $process->mustRun();
-    }
-
-    public function testExitCodeText()
-    {
-        $process = $this->getProcess('');
-        $r = new \ReflectionObject($process);
-        $p = $r->getProperty('exitcode');
-        $p->setAccessible(true);
-
-        $p->setValue($process, 2);
-        $this->assertEquals('Misuse of shell builtins', $process->getExitCodeText());
-    }
-
-    public function testStartIsNonBlocking()
-    {
-        $process = $this->getProcess('php -r "usleep(500000);"');
-        $start = microtime(true);
-        $process->start();
-        $end = microtime(true);
-        $this->assertLessThan(0.2, $end-$start);
-        $process->wait();
-    }
-
-    public function testUpdateStatus()
-    {
-        $process = $this->getProcess('php -h');
-        $process->run();
-        $this->assertTrue(strlen($process->getOutput()) > 0);
-    }
-
-    public function testGetExitCodeIsNullOnStart()
-    {
-        $process = $this->getProcess('php -r "usleep(200000);"');
-        $this->assertNull($process->getExitCode());
-        $process->start();
-        $this->assertNull($process->getExitCode());
-        $process->wait();
-        $this->assertEquals(0, $process->getExitCode());
-    }
-
-    public function testGetExitCodeIsNullOnWhenStartingAgain()
-    {
-        $process = $this->getProcess('php -r "usleep(200000);"');
-        $process->run();
-        $this->assertEquals(0, $process->getExitCode());
-        $process->start();
-        $this->assertNull($process->getExitCode());
-        $process->wait();
-        $this->assertEquals(0, $process->getExitCode());
-    }
-
-    public function testGetExitCode()
-    {
-        $process = $this->getProcess('php -m');
-        $process->run();
-        $this->assertSame(0, $process->getExitCode());
-    }
-
-    public function testStatus()
-    {
-        $process = $this->getProcess('php -r "usleep(500000);"');
-        $this->assertFalse($process->isRunning());
-        $this->assertFalse($process->isStarted());
-        $this->assertFalse($process->isTerminated());
-        $this->assertSame(Process::STATUS_READY, $process->getStatus());
-        $process->start();
-        $this->assertTrue($process->isRunning());
-        $this->assertTrue($process->isStarted());
-        $this->assertFalse($process->isTerminated());
-        $this->assertSame(Process::STATUS_STARTED, $process->getStatus());
-        $process->wait();
-        $this->assertFalse($process->isRunning());
-        $this->assertTrue($process->isStarted());
-        $this->assertTrue($process->isTerminated());
-        $this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
-    }
-
-    public function testStop()
-    {
-        $process = $this->getProcess('php -r "sleep(4);"');
-        $process->start();
-        $this->assertTrue($process->isRunning());
-        $process->stop();
-        $this->assertFalse($process->isRunning());
-    }
-
-    public function testIsSuccessful()
-    {
-        $process = $this->getProcess('php -m');
-        $process->run();
-        $this->assertTrue($process->isSuccessful());
-    }
-
-    public function testIsSuccessfulOnlyAfterTerminated()
-    {
-        $process = $this->getProcess('php -r "sleep(1);"');
-        $process->start();
-        while ($process->isRunning()) {
-            $this->assertFalse($process->isSuccessful());
-            usleep(300000);
-        }
-
-        $this->assertTrue($process->isSuccessful());
-    }
-
-    public function testIsNotSuccessful()
-    {
-        $process = $this->getProcess('php -r "usleep(500000);throw new \Exception(\'BOUM\');"');
-        $process->start();
-        $this->assertTrue($process->isRunning());
-        $process->wait();
-        $this->assertFalse($process->isSuccessful());
-    }
-
-    public function testProcessIsNotSignaled()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does not support POSIX signals');
-        }
-
-        $process = $this->getProcess('php -m');
-        $process->run();
-        $this->assertFalse($process->hasBeenSignaled());
-    }
-
-    public function testProcessWithoutTermSignalIsNotSignaled()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does not support POSIX signals');
-        }
-
-        $process = $this->getProcess('php -m');
-        $process->run();
-        $this->assertFalse($process->hasBeenSignaled());
-    }
-
-    public function testProcessWithoutTermSignal()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does not support POSIX signals');
-        }
-
-        $process = $this->getProcess('php -m');
-        $process->run();
-        $this->assertEquals(0, $process->getTermSignal());
-    }
-
-    public function testProcessIsSignaledIfStopped()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does not support POSIX signals');
-        }
-
-        $process = $this->getProcess('php -r "sleep(4);"');
-        $process->start();
-        $process->stop();
-        $this->assertTrue($process->hasBeenSignaled());
-    }
-
-    public function testProcessWithTermSignal()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does not support POSIX signals');
-        }
-
-        // SIGTERM is only defined if pcntl extension is present
-        $termSignal = defined('SIGTERM') ? SIGTERM : 15;
-
-        $process = $this->getProcess('php -r "sleep(4);"');
-        $process->start();
-        $process->stop();
-
-        $this->assertEquals($termSignal, $process->getTermSignal());
-    }
-
-    public function testProcessThrowsExceptionWhenExternallySignaled()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Windows does not support POSIX signals');
-        }
-
-        if (!function_exists('posix_kill')) {
-            $this->markTestSkipped('posix_kill is required for this test');
-        }
-
-        $termSignal = defined('SIGKILL') ? SIGKILL : 9;
-
-        $process = $this->getProcess('exec php -r "while (true) {}"');
-        $process->start();
-        posix_kill($process->getPid(), $termSignal);
-
-        $this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'The process has been signaled with signal "9".');
-        $process->wait();
-    }
-
-    public function testRestart()
-    {
-        $process1 = $this->getProcess('php -r "echo getmypid();"');
-        $process1->run();
-        $process2 = $process1->restart();
-
-        $process2->wait(); // wait for output
-
-        // Ensure that both processed finished and the output is numeric
-        $this->assertFalse($process1->isRunning());
-        $this->assertFalse($process2->isRunning());
-        $this->assertTrue(is_numeric($process1->getOutput()));
-        $this->assertTrue(is_numeric($process2->getOutput()));
-
-        // Ensure that restart returned a new process by check that the output is different
-        $this->assertNotEquals($process1->getOutput(), $process2->getOutput());
-    }
-
-    public function testPhpDeadlock()
-    {
-        $this->markTestSkipped('Can cause PHP to hang');
-
-        // Sleep doesn't work as it will allow the process to handle signals and close
-        // file handles from the other end.
-        $process = $this->getProcess('php -r "while (true) {}"');
-        $process->start();
-
-        // PHP will deadlock when it tries to cleanup $process
-    }
-
-    public function testRunProcessWithTimeout()
-    {
-        $timeout = 0.5;
-        $process = $this->getProcess('php -r "usleep(600000);"');
-        $process->setTimeout($timeout);
-        $start = microtime(true);
-        try {
-            $process->run();
-            $this->fail('A RuntimeException should have been raised');
-        } catch (RuntimeException $e) {
-        }
-        $duration = microtime(true) - $start;
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            // Windows is a bit slower as it read file handles, then allow twice the precision
-            $maxDuration = $timeout + 2 * Process::TIMEOUT_PRECISION;
-        } else {
-            $maxDuration = $timeout + Process::TIMEOUT_PRECISION;
-        }
-
-        $this->assertLessThan($maxDuration, $duration);
-    }
-
-    public function testCheckTimeoutOnNonStartedProcess()
-    {
-        $process = $this->getProcess('php -r "sleep(3);"');
-        $process->checkTimeout();
-    }
-
-    public function testCheckTimeoutOnTerminatedProcess()
-    {
-        $process = $this->getProcess('php -v');
-        $process->run();
-        $process->checkTimeout();
-    }
-
-    public function testCheckTimeoutOnStartedProcess()
-    {
-        $timeout = 0.5;
-        $precision = 100000;
-        $process = $this->getProcess('php -r "sleep(3);"');
-        $process->setTimeout($timeout);
-        $start = microtime(true);
-
-        $process->start();
-
-        try {
-            while ($process->isRunning()) {
-                $process->checkTimeout();
-                usleep($precision);
-            }
-            $this->fail('A RuntimeException should have been raised');
-        } catch (RuntimeException $e) {
-        }
-        $duration = microtime(true) - $start;
-
-        $this->assertLessThan($timeout + $precision, $duration);
-        $this->assertFalse($process->isSuccessful());
-    }
-
-    /**
-     * @group idle-timeout
-     */
-    public function testIdleTimeout()
-    {
-        $process = $this->getProcess('php -r "sleep(3);"');
-        $process->setTimeout(10);
-        $process->setIdleTimeout(0.5);
-
-        try {
-            $process->run();
-
-            $this->fail('A timeout exception was expected.');
-        } catch (ProcessTimedOutException $ex) {
-            $this->assertTrue($ex->isIdleTimeout());
-            $this->assertFalse($ex->isGeneralTimeout());
-            $this->assertEquals(0.5, $ex->getExceededTimeout());
-        }
-    }
-
-    /**
-     * @group idle-timeout
-     */
-    public function testIdleTimeoutNotExceededWhenOutputIsSent()
-    {
-        $process = $this->getProcess('php -r "echo \'foo\'; sleep(1); echo \'foo\'; sleep(1); echo \'foo\'; sleep(1); "');
-        $process->setTimeout(2);
-        $process->setIdleTimeout(1.5);
-
-        try {
-            $process->run();
-            $this->fail('A timeout exception was expected.');
-        } catch (ProcessTimedOutException $ex) {
-            $this->assertTrue($ex->isGeneralTimeout());
-            $this->assertFalse($ex->isIdleTimeout());
-            $this->assertEquals(2, $ex->getExceededTimeout());
-        }
-    }
-
-    public function testStartAfterATimeout()
-    {
-        $process = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 1000; while ($n--) {echo \'\'; usleep(1000); }')));
-        $process->setTimeout(0.1);
-
-        try {
-            $process->run();
-            $this->fail('A RuntimeException should have been raised.');
-        } catch (RuntimeException $e) {
-        }
-        $process->start();
-        usleep(1000);
-        $process->stop();
-    }
-
-    public function testGetPid()
-    {
-        $process = $this->getProcess('php -r "usleep(500000);"');
-        $process->start();
-        $this->assertGreaterThan(0, $process->getPid());
-        $process->wait();
-    }
-
-    public function testGetPidIsNullBeforeStart()
-    {
-        $process = $this->getProcess('php -r "sleep(1);"');
-        $this->assertNull($process->getPid());
-    }
-
-    public function testGetPidIsNullAfterRun()
-    {
-        $process = $this->getProcess('php -m');
-        $process->run();
-        $this->assertNull($process->getPid());
-    }
-
-    public function testSignal()
-    {
-        $this->verifyPosixIsEnabled();
-
-        $process = $this->getProcess('exec php -f '.__DIR__.'/SignalListener.php');
-        $process->start();
-        usleep(500000);
-        $process->signal(SIGUSR1);
-
-        while ($process->isRunning() && false === strpos($process->getOutput(), 'Caught SIGUSR1')) {
-            usleep(10000);
-        }
-
-        $this->assertEquals('Caught SIGUSR1', $process->getOutput());
-    }
-
-    public function testExitCodeIsAvailableAfterSignal()
-    {
-        $this->verifyPosixIsEnabled();
-
-        $process = $this->getProcess('sleep 4');
-        $process->start();
-        $process->signal(SIGKILL);
-
-        while ($process->isRunning()) {
-            usleep(10000);
-        }
-
-        $this->assertFalse($process->isRunning());
-        $this->assertTrue($process->hasBeenSignaled());
-        $this->assertFalse($process->isSuccessful());
-        $this->assertEquals(137, $process->getExitCode());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\LogicException
-     */
-    public function testSignalProcessNotRunning()
-    {
-        $this->verifyPosixIsEnabled();
-        $process = $this->getProcess('php -m');
-        $process->signal(SIGHUP);
-    }
-
-    /**
-     * @dataProvider provideMethodsThatNeedARunningProcess
-     */
-    public function testMethodsThatNeedARunningProcess($method)
-    {
-        $process = $this->getProcess('php -m');
-        $this->setExpectedException('Symfony\Component\Process\Exception\LogicException', sprintf('Process must be started before calling %s.', $method));
-        $process->{$method}();
-    }
-
-    public function provideMethodsThatNeedARunningProcess()
-    {
-        return array(
-            array('getOutput'),
-            array('getIncrementalOutput'),
-            array('getErrorOutput'),
-            array('getIncrementalErrorOutput'),
-            array('wait'),
-        );
-    }
-
-    /**
-     * @dataProvider provideMethodsThatNeedATerminatedProcess
-     */
-    public function testMethodsThatNeedATerminatedProcess($method)
-    {
-        $process = $this->getProcess('php -r "sleep(1);"');
-        $process->start();
-        try {
-            $process->{$method}();
-            $process->stop(0);
-            $this->fail('A LogicException must have been thrown');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\Process\Exception\LogicException', $e);
-            $this->assertEquals(sprintf('Process must be terminated before calling %s.', $method), $e->getMessage());
-        }
-        $process->stop(0);
-    }
-
-    public function provideMethodsThatNeedATerminatedProcess()
-    {
-        return array(
-            array('hasBeenSignaled'),
-            array('getTermSignal'),
-            array('hasBeenStopped'),
-            array('getStopSignal'),
-        );
-    }
-
-    private function verifyPosixIsEnabled()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('POSIX signals do not work on Windows');
-        }
-        if (!defined('SIGUSR1')) {
-            $this->markTestSkipped('The pcntl extension is not enabled');
-        }
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     */
-    public function testSignalWithWrongIntSignal()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('POSIX signals do not work on Windows');
-        }
-
-        $process = $this->getProcess('php -r "sleep(3);"');
-        $process->start();
-        $process->signal(-4);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     */
-    public function testSignalWithWrongNonIntSignal()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('POSIX signals do not work on Windows');
-        }
-
-        $process = $this->getProcess('php -r "sleep(3);"');
-        $process->start();
-        $process->signal('Céphalopodes');
-    }
-
-    public function testDisableOutputDisablesTheOutput()
-    {
-        $p = $this->getProcess('php -r "usleep(500000);"');
-        $this->assertFalse($p->isOutputDisabled());
-        $p->disableOutput();
-        $this->assertTrue($p->isOutputDisabled());
-        $p->enableOutput();
-        $this->assertFalse($p->isOutputDisabled());
-    }
-
-    public function testDisableOutputWhileRunningThrowsException()
-    {
-        $p = $this->getProcess('php -r "usleep(500000);"');
-        $p->start();
-        $this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'Disabling output while the process is running is not possible.');
-        $p->disableOutput();
-    }
-
-    public function testEnableOutputWhileRunningThrowsException()
-    {
-        $p = $this->getProcess('php -r "usleep(500000);"');
-        $p->disableOutput();
-        $p->start();
-        $this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'Enabling output while the process is running is not possible.');
-        $p->enableOutput();
-    }
-
-    public function testEnableOrDisableOutputAfterRunDoesNotThrowException()
-    {
-        $p = $this->getProcess('php -r "usleep(500000);"');
-        $p->disableOutput();
-        $p->start();
-        $p->wait();
-        $p->enableOutput();
-        $p->disableOutput();
-    }
-
-    public function testDisableOutputWhileIdleTimeoutIsSet()
-    {
-        $process = $this->getProcess('sleep 3');
-        $process->setIdleTimeout(1);
-        $this->setExpectedException('Symfony\Component\Process\Exception\LogicException', 'Output can not be disabled while an idle timeout is set.');
-        $process->disableOutput();
-    }
-
-    public function testSetIdleTimeoutWhileOutputIsDisabled()
-    {
-        $process = $this->getProcess('sleep 3');
-        $process->disableOutput();
-        $this->setExpectedException('Symfony\Component\Process\Exception\LogicException', 'Idle timeout can not be set while the output is disabled.');
-        $process->setIdleTimeout(1);
-    }
-
-    public function testSetNullIdleTimeoutWhileOutputIsDisabled()
-    {
-        $process = $this->getProcess('sleep 3');
-        $process->disableOutput();
-        $process->setIdleTimeout(null);
-    }
-
-    /**
-     * @dataProvider provideStartMethods
-     */
-    public function testStartWithACallbackAndDisabledOutput($startMethod, $exception, $exceptionMessage)
-    {
-        $p = $this->getProcess('php -r "usleep(500000);"');
-        $p->disableOutput();
-        $this->setExpectedException($exception, $exceptionMessage);
-        $p->{$startMethod}(function () {});
-    }
-
-    public function provideStartMethods()
-    {
-        return array(
-            array('start', 'Symfony\Component\Process\Exception\LogicException', 'Output has been disabled, enable it to allow the use of a callback.'),
-            array('run', 'Symfony\Component\Process\Exception\LogicException', 'Output has been disabled, enable it to allow the use of a callback.'),
-            array('mustRun', 'Symfony\Component\Process\Exception\LogicException', 'Output has been disabled, enable it to allow the use of a callback.'),
-        );
-    }
-
-    /**
-     * @dataProvider provideOutputFetchingMethods
-     */
-    public function testGetOutputWhileDisabled($fetchMethod)
-    {
-        $p = $this->getProcess('php -r "usleep(500000);"');
-        $p->disableOutput();
-        $p->start();
-        $this->setExpectedException('Symfony\Component\Process\Exception\LogicException', 'Output has been disabled.');
-        $p->{$fetchMethod}();
-    }
-
-    public function provideOutputFetchingMethods()
-    {
-        return array(
-            array('getOutput'),
-            array('getIncrementalOutput'),
-            array('getErrorOutput'),
-            array('getIncrementalErrorOutput'),
-        );
-    }
-
-    public function responsesCodeProvider()
-    {
-        return array(
-            //expected output / getter / code to execute
-            //array(1,'getExitCode','exit(1);'),
-            //array(true,'isSuccessful','exit();'),
-            array('output', 'getOutput', 'echo \'output\';'),
-        );
-    }
-
-    public function pipesCodeProvider()
-    {
-        $variations = array(
-            'fwrite(STDOUT, $in = file_get_contents(\'php://stdin\')); fwrite(STDERR, $in);',
-            'include \''.__DIR__.'/PipeStdinInStdoutStdErrStreamSelect.php\';',
-        );
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            // Avoid XL buffers on Windows because of https://bugs.php.net/bug.php?id=65650
-            $sizes = array(1, 2, 4, 8);
-        } else {
-            $sizes = array(1, 16, 64, 1024, 4096);
-        }
-
-        $codes = array();
-        foreach ($sizes as $size) {
-            foreach ($variations as $code) {
-                $codes[] = array($code, $size);
-            }
-        }
-
-        return $codes;
-    }
-
-    /**
-     * provides default method names for simple getter/setter.
-     */
-    public function methodProvider()
-    {
-        $defaults = array(
-            array('CommandLine'),
-            array('Timeout'),
-            array('WorkingDirectory'),
-            array('Env'),
-            array('Stdin'),
-            array('Input'),
-            array('Options'),
-        );
-
-        return $defaults;
-    }
-
-    /**
-     * @param string      $commandline
-     * @param null|string $cwd
-     * @param null|array  $env
-     * @param null|string $input
-     * @param int         $timeout
-     * @param array       $options
-     *
-     * @return Process
-     */
-    abstract protected function getProcess($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60, array $options = array());
-}
-
-class Stringifiable
-{
-    public function __toString()
-    {
-        return 'stringifiable';
-    }
-}
-
-class NonStringifiable
-{
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ExecutableFinderTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/ExecutableFinderTest.php
deleted file mode 100644
index 20b12b1..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ExecutableFinderTest.php
+++ /dev/null
@@ -1,149 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\ExecutableFinder;
-
-/**
- * @author Chris Smith <chris@cs278.org>
- */
-class ExecutableFinderTest extends \PHPUnit_Framework_TestCase
-{
-    private $path;
-
-    protected function tearDown()
-    {
-        if ($this->path) {
-            // Restore path if it was changed.
-            putenv('PATH='.$this->path);
-        }
-    }
-
-    private function setPath($path)
-    {
-        $this->path = getenv('PATH');
-        putenv('PATH='.$path);
-    }
-
-    public function testFind()
-    {
-        if (!defined('PHP_BINARY')) {
-            $this->markTestSkipped('Requires the PHP_BINARY constant');
-        }
-
-        if (ini_get('open_basedir')) {
-            $this->markTestSkipped('Cannot test when open_basedir is set');
-        }
-
-        $this->setPath(dirname(PHP_BINARY));
-
-        $finder = new ExecutableFinder();
-        $result = $finder->find($this->getPhpBinaryName());
-
-        $this->assertSamePath(PHP_BINARY, $result);
-    }
-
-    public function testFindWithDefault()
-    {
-        if (ini_get('open_basedir')) {
-            $this->markTestSkipped('Cannot test when open_basedir is set');
-        }
-
-        $expected = 'defaultValue';
-
-        $this->setPath('');
-
-        $finder = new ExecutableFinder();
-        $result = $finder->find('foo', $expected);
-
-        $this->assertEquals($expected, $result);
-    }
-
-    public function testFindWithExtraDirs()
-    {
-        if (!defined('PHP_BINARY')) {
-            $this->markTestSkipped('Requires the PHP_BINARY constant');
-        }
-
-        if (ini_get('open_basedir')) {
-            $this->markTestSkipped('Cannot test when open_basedir is set');
-        }
-
-        $this->setPath('');
-
-        $extraDirs = array(dirname(PHP_BINARY));
-
-        $finder = new ExecutableFinder();
-        $result = $finder->find($this->getPhpBinaryName(), null, $extraDirs);
-
-        $this->assertSamePath(PHP_BINARY, $result);
-    }
-
-    public function testFindWithOpenBaseDir()
-    {
-        if (!defined('PHP_BINARY')) {
-            $this->markTestSkipped('Requires the PHP_BINARY constant');
-        }
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Cannot run test on windows');
-        }
-
-        if (ini_get('open_basedir')) {
-            $this->markTestSkipped('Cannot test when open_basedir is set');
-        }
-
-        $this->iniSet('open_basedir', dirname(PHP_BINARY).PATH_SEPARATOR.'/');
-
-        $finder = new ExecutableFinder();
-        $result = $finder->find($this->getPhpBinaryName());
-
-        $this->assertSamePath(PHP_BINARY, $result);
-    }
-
-    public function testFindProcessInOpenBasedir()
-    {
-        if (ini_get('open_basedir')) {
-            $this->markTestSkipped('Cannot test when open_basedir is set');
-        }
-
-        if (!defined('PHP_BINARY')) {
-            $this->markTestSkipped('Requires the PHP_BINARY constant');
-        }
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Cannot run test on windows');
-        }
-
-        $this->setPath('');
-        $this->iniSet('open_basedir', PHP_BINARY.PATH_SEPARATOR.'/');
-
-        $finder = new ExecutableFinder();
-        $result = $finder->find($this->getPhpBinaryName(), false);
-
-        $this->assertSamePath(PHP_BINARY, $result);
-    }
-
-    private function assertSamePath($expected, $tested)
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertEquals(strtolower($expected), strtolower($tested));
-        } else {
-            $this->assertEquals($expected, $tested);
-        }
-    }
-
-    private function getPhpBinaryName()
-    {
-        return basename(PHP_BINARY, '\\' === DIRECTORY_SEPARATOR ? '.exe' : '');
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/NonStopableProcess.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/NonStopableProcess.php
deleted file mode 100644
index 692feeb..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/NonStopableProcess.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/**
- * Runs a PHP script that can be stopped only with a SIGKILL (9) signal for 3 seconds.
- *
- * @args duration Run this script with a custom duration
- *
- * @example `php NonStopableProcess.php 42` will run the script for 42 seconds
- */
-function handleSignal($signal)
-{
-    switch ($signal) {
-        case SIGTERM:
-            $name = 'SIGTERM';
-            break;
-        case SIGINT:
-            $name = 'SIGINT';
-            break;
-        default:
-            $name = $signal.' (unknown)';
-            break;
-    }
-
-    echo "received signal $name\n";
-}
-
-declare (ticks = 1);
-pcntl_signal(SIGTERM, 'handleSignal');
-pcntl_signal(SIGINT, 'handleSignal');
-
-$duration = isset($argv[1]) ? (int) $argv[1] : 3;
-$start = microtime(true);
-
-while ($duration > (microtime(true) - $start)) {
-    usleep(1000);
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php
deleted file mode 100644
index 3acccac..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\PhpExecutableFinder;
-
-/**
- * @author Robert Schönthal <seroscho@googlemail.com>
- */
-class PhpExecutableFinderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * tests find() with the env var PHP_PATH.
-     */
-    public function testFindWithPhpPath()
-    {
-        if (defined('PHP_BINARY')) {
-            $this->markTestSkipped('The PHP binary is easily available as of PHP 5.4');
-        }
-
-        $f = new PhpExecutableFinder();
-
-        $current = $f->find();
-
-        //not executable PHP_PATH
-        putenv('PHP_PATH=/not/executable/php');
-        $this->assertFalse($f->find(), '::find() returns false for not executable PHP');
-        $this->assertFalse($f->find(false), '::find() returns false for not executable PHP');
-
-        //executable PHP_PATH
-        putenv('PHP_PATH='.$current);
-        $this->assertEquals($f->find(), $current, '::find() returns the executable PHP');
-        $this->assertEquals($f->find(false), $current, '::find() returns the executable PHP');
-    }
-
-    /**
-     * tests find() with the env var PHP_PATH.
-     */
-    public function testFindWithHHVM()
-    {
-        if (!defined('HHVM_VERSION')) {
-            $this->markTestSkipped('Should be executed in HHVM context.');
-        }
-
-        $f = new PhpExecutableFinder();
-
-        $current = $f->find();
-
-        $this->assertEquals($f->find(), $current.' --php', '::find() returns the executable PHP');
-        $this->assertEquals($f->find(false), $current, '::find() returns the executable PHP');
-    }
-
-    /**
-     * tests find() with the env var PHP_PATH.
-     */
-    public function testFindArguments()
-    {
-        $f = new PhpExecutableFinder();
-
-        if (defined('HHVM_VERSION')) {
-            $this->assertEquals($f->findArguments(), array('--php'), '::findArguments() returns HHVM arguments');
-        } else {
-            $this->assertEquals($f->findArguments(), array(), '::findArguments() returns no arguments');
-        }
-    }
-
-    /**
-     * tests find() with default executable.
-     */
-    public function testFindWithSuffix()
-    {
-        if (defined('PHP_BINARY')) {
-            $this->markTestSkipped('The PHP binary is easily available as of PHP 5.4');
-        }
-
-        putenv('PHP_PATH=');
-        putenv('PHP_PEAR_PHP_BIN=');
-        $f = new PhpExecutableFinder();
-
-        $current = $f->find();
-
-        //TODO maybe php executable is custom or even Windows
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertTrue(is_executable($current));
-            $this->assertTrue((bool) preg_match('/'.addSlashes(DIRECTORY_SEPARATOR).'php\.(exe|bat|cmd|com)$/i', $current), '::find() returns the executable PHP with suffixes');
-        }
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php
deleted file mode 100644
index 5dc546c..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\PhpExecutableFinder;
-use Symfony\Component\Process\PhpProcess;
-
-class PhpProcessTest extends \PHPUnit_Framework_TestCase
-{
-    public function testNonBlockingWorks()
-    {
-        $expected = 'hello world!';
-        $process = new PhpProcess(<<<PHP
-<?php echo '$expected';
-PHP
-        );
-        $process->start();
-        $process->wait();
-        $this->assertEquals($expected, $process->getOutput());
-    }
-
-    public function testCommandLine()
-    {
-        $process = new PhpProcess(<<<PHP
-<?php echo 'foobar';
-PHP
-        );
-
-        $f = new PhpExecutableFinder();
-        $commandLine = $f->find();
-
-        $this->assertSame($commandLine, $process->getCommandLine(), '::getCommandLine() returns the command line of PHP before start');
-
-        $process->start();
-        $this->assertSame($commandLine, $process->getCommandLine(), '::getCommandLine() returns the command line of PHP after start');
-
-        $process->wait();
-        $this->assertSame($commandLine, $process->getCommandLine(), '::getCommandLine() returns the command line of PHP after wait');
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PipeStdinInStdoutStdErrStreamSelect.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/PipeStdinInStdoutStdErrStreamSelect.php
deleted file mode 100644
index 89d1f6a..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PipeStdinInStdoutStdErrStreamSelect.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-define('ERR_SELECT_FAILED', 1);
-define('ERR_TIMEOUT', 2);
-define('ERR_READ_FAILED', 3);
-define('ERR_WRITE_FAILED', 4);
-
-$read = array(STDIN);
-$write = array(STDOUT, STDERR);
-
-stream_set_blocking(STDIN, 0);
-stream_set_blocking(STDOUT, 0);
-stream_set_blocking(STDERR, 0);
-
-$out = $err = '';
-while ($read || $write) {
-    $r = $read;
-    $w = $write;
-    $e = null;
-    $n = stream_select($r, $w, $e, 5);
-
-    if (false === $n) {
-        die(ERR_SELECT_FAILED);
-    } elseif ($n < 1) {
-        die(ERR_TIMEOUT);
-    }
-
-    if (in_array(STDOUT, $w) && strlen($out) > 0) {
-        $written = fwrite(STDOUT, (binary) $out, 32768);
-        if (false === $written) {
-            die(ERR_WRITE_FAILED);
-        }
-        $out = (binary) substr($out, $written);
-    }
-    if (null === $read && strlen($out) < 1) {
-        $write = array_diff($write, array(STDOUT));
-    }
-
-    if (in_array(STDERR, $w) && strlen($err) > 0) {
-        $written = fwrite(STDERR, (binary) $err, 32768);
-        if (false === $written) {
-            die(ERR_WRITE_FAILED);
-        }
-        $err = (binary) substr($err, $written);
-    }
-    if (null === $read && strlen($err) < 1) {
-        $write = array_diff($write, array(STDERR));
-    }
-
-    if ($r) {
-        $str = fread(STDIN, 32768);
-        if (false !== $str) {
-            $out .= $str;
-            $err .= $str;
-        }
-        if (false === $str || feof(STDIN)) {
-            $read = null;
-            if (!feof(STDIN)) {
-                die(ERR_READ_FAILED);
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessBuilderTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessBuilderTest.php
deleted file mode 100644
index 1b5056d..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessBuilderTest.php
+++ /dev/null
@@ -1,225 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\ProcessBuilder;
-
-class ProcessBuilderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testInheritEnvironmentVars()
-    {
-        $_ENV['MY_VAR_1'] = 'foo';
-
-        $proc = ProcessBuilder::create()
-            ->add('foo')
-            ->getProcess();
-
-        unset($_ENV['MY_VAR_1']);
-
-        $env = $proc->getEnv();
-        $this->assertArrayHasKey('MY_VAR_1', $env);
-        $this->assertEquals('foo', $env['MY_VAR_1']);
-    }
-
-    public function testAddEnvironmentVariables()
-    {
-        $pb = new ProcessBuilder();
-        $env = array(
-            'foo' => 'bar',
-            'foo2' => 'bar2',
-        );
-        $proc = $pb
-            ->add('command')
-            ->setEnv('foo', 'bar2')
-            ->addEnvironmentVariables($env)
-            ->inheritEnvironmentVariables(false)
-            ->getProcess()
-        ;
-
-        $this->assertSame($env, $proc->getEnv());
-    }
-
-    public function testProcessShouldInheritAndOverrideEnvironmentVars()
-    {
-        $_ENV['MY_VAR_1'] = 'foo';
-
-        $proc = ProcessBuilder::create()
-            ->setEnv('MY_VAR_1', 'bar')
-            ->add('foo')
-            ->getProcess();
-
-        unset($_ENV['MY_VAR_1']);
-
-        $env = $proc->getEnv();
-        $this->assertArrayHasKey('MY_VAR_1', $env);
-        $this->assertEquals('bar', $env['MY_VAR_1']);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
-     */
-    public function testNegativeTimeoutFromSetter()
-    {
-        $pb = new ProcessBuilder();
-        $pb->setTimeout(-1);
-    }
-
-    public function testNullTimeout()
-    {
-        $pb = new ProcessBuilder();
-        $pb->setTimeout(10);
-        $pb->setTimeout(null);
-
-        $r = new \ReflectionObject($pb);
-        $p = $r->getProperty('timeout');
-        $p->setAccessible(true);
-
-        $this->assertNull($p->getValue($pb));
-    }
-
-    public function testShouldSetArguments()
-    {
-        $pb = new ProcessBuilder(array('initial'));
-        $pb->setArguments(array('second'));
-
-        $proc = $pb->getProcess();
-
-        $this->assertContains('second', $proc->getCommandLine());
-    }
-
-    public function testPrefixIsPrependedToAllGeneratedProcess()
-    {
-        $pb = new ProcessBuilder();
-        $pb->setPrefix('/usr/bin/php');
-
-        $proc = $pb->setArguments(array('-v'))->getProcess();
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertEquals('"/usr/bin/php" "-v"', $proc->getCommandLine());
-        } else {
-            $this->assertEquals("'/usr/bin/php' '-v'", $proc->getCommandLine());
-        }
-
-        $proc = $pb->setArguments(array('-i'))->getProcess();
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertEquals('"/usr/bin/php" "-i"', $proc->getCommandLine());
-        } else {
-            $this->assertEquals("'/usr/bin/php' '-i'", $proc->getCommandLine());
-        }
-    }
-
-    public function testArrayPrefixesArePrependedToAllGeneratedProcess()
-    {
-        $pb = new ProcessBuilder();
-        $pb->setPrefix(array('/usr/bin/php', 'composer.phar'));
-
-        $proc = $pb->setArguments(array('-v'))->getProcess();
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertEquals('"/usr/bin/php" "composer.phar" "-v"', $proc->getCommandLine());
-        } else {
-            $this->assertEquals("'/usr/bin/php' 'composer.phar' '-v'", $proc->getCommandLine());
-        }
-
-        $proc = $pb->setArguments(array('-i'))->getProcess();
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertEquals('"/usr/bin/php" "composer.phar" "-i"', $proc->getCommandLine());
-        } else {
-            $this->assertEquals("'/usr/bin/php' 'composer.phar' '-i'", $proc->getCommandLine());
-        }
-    }
-
-    public function testShouldEscapeArguments()
-    {
-        $pb = new ProcessBuilder(array('%path%', 'foo " bar', '%baz%baz'));
-        $proc = $pb->getProcess();
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertSame('^%"path"^% "foo \\" bar" "%baz%baz"', $proc->getCommandLine());
-        } else {
-            $this->assertSame("'%path%' 'foo \" bar' '%baz%baz'", $proc->getCommandLine());
-        }
-    }
-
-    public function testShouldEscapeArgumentsAndPrefix()
-    {
-        $pb = new ProcessBuilder(array('arg'));
-        $pb->setPrefix('%prefix%');
-        $proc = $pb->getProcess();
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertSame('^%"prefix"^% "arg"', $proc->getCommandLine());
-        } else {
-            $this->assertSame("'%prefix%' 'arg'", $proc->getCommandLine());
-        }
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\LogicException
-     */
-    public function testShouldThrowALogicExceptionIfNoPrefixAndNoArgument()
-    {
-        ProcessBuilder::create()->getProcess();
-    }
-
-    public function testShouldNotThrowALogicExceptionIfNoArgument()
-    {
-        $process = ProcessBuilder::create()
-            ->setPrefix('/usr/bin/php')
-            ->getProcess();
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertEquals('"/usr/bin/php"', $process->getCommandLine());
-        } else {
-            $this->assertEquals("'/usr/bin/php'", $process->getCommandLine());
-        }
-    }
-
-    public function testShouldNotThrowALogicExceptionIfNoPrefix()
-    {
-        $process = ProcessBuilder::create(array('/usr/bin/php'))
-            ->getProcess();
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->assertEquals('"/usr/bin/php"', $process->getCommandLine());
-        } else {
-            $this->assertEquals("'/usr/bin/php'", $process->getCommandLine());
-        }
-    }
-
-    public function testShouldReturnProcessWithDisabledOutput()
-    {
-        $process = ProcessBuilder::create(array('/usr/bin/php'))
-            ->disableOutput()
-            ->getProcess();
-
-        $this->assertTrue($process->isOutputDisabled());
-    }
-
-    public function testShouldReturnProcessWithEnabledOutput()
-    {
-        $process = ProcessBuilder::create(array('/usr/bin/php'))
-            ->disableOutput()
-            ->enableOutput()
-            ->getProcess();
-
-        $this->assertFalse($process->isOutputDisabled());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
-     * @expectedExceptionMessage Symfony\Component\Process\ProcessBuilder::setInput only accepts strings or stream resources.
-     */
-    public function testInvalidInput()
-    {
-        $builder = ProcessBuilder::create();
-        $builder->setInput(array());
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessFailedExceptionTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessFailedExceptionTest.php
deleted file mode 100644
index b028395..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessFailedExceptionTest.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\Exception\ProcessFailedException;
-
-/**
- * @author Sebastian Marek <proofek@gmail.com>
- */
-class ProcessFailedExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * tests ProcessFailedException throws exception if the process was successful.
-     */
-    public function testProcessFailedExceptionThrowsException()
-    {
-        $process = $this->getMock(
-            'Symfony\Component\Process\Process',
-            array('isSuccessful'),
-            array('php')
-        );
-        $process->expects($this->once())
-            ->method('isSuccessful')
-            ->will($this->returnValue(true));
-
-        $this->setExpectedException(
-            '\InvalidArgumentException',
-            'Expected a failed process, but the given process was successful.'
-        );
-
-        new ProcessFailedException($process);
-    }
-
-    /**
-     * tests ProcessFailedException uses information from process output
-     * to generate exception message.
-     */
-    public function testProcessFailedExceptionPopulatesInformationFromProcessOutput()
-    {
-        $cmd = 'php';
-        $exitCode = 1;
-        $exitText = 'General error';
-        $output = 'Command output';
-        $errorOutput = 'FATAL: Unexpected error';
-
-        $process = $this->getMock(
-            'Symfony\Component\Process\Process',
-            array('isSuccessful', 'getOutput', 'getErrorOutput', 'getExitCode', 'getExitCodeText', 'isOutputDisabled'),
-            array($cmd)
-        );
-        $process->expects($this->once())
-            ->method('isSuccessful')
-            ->will($this->returnValue(false));
-
-        $process->expects($this->once())
-            ->method('getOutput')
-            ->will($this->returnValue($output));
-
-        $process->expects($this->once())
-            ->method('getErrorOutput')
-            ->will($this->returnValue($errorOutput));
-
-        $process->expects($this->once())
-            ->method('getExitCode')
-            ->will($this->returnValue($exitCode));
-
-        $process->expects($this->once())
-            ->method('getExitCodeText')
-            ->will($this->returnValue($exitText));
-
-        $process->expects($this->once())
-            ->method('isOutputDisabled')
-            ->will($this->returnValue(false));
-
-        $exception = new ProcessFailedException($process);
-
-        $this->assertEquals(
-            "The command \"$cmd\" failed.\nExit Code: $exitCode($exitText)\n\nOutput:\n================\n{$output}\n\nError Output:\n================\n{$errorOutput}",
-            $exception->getMessage()
-        );
-    }
-
-    /**
-     * Tests that ProcessFailedException does not extract information from
-     * process output if it was previously disabled
-     */
-    public function testDisabledOutputInFailedExceptionDoesNotPopulateOutput()
-    {
-        $cmd = 'php';
-        $exitCode = 1;
-        $exitText = 'General error';
-
-        $process = $this->getMock(
-            'Symfony\Component\Process\Process',
-            array('isSuccessful', 'isOutputDisabled', 'getExitCode', 'getExitCodeText', 'getOutput', 'getErrorOutput'),
-            array($cmd)
-        );
-        $process->expects($this->once())
-            ->method('isSuccessful')
-            ->will($this->returnValue(false));
-
-        $process->expects($this->never())
-            ->method('getOutput');
-
-        $process->expects($this->never())
-            ->method('getErrorOutput');
-
-        $process->expects($this->once())
-            ->method('getExitCode')
-            ->will($this->returnValue($exitCode));
-
-        $process->expects($this->once())
-            ->method('getExitCodeText')
-            ->will($this->returnValue($exitText));
-
-        $process->expects($this->once())
-            ->method('isOutputDisabled')
-            ->will($this->returnValue(true));
-
-        $exception = new ProcessFailedException($process);
-
-        $this->assertEquals(
-            "The command \"$cmd\" failed.\nExit Code: $exitCode($exitText)",
-            $exception->getMessage()
-        );
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessInSigchildEnvironment.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessInSigchildEnvironment.php
deleted file mode 100644
index 3977bcd..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessInSigchildEnvironment.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\Process;
-
-class ProcessInSigchildEnvironment extends Process
-{
-    protected function isSigchildEnabled()
-    {
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessUtilsTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessUtilsTest.php
deleted file mode 100644
index e6564cd..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessUtilsTest.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\ProcessUtils;
-
-class ProcessUtilsTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider dataArguments
-     */
-    public function testEscapeArgument($result, $argument)
-    {
-        $this->assertSame($result, ProcessUtils::escapeArgument($argument));
-    }
-
-    public function dataArguments()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            return array(
-                array('"\"php\" \"-v\""', '"php" "-v"'),
-                array('"foo bar"', 'foo bar'),
-                array('^%"path"^%', '%path%'),
-                array('"<|>\\" \\"\'f"', '<|>" "\'f'),
-                array('""', ''),
-                array('"with\trailingbs\\\\"', 'with\trailingbs\\'),
-            );
-        }
-
-        return array(
-            array("'\"php\" \"-v\"'", '"php" "-v"'),
-            array("'foo bar'", 'foo bar'),
-            array("'%path%'", '%path%'),
-            array("'<|>\" \"'\\''f'", '<|>" "\'f'),
-            array("''", ''),
-            array("'with\\trailingbs\\'", 'with\trailingbs\\'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
deleted file mode 100644
index fdae5ec..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
+++ /dev/null
@@ -1,263 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-class SigchildDisabledProcessTest extends AbstractProcessTest
-{
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testGetExitCode()
-    {
-        parent::testGetExitCode();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testGetExitCodeIsNullOnStart()
-    {
-        parent::testGetExitCodeIsNullOnStart();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testGetExitCodeIsNullOnWhenStartingAgain()
-    {
-        parent::testGetExitCodeIsNullOnWhenStartingAgain();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testExitCodeCommandFailed()
-    {
-        parent::testExitCodeCommandFailed();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testMustRun()
-    {
-        parent::testMustRun();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testSuccessfulMustRunHasCorrectExitCode()
-    {
-        parent::testSuccessfulMustRunHasCorrectExitCode();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     */
-    public function testMustRunThrowsException()
-    {
-        parent::testMustRunThrowsException();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     */
-    public function testProcessIsSignaledIfStopped()
-    {
-        parent::testProcessIsSignaledIfStopped();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessWithTermSignal()
-    {
-        parent::testProcessWithTermSignal();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessIsNotSignaled()
-    {
-        parent::testProcessIsNotSignaled();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessWithoutTermSignal()
-    {
-        parent::testProcessWithoutTermSignal();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testCheckTimeoutOnStartedProcess()
-    {
-        parent::testCheckTimeoutOnStartedProcess();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process identifier can not be retrieved.
-     */
-    public function testGetPid()
-    {
-        parent::testGetPid();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process identifier can not be retrieved.
-     */
-    public function testGetPidIsNullBeforeStart()
-    {
-        parent::testGetPidIsNullBeforeStart();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process identifier can not be retrieved.
-     */
-    public function testGetPidIsNullAfterRun()
-    {
-        parent::testGetPidIsNullAfterRun();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testExitCodeText()
-    {
-        $process = $this->getProcess('qdfsmfkqsdfmqmsd');
-        $process->run();
-
-        $process->getExitCodeText();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testExitCodeTextIsNullWhenExitCodeIsNull()
-    {
-        parent::testExitCodeTextIsNullWhenExitCodeIsNull();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testIsSuccessful()
-    {
-        parent::testIsSuccessful();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testIsSuccessfulOnlyAfterTerminated()
-    {
-        parent::testIsSuccessfulOnlyAfterTerminated();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testIsNotSuccessful()
-    {
-        parent::testIsNotSuccessful();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.
-     */
-    public function testTTYCommandExitCode()
-    {
-        parent::testTTYCommandExitCode();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process can not be signaled.
-     */
-    public function testSignal()
-    {
-        parent::testSignal();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessWithoutTermSignalIsNotSignaled()
-    {
-        parent::testProcessWithoutTermSignalIsNotSignaled();
-    }
-
-    public function testStopWithTimeoutIsActuallyWorking()
-    {
-        $this->markTestSkipped('Stopping with signal is not supported in sigchild environment');
-    }
-
-    public function testProcessThrowsExceptionWhenExternallySignaled()
-    {
-        $this->markTestSkipped('Retrieving Pid is not supported in sigchild environment');
-    }
-
-    public function testExitCodeIsAvailableAfterSignal()
-    {
-        $this->markTestSkipped('Signal is not supported in sigchild environment');
-    }
-
-    public function testRunProcessWithTimeout()
-    {
-        $this->markTestSkipped('Signal (required for timeout) is not supported in sigchild environment');
-    }
-
-    public function provideStartMethods()
-    {
-        return array(
-            array('start', 'Symfony\Component\Process\Exception\LogicException', 'Output has been disabled, enable it to allow the use of a callback.'),
-            array('run', 'Symfony\Component\Process\Exception\LogicException', 'Output has been disabled, enable it to allow the use of a callback.'),
-            array('mustRun', 'Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.'),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function getProcess($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60, array $options = array())
-    {
-        $process = new ProcessInSigchildEnvironment($commandline, $cwd, $env, $input, $timeout, $options);
-        $process->setEnhanceSigchildCompatibility(false);
-
-        return $process;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php
deleted file mode 100644
index 2668a9b..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-class SigchildEnabledProcessTest extends AbstractProcessTest
-{
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessIsSignaledIfStopped()
-    {
-        parent::testProcessIsSignaledIfStopped();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessWithTermSignal()
-    {
-        parent::testProcessWithTermSignal();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessIsNotSignaled()
-    {
-        parent::testProcessIsNotSignaled();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessWithoutTermSignal()
-    {
-        parent::testProcessWithoutTermSignal();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process identifier can not be retrieved.
-     */
-    public function testGetPid()
-    {
-        parent::testGetPid();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process identifier can not be retrieved.
-     */
-    public function testGetPidIsNullBeforeStart()
-    {
-        parent::testGetPidIsNullBeforeStart();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process identifier can not be retrieved.
-     */
-    public function testGetPidIsNullAfterRun()
-    {
-        parent::testGetPidIsNullAfterRun();
-    }
-
-    public function testExitCodeText()
-    {
-        $process = $this->getProcess('qdfsmfkqsdfmqmsd');
-        $process->run();
-
-        $this->assertInternalType('string', $process->getExitCodeText());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. The process can not be signaled.
-     */
-    public function testSignal()
-    {
-        parent::testSignal();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Process\Exception\RuntimeException
-     * @expectedExceptionMessage This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.
-     */
-    public function testProcessWithoutTermSignalIsNotSignaled()
-    {
-        parent::testProcessWithoutTermSignalIsNotSignaled();
-    }
-
-    public function testProcessThrowsExceptionWhenExternallySignaled()
-    {
-        $this->markTestSkipped('Retrieving Pid is not supported in sigchild environment');
-    }
-
-    public function testExitCodeIsAvailableAfterSignal()
-    {
-        $this->markTestSkipped('Signal is not supported in sigchild environment');
-    }
-
-    public function testStartAfterATimeout()
-    {
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $this->markTestSkipped('Restarting a timed-out process on Windows is not supported in sigchild environment');
-        }
-        parent::testStartAfterATimeout();
-    }
-
-    public function testStopWithTimeoutIsActuallyWorking()
-    {
-        $this->markTestSkipped('Stopping with signal is not supported in sigchild environment');
-    }
-
-    public function testRunProcessWithTimeout()
-    {
-        $this->markTestSkipped('Signal (required for timeout) is not supported in sigchild environment');
-    }
-
-    public function testCheckTimeoutOnStartedProcess()
-    {
-        $this->markTestSkipped('Signal (required for timeout) is not supported in sigchild environment');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function getProcess($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60, array $options = array())
-    {
-        $process = new ProcessInSigchildEnvironment($commandline, $cwd, $env, $input, $timeout, $options);
-        $process->setEnhanceSigchildCompatibility(true);
-
-        return $process;
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SignalListener.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SignalListener.php
deleted file mode 100644
index 335ac60..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SignalListener.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-// required for signal handling
-declare (ticks = 1);
-
-pcntl_signal(SIGUSR1, function () {echo 'Caught SIGUSR1'; exit;});
-
-$n = 0;
-
-// ticks require activity to work - sleep(4); does not work
-while ($n < 400) {
-    usleep(10000);
-    $n++;
-}
-
-return;
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php
deleted file mode 100644
index 4bf9ad8..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php
+++ /dev/null
@@ -1,222 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Process\Tests;
-
-use Symfony\Component\Process\Process;
-
-class SimpleProcessTest extends AbstractProcessTest
-{
-    private $enabledSigchild = false;
-
-    protected function setUp()
-    {
-        ob_start();
-        phpinfo(INFO_GENERAL);
-
-        $this->enabledSigchild = false !== strpos(ob_get_clean(), '--enable-sigchild');
-    }
-
-    public function testGetExitCode()
-    {
-        $this->skipIfPHPSigchild(); // This test use exitcode that is not available in this case
-        parent::testGetExitCode();
-    }
-
-    public function testExitCodeCommandFailed()
-    {
-        $this->skipIfPHPSigchild(); // This test use exitcode that is not available in this case
-        parent::testExitCodeCommandFailed();
-    }
-
-    public function testProcessIsSignaledIfStopped()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved');
-        parent::testProcessIsSignaledIfStopped();
-    }
-
-    public function testProcessWithTermSignal()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved');
-        parent::testProcessWithTermSignal();
-    }
-
-    public function testProcessIsNotSignaled()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved');
-        parent::testProcessIsNotSignaled();
-    }
-
-    public function testProcessWithoutTermSignal()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved');
-        parent::testProcessWithoutTermSignal();
-    }
-
-    public function testExitCodeText()
-    {
-        $this->skipIfPHPSigchild(); // This test use exitcode that is not available in this case
-        parent::testExitCodeText();
-    }
-
-    public function testIsSuccessful()
-    {
-        $this->skipIfPHPSigchild(); // This test use PID that is not available in this case
-        parent::testIsSuccessful();
-    }
-
-    public function testIsNotSuccessful()
-    {
-        $this->skipIfPHPSigchild(); // This test use PID that is not available in this case
-        parent::testIsNotSuccessful();
-    }
-
-    public function testGetPid()
-    {
-        $this->skipIfPHPSigchild(); // This test use PID that is not available in this case
-        parent::testGetPid();
-    }
-
-    public function testGetPidIsNullBeforeStart()
-    {
-        $this->skipIfPHPSigchild(); // This test use PID that is not available in this case
-        parent::testGetPidIsNullBeforeStart();
-    }
-
-    public function testGetPidIsNullAfterRun()
-    {
-        $this->skipIfPHPSigchild(); // This test use PID that is not available in this case
-        parent::testGetPidIsNullAfterRun();
-    }
-
-    public function testSignal()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. The process can not be signaled.');
-        parent::testSignal();
-    }
-
-    public function testProcessWithoutTermSignalIsNotSignaled()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved');
-        parent::testProcessWithoutTermSignalIsNotSignaled();
-    }
-
-    public function testProcessThrowsExceptionWhenExternallySignaled()
-    {
-        $this->skipIfPHPSigchild(); // This test use PID that is not available in this case
-        parent::testProcessThrowsExceptionWhenExternallySignaled();
-    }
-
-    public function testExitCodeIsAvailableAfterSignal()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. The process can not be signaled.');
-        parent::testExitCodeIsAvailableAfterSignal();
-    }
-
-    public function testSignalProcessNotRunning()
-    {
-        $this->setExpectedException('Symfony\Component\Process\Exception\LogicException', 'Can not send signal on a non running process.');
-        parent::testSignalProcessNotRunning();
-    }
-
-    public function testSignalWithWrongIntSignal()
-    {
-        if ($this->enabledSigchild) {
-            $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. The process can not be signaled.');
-        } else {
-            $this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'Error while sending signal `-4`.');
-        }
-        parent::testSignalWithWrongIntSignal();
-    }
-
-    public function testSignalWithWrongNonIntSignal()
-    {
-        if ($this->enabledSigchild) {
-            $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. The process can not be signaled.');
-        } else {
-            $this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'Error while sending signal `Céphalopodes`.');
-        }
-        parent::testSignalWithWrongNonIntSignal();
-    }
-
-    public function testStopTerminatesProcessCleanly()
-    {
-        try {
-            $process = $this->getProcess('php -r "echo \'foo\'; sleep(1); echo \'bar\';"');
-            $process->run(function () use ($process) {
-                $process->stop();
-            });
-        } catch (\RuntimeException $e) {
-            $this->fail('A call to stop() is not expected to cause wait() to throw a RuntimeException');
-        }
-    }
-
-    public function testKillSignalTerminatesProcessCleanly()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. The process can not be signaled.');
-
-        try {
-            $process = $this->getProcess('php -r "echo \'foo\'; sleep(1); echo \'bar\';"');
-            $process->run(function () use ($process) {
-                if ($process->isRunning()) {
-                    $process->signal(defined('SIGKILL') ? SIGKILL : 9);
-                }
-            });
-        } catch (\RuntimeException $e) {
-            $this->fail('A call to signal() is not expected to cause wait() to throw a RuntimeException');
-        }
-    }
-
-    public function testTermSignalTerminatesProcessCleanly()
-    {
-        $this->expectExceptionIfPHPSigchild('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild. The process can not be signaled.');
-
-        try {
-            $process = $this->getProcess('php -r "echo \'foo\'; sleep(1); echo \'bar\';"');
-            $process->run(function () use ($process) {
-                if ($process->isRunning()) {
-                    $process->signal(defined('SIGTERM') ? SIGTERM : 15);
-                }
-            });
-        } catch (\RuntimeException $e) {
-            $this->fail('A call to signal() is not expected to cause wait() to throw a RuntimeException');
-        }
-    }
-
-    public function testStopWithTimeoutIsActuallyWorking()
-    {
-        $this->skipIfPHPSigchild();
-
-        parent::testStopWithTimeoutIsActuallyWorking();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function getProcess($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60, array $options = array())
-    {
-        return new Process($commandline, $cwd, $env, $input, $timeout, $options);
-    }
-
-    private function skipIfPHPSigchild()
-    {
-        if ($this->enabledSigchild) {
-            $this->markTestSkipped('Your PHP has been compiled with --enable-sigchild, this test can not be executed');
-        }
-    }
-
-    private function expectExceptionIfPHPSigchild($classname, $message)
-    {
-        if ($this->enabledSigchild) {
-            $this->setExpectedException($classname, $message);
-        }
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/composer.json b/core/vendor/symfony/process/Symfony/Component/Process/composer.json
deleted file mode 100644
index 0c05fc7..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/composer.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-    "name": "symfony/process",
-    "type": "library",
-    "description": "Symfony Process Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\Process\\": "" }
-    },
-    "target-dir": "Symfony/Component/Process",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/phpunit.xml.dist b/core/vendor/symfony/process/Symfony/Component/Process/phpunit.xml.dist
deleted file mode 100644
index 07b617b..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/phpunit.xml.dist
+++ /dev/null
@@ -1,26 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony Process Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/.gitignore b/core/vendor/symfony/routing/Symfony/Component/Routing/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Annotation/Route.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Annotation/Route.php
deleted file mode 100644
index 90521c0..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Annotation/Route.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Annotation;
-
-/**
- * Annotation class for @Route().
- *
- * @Annotation
- * @Target({"CLASS", "METHOD"})
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Route
-{
-    private $path;
-    private $name;
-    private $requirements = array();
-    private $options = array();
-    private $defaults = array();
-    private $host;
-    private $methods = array();
-    private $schemes = array();
-    private $condition;
-
-    /**
-     * Constructor.
-     *
-     * @param array $data An array of key/value parameters.
-     *
-     * @throws \BadMethodCallException
-     */
-    public function __construct(array $data)
-    {
-        if (isset($data['value'])) {
-            $data['path'] = $data['value'];
-            unset($data['value']);
-        }
-
-        foreach ($data as $key => $value) {
-            $method = 'set'.str_replace('_', '', $key);
-            if (!method_exists($this, $method)) {
-                throw new \BadMethodCallException(sprintf("Unknown property '%s' on annotation '%s'.", $key, get_class($this)));
-            }
-            $this->$method($value);
-        }
-    }
-
-    /**
-     * @deprecated Deprecated in 2.2, to be removed in 3.0. Use setPath instead.
-     */
-    public function setPattern($pattern)
-    {
-        $this->path = $pattern;
-    }
-
-    /**
-     * @deprecated Deprecated in 2.2, to be removed in 3.0. Use getPath instead.
-     */
-    public function getPattern()
-    {
-        return $this->path;
-    }
-
-    public function setPath($path)
-    {
-        $this->path = $path;
-    }
-
-    public function getPath()
-    {
-        return $this->path;
-    }
-
-    public function setHost($pattern)
-    {
-        $this->host = $pattern;
-    }
-
-    public function getHost()
-    {
-        return $this->host;
-    }
-
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function setRequirements($requirements)
-    {
-        $this->requirements = $requirements;
-    }
-
-    public function getRequirements()
-    {
-        return $this->requirements;
-    }
-
-    public function setOptions($options)
-    {
-        $this->options = $options;
-    }
-
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    public function setDefaults($defaults)
-    {
-        $this->defaults = $defaults;
-    }
-
-    public function getDefaults()
-    {
-        return $this->defaults;
-    }
-
-    public function setSchemes($schemes)
-    {
-        $this->schemes = is_array($schemes) ? $schemes : array($schemes);
-    }
-
-    public function getSchemes()
-    {
-        return $this->schemes;
-    }
-
-    public function setMethods($methods)
-    {
-        $this->methods = is_array($methods) ? $methods : array($methods);
-    }
-
-    public function getMethods()
-    {
-        return $this->methods;
-    }
-
-    public function setCondition($condition)
-    {
-        $this->condition = $condition;
-    }
-
-    public function getCondition()
-    {
-        return $this->condition;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md b/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md
deleted file mode 100644
index b5fd9db..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md
+++ /dev/null
@@ -1,177 +0,0 @@
-CHANGELOG
-=========
-
-2.5.0
------
-
- * [DEPRECATION] The `ApacheMatcherDumper` and `ApacheUrlMatcher` were deprecated and
-   will be removed in Symfony 3.0, since the performance gains were minimal and
-   it's hard to replicate the behaviour of PHP implementation.
-
-2.3.0
------
-
- * added RequestContext::getQueryString()
-
-2.2.0
------
-
- * [DEPRECATION] Several route settings have been renamed (the old ones will be removed in 3.0):
-
-    * The `pattern` setting for a route has been deprecated in favor of `path`
-    * The `_scheme` and `_method` requirements have been moved to the `schemes` and `methods` settings
-
-   Before:
-
-   ```yaml
-   article_edit:
-       pattern: /article/{id}
-       requirements: { '_method': 'POST|PUT', '_scheme': 'https', 'id': '\d+' }
-   ```
-
-   ```xml
-   <route id="article_edit" pattern="/article/{id}">
-       <requirement key="_method">POST|PUT</requirement>
-       <requirement key="_scheme">https</requirement>
-       <requirement key="id">\d+</requirement>
-   </route>
-   ```
-
-   ```php
-   $route = new Route();
-   $route->setPattern('/article/{id}');
-   $route->setRequirement('_method', 'POST|PUT');
-   $route->setRequirement('_scheme', 'https');
-   ```
-
-   After:
-
-   ```yaml
-   article_edit:
-       path: /article/{id}
-       methods: [POST, PUT]
-       schemes: https
-       requirements: { 'id': '\d+' }
-   ```
-
-   ```xml
-   <route id="article_edit" pattern="/article/{id}" methods="POST PUT" schemes="https">
-       <requirement key="id">\d+</requirement>
-   </route>
-   ```
-
-   ```php
-   $route = new Route();
-   $route->setPath('/article/{id}');
-   $route->setMethods(array('POST', 'PUT'));
-   $route->setSchemes('https');
-   ```
-
- * [BC BREAK] RouteCollection does not behave like a tree structure anymore but as
-   a flat array of Routes. So when using PHP to build the RouteCollection, you must
-   make sure to add routes to the sub-collection before adding it to the parent
-   collection (this is not relevant when using YAML or XML for Route definitions).
-
-   Before:
-
-   ```php
-   $rootCollection = new RouteCollection();
-   $subCollection = new RouteCollection();
-   $rootCollection->addCollection($subCollection);
-   $subCollection->add('foo', new Route('/foo'));
-   ```
-
-   After:
-
-   ```php
-   $rootCollection = new RouteCollection();
-   $subCollection = new RouteCollection();
-   $subCollection->add('foo', new Route('/foo'));
-   $rootCollection->addCollection($subCollection);
-   ```
-
-   Also one must call `addCollection` from the bottom to the top hierarchy.
-   So the correct sequence is the following (and not the reverse):
-
-   ```php
-   $childCollection->addCollection($grandchildCollection);
-   $rootCollection->addCollection($childCollection);
-   ```
-
- * [DEPRECATION] The methods `RouteCollection::getParent()` and `RouteCollection::getRoot()`
-   have been deprecated and will be removed in Symfony 2.3.
- * [BC BREAK] Misusing the `RouteCollection::addPrefix` method to add defaults, requirements
-   or options without adding a prefix is not supported anymore. So if you called `addPrefix`
-   with an empty prefix or `/` only (both have no relevance), like
-   `addPrefix('', $defaultsArray, $requirementsArray, $optionsArray)`
-   you need to use the new dedicated methods `addDefaults($defaultsArray)`,
-   `addRequirements($requirementsArray)` or `addOptions($optionsArray)` instead.
- * [DEPRECATION] The `$options` parameter to `RouteCollection::addPrefix()` has been deprecated
-   because adding options has nothing to do with adding a path prefix. If you want to add options
-   to all child routes of a RouteCollection, you can use `addOptions()`.
- * [DEPRECATION] The method `RouteCollection::getPrefix()` has been deprecated
-   because it suggested that all routes in the collection would have this prefix, which is
-   not necessarily true. On top of that, since there is no tree structure anymore, this method
-   is also useless. Don't worry about performance, prefix optimization for matching is still done
-   in the dumper, which was also improved in 2.2.0 to find even more grouping possibilities.
- * [DEPRECATION] `RouteCollection::addCollection(RouteCollection $collection)` should now only be
-   used with a single parameter. The other params `$prefix`, `$default`, `$requirements` and `$options`
-   will still work, but have been deprecated. The `addPrefix` method should be used for this
-   use-case instead.
-   Before: `$parentCollection->addCollection($collection, '/prefix', array(...), array(...))`
-   After:
-   ```php
-   $collection->addPrefix('/prefix', array(...), array(...));
-   $parentCollection->addCollection($collection);
-   ```
- * added support for the method default argument values when defining a @Route
- * Adjacent placeholders without separator work now, e.g. `/{x}{y}{z}.{_format}`.
- * Characters that function as separator between placeholders are now whitelisted
-   to fix routes with normal text around a variable, e.g. `/prefix{var}suffix`.
- * [BC BREAK] The default requirement of a variable has been changed slightly.
-   Previously it disallowed the previous and the next char around a variable. Now
-   it disallows the slash (`/`) and the next char. Using the previous char added
-   no value and was problematic because the route `/index.{_format}` would be
-   matched by `/index.ht/ml`.
- * The default requirement now uses possessive quantifiers when possible which
-   improves matching performance by up to 20% because it prevents backtracking
-   when it's not needed.
- * The ConfigurableRequirementsInterface can now also be used to disable the requirements
-   check on URL generation completely by calling `setStrictRequirements(null)`. It
-   improves performance in production environment as you should know that params always
-   pass the requirements (otherwise it would break your link anyway).
- * There is no restriction on the route name anymore. So non-alphanumeric characters
-   are now also allowed.
- * [BC BREAK] `RouteCompilerInterface::compile(Route $route)` was made static
-   (only relevant if you implemented your own RouteCompiler).
- * Added possibility to generate relative paths and network paths in the UrlGenerator, e.g.
-   "../parent-file" and "//example.com/dir/file". The third parameter in
-   `UrlGeneratorInterface::generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH)`
-   now accepts more values and you should use the constants defined in `UrlGeneratorInterface` for
-   claritiy. The old method calls with a Boolean parameter will continue to work because they
-   equal the signature using the constants.
-
-2.1.0
------
-
- * added RequestMatcherInterface
- * added RequestContext::fromRequest()
- * the UrlMatcher does not throw a \LogicException anymore when the required
-   scheme is not the current one
- * added TraceableUrlMatcher
- * added the possibility to define options, default values and requirements
-   for placeholders in prefix, including imported routes
- * added RouterInterface::getRouteCollection
- * [BC BREAK] the UrlMatcher urldecodes the route parameters only once, they
-   were decoded twice before. Note that the `urldecode()` calls have been
-   changed for a single `rawurldecode()` in order to support `+` for input
-   paths.
- * added RouteCollection::getRoot method to retrieve the root of a
-   RouteCollection tree
- * [BC BREAK] made RouteCollection::setParent private which could not have
-   been used anyway without creating inconsistencies
- * [BC BREAK] RouteCollection::remove also removes a route from parent
-   collections (not only from its children)
- * added ConfigurableRequirementsInterface that allows to disable exceptions
-   (and generate empty URLs instead) when generating a route with an invalid
-   parameter value
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php b/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php
deleted file mode 100644
index 3eca9ec..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-/**
- * CompiledRoutes are returned by the RouteCompiler class.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class CompiledRoute implements \Serializable
-{
-    private $variables;
-    private $tokens;
-    private $staticPrefix;
-    private $regex;
-    private $pathVariables;
-    private $hostVariables;
-    private $hostRegex;
-    private $hostTokens;
-
-    /**
-     * Constructor.
-     *
-     * @param string      $staticPrefix  The static prefix of the compiled route
-     * @param string      $regex         The regular expression to use to match this route
-     * @param array       $tokens        An array of tokens to use to generate URL for this route
-     * @param array       $pathVariables An array of path variables
-     * @param string|null $hostRegex     Host regex
-     * @param array       $hostTokens    Host tokens
-     * @param array       $hostVariables An array of host variables
-     * @param array       $variables     An array of variables (variables defined in the path and in the host patterns)
-     */
-    public function __construct($staticPrefix, $regex, array $tokens, array $pathVariables, $hostRegex = null, array $hostTokens = array(), array $hostVariables = array(), array $variables = array())
-    {
-        $this->staticPrefix = (string) $staticPrefix;
-        $this->regex = $regex;
-        $this->tokens = $tokens;
-        $this->pathVariables = $pathVariables;
-        $this->hostRegex = $hostRegex;
-        $this->hostTokens = $hostTokens;
-        $this->hostVariables = $hostVariables;
-        $this->variables = $variables;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function serialize()
-    {
-        return serialize(array(
-            'vars' => $this->variables,
-            'path_prefix' => $this->staticPrefix,
-            'path_regex' => $this->regex,
-            'path_tokens' => $this->tokens,
-            'path_vars' => $this->pathVariables,
-            'host_regex' => $this->hostRegex,
-            'host_tokens' => $this->hostTokens,
-            'host_vars' => $this->hostVariables,
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function unserialize($serialized)
-    {
-        $data = unserialize($serialized);
-        $this->variables = $data['vars'];
-        $this->staticPrefix = $data['path_prefix'];
-        $this->regex = $data['path_regex'];
-        $this->tokens = $data['path_tokens'];
-        $this->pathVariables = $data['path_vars'];
-        $this->hostRegex = $data['host_regex'];
-        $this->hostTokens = $data['host_tokens'];
-        $this->hostVariables = $data['host_vars'];
-    }
-
-    /**
-     * Returns the static prefix.
-     *
-     * @return string The static prefix
-     */
-    public function getStaticPrefix()
-    {
-        return $this->staticPrefix;
-    }
-
-    /**
-     * Returns the regex.
-     *
-     * @return string The regex
-     */
-    public function getRegex()
-    {
-        return $this->regex;
-    }
-
-    /**
-     * Returns the host regex.
-     *
-     * @return string|null The host regex or null
-     */
-    public function getHostRegex()
-    {
-        return $this->hostRegex;
-    }
-
-    /**
-     * Returns the tokens.
-     *
-     * @return array The tokens
-     */
-    public function getTokens()
-    {
-        return $this->tokens;
-    }
-
-    /**
-     * Returns the host tokens.
-     *
-     * @return array The tokens
-     */
-    public function getHostTokens()
-    {
-        return $this->hostTokens;
-    }
-
-    /**
-     * Returns the variables.
-     *
-     * @return array The variables
-     */
-    public function getVariables()
-    {
-        return $this->variables;
-    }
-
-    /**
-     * Returns the path variables.
-     *
-     * @return array The variables
-     */
-    public function getPathVariables()
-    {
-        return $this->pathVariables;
-    }
-
-    /**
-     * Returns the host variables.
-     *
-     * @return array The variables
-     */
-    public function getHostVariables()
-    {
-        return $this->hostVariables;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ExceptionInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ExceptionInterface.php
deleted file mode 100644
index 9fcd224..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Exception;
-
-/**
- * ExceptionInterface.
- *
- * @author Alexandre Salomé <alexandre.salome@gmail.com>
- *
- * @api
- */
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/InvalidParameterException.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/InvalidParameterException.php
deleted file mode 100644
index ae37c34..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/InvalidParameterException.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Exception;
-
-/**
- * Exception thrown when a parameter is not valid.
- *
- * @author Alexandre Salomé <alexandre.salome@gmail.com>
- *
- * @api
- */
-class InvalidParameterException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MethodNotAllowedException.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MethodNotAllowedException.php
deleted file mode 100644
index 32f1091..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MethodNotAllowedException.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Exception;
-
-/**
- * The resource was found but the request method is not allowed.
- *
- * This exception should trigger an HTTP 405 response in your application code.
- *
- * @author Kris Wallsmith <kris@symfony.com>
- *
- * @api
- */
-class MethodNotAllowedException extends \RuntimeException implements ExceptionInterface
-{
-    /**
-     * @var array
-     */
-    protected $allowedMethods = array();
-
-    public function __construct(array $allowedMethods, $message = null, $code = 0, \Exception $previous = null)
-    {
-        $this->allowedMethods = array_map('strtoupper', $allowedMethods);
-
-        parent::__construct($message, $code, $previous);
-    }
-
-    /**
-     * Gets the allowed HTTP methods.
-     *
-     * @return array
-     */
-    public function getAllowedMethods()
-    {
-        return $this->allowedMethods;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MissingMandatoryParametersException.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MissingMandatoryParametersException.php
deleted file mode 100644
index 5a523fa..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MissingMandatoryParametersException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Exception;
-
-/**
- * Exception thrown when a route cannot be generated because of missing
- * mandatory parameters.
- *
- * @author Alexandre Salomé <alexandre.salome@gmail.com>
- *
- * @api
- */
-class MissingMandatoryParametersException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ResourceNotFoundException.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ResourceNotFoundException.php
deleted file mode 100644
index 362a0d6..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ResourceNotFoundException.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Exception;
-
-/**
- * The resource was not found.
- *
- * This exception should trigger an HTTP 404 response in your application code.
- *
- * @author Kris Wallsmith <kris@symfony.com>
- *
- * @api
- */
-class ResourceNotFoundException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/RouteNotFoundException.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/RouteNotFoundException.php
deleted file mode 100644
index 8059e45..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/RouteNotFoundException.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Exception;
-
-/**
- * Exception thrown when a route does not exist.
- *
- * @author Alexandre Salomé <alexandre.salome@gmail.com>
- *
- * @api
- */
-class RouteNotFoundException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/ConfigurableRequirementsInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/ConfigurableRequirementsInterface.php
deleted file mode 100644
index dc97b7e..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/ConfigurableRequirementsInterface.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Generator;
-
-/**
- * ConfigurableRequirementsInterface must be implemented by URL generators that
- * can be configured whether an exception should be generated when the parameters
- * do not match the requirements. It is also possible to disable the requirements
- * check for URL generation completely.
- *
- * The possible configurations and use-cases:
- * - setStrictRequirements(true): Throw an exception for mismatching requirements. This
- *   is mostly useful in development environment.
- * - setStrictRequirements(false): Don't throw an exception but return null as URL for
- *   mismatching requirements and log the problem. Useful when you cannot control all
- *   params because they come from third party libs but don't want to have a 404 in
- *   production environment. It should log the mismatch so one can review it.
- * - setStrictRequirements(null): Return the URL with the given parameters without
- *   checking the requirements at all. When generating a URL you should either trust
- *   your params or you validated them beforehand because otherwise it would break your
- *   link anyway. So in production environment you should know that params always pass
- *   the requirements. Thus this option allows to disable the check on URL generation for
- *   performance reasons (saving a preg_match for each requirement every time a URL is
- *   generated).
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- */
-interface ConfigurableRequirementsInterface
-{
-    /**
-     * Enables or disables the exception on incorrect parameters.
-     * Passing null will deactivate the requirements check completely.
-     *
-     * @param bool|null $enabled
-     */
-    public function setStrictRequirements($enabled);
-
-    /**
-     * Returns whether to throw an exception on incorrect parameters.
-     * Null means the requirements check is deactivated completely.
-     *
-     * @return bool|null
-     */
-    public function isStrictRequirements();
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php
deleted file mode 100644
index 4739bd8..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Generator\Dumper;
-
-use Symfony\Component\Routing\RouteCollection;
-
-/**
- * GeneratorDumper is the base class for all built-in generator dumpers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class GeneratorDumper implements GeneratorDumperInterface
-{
-    /**
-     * @var RouteCollection
-     */
-    private $routes;
-
-    /**
-     * Constructor.
-     *
-     * @param RouteCollection $routes The RouteCollection to dump
-     */
-    public function __construct(RouteCollection $routes)
-    {
-        $this->routes = $routes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRoutes()
-    {
-        return $this->routes;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumperInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumperInterface.php
deleted file mode 100644
index deb0c0a..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumperInterface.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Generator\Dumper;
-
-use Symfony\Component\Routing\RouteCollection;
-
-/**
- * GeneratorDumperInterface is the interface that all generator dumper classes must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface GeneratorDumperInterface
-{
-    /**
-     * Dumps a set of routes to a string representation of executable code
-     * that can then be used to generate a URL of such a route.
-     *
-     * @param array $options An array of options
-     *
-     * @return string Executable code
-     */
-    public function dump(array $options = array());
-
-    /**
-     * Gets the routes to dump.
-     *
-     * @return RouteCollection A RouteCollection instance
-     */
-    public function getRoutes();
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
deleted file mode 100644
index 9b7e483..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Generator\Dumper;
-
-/**
- * PhpGeneratorDumper creates a PHP class able to generate URLs for a given set of routes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-class PhpGeneratorDumper extends GeneratorDumper
-{
-    /**
-     * Dumps a set of routes to a PHP class.
-     *
-     * Available options:
-     *
-     *  * class:      The class name
-     *  * base_class: The base class name
-     *
-     * @param array $options An array of options
-     *
-     * @return string A PHP class representing the generator class
-     *
-     * @api
-     */
-    public function dump(array $options = array())
-    {
-        $options = array_merge(array(
-            'class' => 'ProjectUrlGenerator',
-            'base_class' => 'Symfony\\Component\\Routing\\Generator\\UrlGenerator',
-        ), $options);
-
-        return <<<EOF
-<?php
-
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Exception\RouteNotFoundException;
-use Psr\Log\LoggerInterface;
-
-/**
- * {$options['class']}
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class {$options['class']} extends {$options['base_class']}
-{
-    private static \$declaredRoutes = {$this->generateDeclaredRoutes()};
-
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext \$context, LoggerInterface \$logger = null)
-    {
-        \$this->context = \$context;
-        \$this->logger = \$logger;
-    }
-
-{$this->generateGenerateMethod()}
-}
-
-EOF;
-    }
-
-    /**
-     * Generates PHP code representing an array of defined routes
-     * together with the routes properties (e.g. requirements).
-     *
-     * @return string PHP code
-     */
-    private function generateDeclaredRoutes()
-    {
-        $routes = "array(\n";
-        foreach ($this->getRoutes()->all() as $name => $route) {
-            $compiledRoute = $route->compile();
-
-            $properties = array();
-            $properties[] = $compiledRoute->getVariables();
-            $properties[] = $route->getDefaults();
-            $properties[] = $route->getRequirements();
-            $properties[] = $compiledRoute->getTokens();
-            $properties[] = $compiledRoute->getHostTokens();
-            $properties[] = $route->getSchemes();
-
-            $routes .= sprintf("        '%s' => %s,\n", $name, str_replace("\n", '', var_export($properties, true)));
-        }
-        $routes .= '    )';
-
-        return $routes;
-    }
-
-    /**
-     * Generates PHP code representing the `generate` method that implements the UrlGeneratorInterface.
-     *
-     * @return string PHP code
-     */
-    private function generateGenerateMethod()
-    {
-        return <<<EOF
-    public function generate(\$name, \$parameters = array(), \$referenceType = self::ABSOLUTE_PATH)
-    {
-        if (!isset(self::\$declaredRoutes[\$name])) {
-            throw new RouteNotFoundException(sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', \$name));
-        }
-
-        list(\$variables, \$defaults, \$requirements, \$tokens, \$hostTokens, \$requiredSchemes) = self::\$declaredRoutes[\$name];
-
-        return \$this->doGenerate(\$variables, \$defaults, \$requirements, \$tokens, \$parameters, \$name, \$referenceType, \$hostTokens, \$requiredSchemes);
-    }
-EOF;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGenerator.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGenerator.php
deleted file mode 100644
index 5fe943b..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGenerator.php
+++ /dev/null
@@ -1,340 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Generator;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Exception\InvalidParameterException;
-use Symfony\Component\Routing\Exception\RouteNotFoundException;
-use Symfony\Component\Routing\Exception\MissingMandatoryParametersException;
-use Psr\Log\LoggerInterface;
-
-/**
- * UrlGenerator can generate a URL or a path for any route in the RouteCollection
- * based on the passed parameters.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInterface
-{
-    /**
-     * @var RouteCollection
-     */
-    protected $routes;
-
-    /**
-     * @var RequestContext
-     */
-    protected $context;
-
-    /**
-     * @var bool|null
-     */
-    protected $strictRequirements = true;
-
-    /**
-     * @var LoggerInterface|null
-     */
-    protected $logger;
-
-    /**
-     * This array defines the characters (besides alphanumeric ones) that will not be percent-encoded in the path segment of the generated URL.
-     *
-     * PHP's rawurlencode() encodes all chars except "a-zA-Z0-9-._~" according to RFC 3986. But we want to allow some chars
-     * to be used in their literal form (reasons below). Other chars inside the path must of course be encoded, e.g.
-     * "?" and "#" (would be interpreted wrongly as query and fragment identifier),
-     * "'" and """ (are used as delimiters in HTML).
-     */
-    protected $decodedChars = array(
-        // the slash can be used to designate a hierarchical structure and we want allow using it with this meaning
-        // some webservers don't allow the slash in encoded form in the path for security reasons anyway
-        // see http://stackoverflow.com/questions/4069002/http-400-if-2f-part-of-get-url-in-jboss
-        '%2F' => '/',
-        // the following chars are general delimiters in the URI specification but have only special meaning in the authority component
-        // so they can safely be used in the path in unencoded form
-        '%40' => '@',
-        '%3A' => ':',
-        // these chars are only sub-delimiters that have no predefined meaning and can therefore be used literally
-        // so URI producing applications can use these chars to delimit subcomponents in a path segment without being encoded for better readability
-        '%3B' => ';',
-        '%2C' => ',',
-        '%3D' => '=',
-        '%2B' => '+',
-        '%21' => '!',
-        '%2A' => '*',
-        '%7C' => '|',
-    );
-
-    /**
-     * Constructor.
-     *
-     * @param RouteCollection      $routes  A RouteCollection instance
-     * @param RequestContext       $context The context
-     * @param LoggerInterface|null $logger  A logger instance
-     *
-     * @api
-     */
-    public function __construct(RouteCollection $routes, RequestContext $context, LoggerInterface $logger = null)
-    {
-        $this->routes = $routes;
-        $this->context = $context;
-        $this->logger = $logger;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContext(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContext()
-    {
-        return $this->context;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setStrictRequirements($enabled)
-    {
-        $this->strictRequirements = null === $enabled ? null : (bool) $enabled;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStrictRequirements()
-    {
-        return $this->strictRequirements;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH)
-    {
-        if (null === $route = $this->routes->get($name)) {
-            throw new RouteNotFoundException(sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', $name));
-        }
-
-        // the Route has a cache of its own and is not recompiled as long as it does not get modified
-        $compiledRoute = $route->compile();
-
-        return $this->doGenerate($compiledRoute->getVariables(), $route->getDefaults(), $route->getRequirements(), $compiledRoute->getTokens(), $parameters, $name, $referenceType, $compiledRoute->getHostTokens(), $route->getSchemes());
-    }
-
-    /**
-     * @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route
-     * @throws InvalidParameterException           When a parameter value for a placeholder is not correct because
-     *                                             it does not match the requirement
-     */
-    protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = array())
-    {
-        $variables = array_flip($variables);
-        $mergedParams = array_replace($defaults, $this->context->getParameters(), $parameters);
-
-        // all params must be given
-        if ($diff = array_diff_key($variables, $mergedParams)) {
-            throw new MissingMandatoryParametersException(sprintf('Some mandatory parameters are missing ("%s") to generate a URL for route "%s".', implode('", "', array_keys($diff)), $name));
-        }
-
-        $url = '';
-        $optional = true;
-        foreach ($tokens as $token) {
-            if ('variable' === $token[0]) {
-                if (!$optional || !array_key_exists($token[3], $defaults) || null !== $mergedParams[$token[3]] && (string) $mergedParams[$token[3]] !== (string) $defaults[$token[3]]) {
-                    // check requirement
-                    if (null !== $this->strictRequirements && !preg_match('#^'.$token[2].'$#', $mergedParams[$token[3]])) {
-                        $message = sprintf('Parameter "%s" for route "%s" must match "%s" ("%s" given) to generate a corresponding URL.', $token[3], $name, $token[2], $mergedParams[$token[3]]);
-                        if ($this->strictRequirements) {
-                            throw new InvalidParameterException($message);
-                        }
-
-                        if ($this->logger) {
-                            $this->logger->error($message);
-                        }
-
-                        return;
-                    }
-
-                    $url = $token[1].$mergedParams[$token[3]].$url;
-                    $optional = false;
-                }
-            } else {
-                // static text
-                $url = $token[1].$url;
-                $optional = false;
-            }
-        }
-
-        if ('' === $url) {
-            $url = '/';
-        }
-
-        // the contexts base URL is already encoded (see Symfony\Component\HttpFoundation\Request)
-        $url = strtr(rawurlencode($url), $this->decodedChars);
-
-        // the path segments "." and ".." are interpreted as relative reference when resolving a URI; see http://tools.ietf.org/html/rfc3986#section-3.3
-        // so we need to encode them as they are not used for this purpose here
-        // otherwise we would generate a URI that, when followed by a user agent (e.g. browser), does not match this route
-        $url = strtr($url, array('/../' => '/%2E%2E/', '/./' => '/%2E/'));
-        if ('/..' === substr($url, -3)) {
-            $url = substr($url, 0, -2).'%2E%2E';
-        } elseif ('/.' === substr($url, -2)) {
-            $url = substr($url, 0, -1).'%2E';
-        }
-
-        $schemeAuthority = '';
-        if ($host = $this->context->getHost()) {
-            $scheme = $this->context->getScheme();
-
-            if ($requiredSchemes) {
-                $schemeMatched = false;
-                foreach ($requiredSchemes as $requiredScheme) {
-                    if ($scheme === $requiredScheme) {
-                        $schemeMatched = true;
-
-                        break;
-                    }
-                }
-
-                if (!$schemeMatched) {
-                    $referenceType = self::ABSOLUTE_URL;
-                    $scheme = current($requiredSchemes);
-                }
-            } elseif (isset($requirements['_scheme']) && ($req = strtolower($requirements['_scheme'])) && $scheme !== $req) {
-                // We do this for BC; to be removed if _scheme is not supported anymore
-                $referenceType = self::ABSOLUTE_URL;
-                $scheme = $req;
-            }
-
-            if ($hostTokens) {
-                $routeHost = '';
-                foreach ($hostTokens as $token) {
-                    if ('variable' === $token[0]) {
-                        if (null !== $this->strictRequirements && !preg_match('#^'.$token[2].'$#i', $mergedParams[$token[3]])) {
-                            $message = sprintf('Parameter "%s" for route "%s" must match "%s" ("%s" given) to generate a corresponding URL.', $token[3], $name, $token[2], $mergedParams[$token[3]]);
-
-                            if ($this->strictRequirements) {
-                                throw new InvalidParameterException($message);
-                            }
-
-                            if ($this->logger) {
-                                $this->logger->error($message);
-                            }
-
-                            return;
-                        }
-
-                        $routeHost = $token[1].$mergedParams[$token[3]].$routeHost;
-                    } else {
-                        $routeHost = $token[1].$routeHost;
-                    }
-                }
-
-                if ($routeHost !== $host) {
-                    $host = $routeHost;
-                    if (self::ABSOLUTE_URL !== $referenceType) {
-                        $referenceType = self::NETWORK_PATH;
-                    }
-                }
-            }
-
-            if (self::ABSOLUTE_URL === $referenceType || self::NETWORK_PATH === $referenceType) {
-                $port = '';
-                if ('http' === $scheme && 80 != $this->context->getHttpPort()) {
-                    $port = ':'.$this->context->getHttpPort();
-                } elseif ('https' === $scheme && 443 != $this->context->getHttpsPort()) {
-                    $port = ':'.$this->context->getHttpsPort();
-                }
-
-                $schemeAuthority = self::NETWORK_PATH === $referenceType ? '//' : "$scheme://";
-                $schemeAuthority .= $host.$port;
-            }
-        }
-
-        if (self::RELATIVE_PATH === $referenceType) {
-            $url = self::getRelativePath($this->context->getPathInfo(), $url);
-        } else {
-            $url = $schemeAuthority.$this->context->getBaseUrl().$url;
-        }
-
-        // add a query string if needed
-        $extra = array_diff_key($parameters, $variables, $defaults);
-        if ($extra && $query = http_build_query($extra, '', '&')) {
-            // "/" and "?" can be left decoded for better user experience, see
-            // http://tools.ietf.org/html/rfc3986#section-3.4
-            $url .= '?'.strtr($query, array('%2F' => '/'));
-        }
-
-        return $url;
-    }
-
-    /**
-     * Returns the target path as relative reference from the base path.
-     *
-     * Only the URIs path component (no schema, host etc.) is relevant and must be given, starting with a slash.
-     * Both paths must be absolute and not contain relative parts.
-     * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives.
-     * Furthermore, they can be used to reduce the link size in documents.
-     *
-     * Example target paths, given a base path of "/a/b/c/d":
-     * - "/a/b/c/d"     -> ""
-     * - "/a/b/c/"      -> "./"
-     * - "/a/b/"        -> "../"
-     * - "/a/b/c/other" -> "other"
-     * - "/a/x/y"       -> "../../x/y"
-     *
-     * @param string $basePath   The base path
-     * @param string $targetPath The target path
-     *
-     * @return string The relative target path
-     */
-    public static function getRelativePath($basePath, $targetPath)
-    {
-        if ($basePath === $targetPath) {
-            return '';
-        }
-
-        $sourceDirs = explode('/', isset($basePath[0]) && '/' === $basePath[0] ? substr($basePath, 1) : $basePath);
-        $targetDirs = explode('/', isset($targetPath[0]) && '/' === $targetPath[0] ? substr($targetPath, 1) : $targetPath);
-        array_pop($sourceDirs);
-        $targetFile = array_pop($targetDirs);
-
-        foreach ($sourceDirs as $i => $dir) {
-            if (isset($targetDirs[$i]) && $dir === $targetDirs[$i]) {
-                unset($sourceDirs[$i], $targetDirs[$i]);
-            } else {
-                break;
-            }
-        }
-
-        $targetDirs[] = $targetFile;
-        $path = str_repeat('../', count($sourceDirs)).implode('/', $targetDirs);
-
-        // A reference to the same base directory or an empty subdirectory must be prefixed with "./".
-        // This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used
-        // as the first segment of a relative-path reference, as it would be mistaken for a scheme name
-        // (see http://tools.ietf.org/html/rfc3986#section-4.2).
-        return '' === $path || '/' === $path[0]
-            || false !== ($colonPos = strpos($path, ':')) && ($colonPos < ($slashPos = strpos($path, '/')) || false === $slashPos)
-            ? "./$path" : $path;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGeneratorInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGeneratorInterface.php
deleted file mode 100644
index a70c90a..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGeneratorInterface.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Generator;
-
-use Symfony\Component\Routing\Exception\InvalidParameterException;
-use Symfony\Component\Routing\Exception\MissingMandatoryParametersException;
-use Symfony\Component\Routing\Exception\RouteNotFoundException;
-use Symfony\Component\Routing\RequestContextAwareInterface;
-
-/**
- * UrlGeneratorInterface is the interface that all URL generator classes must implement.
- *
- * The constants in this interface define the different types of resource references that
- * are declared in RFC 3986: http://tools.ietf.org/html/rfc3986
- * We are using the term "URL" instead of "URI" as this is more common in web applications
- * and we do not need to distinguish them as the difference is mostly semantical and
- * less technical. Generating URIs, i.e. representation-independent resource identifiers,
- * is also possible.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-interface UrlGeneratorInterface extends RequestContextAwareInterface
-{
-    /**
-     * Generates an absolute URL, e.g. "http://example.com/dir/file".
-     */
-    const ABSOLUTE_URL = true;
-
-    /**
-     * Generates an absolute path, e.g. "/dir/file".
-     */
-    const ABSOLUTE_PATH = false;
-
-    /**
-     * Generates a relative path based on the current request path, e.g. "../parent-file".
-     *
-     * @see UrlGenerator::getRelativePath()
-     */
-    const RELATIVE_PATH = 'relative';
-
-    /**
-     * Generates a network path, e.g. "//example.com/dir/file".
-     * Such reference reuses the current scheme but specifies the host.
-     */
-    const NETWORK_PATH = 'network';
-
-    /**
-     * Generates a URL or path for a specific route based on the given parameters.
-     *
-     * Parameters that reference placeholders in the route pattern will substitute them in the
-     * path or host. Extra params are added as query string to the URL.
-     *
-     * When the passed reference type cannot be generated for the route because it requires a different
-     * host or scheme than the current one, the method will return a more comprehensive reference
-     * that includes the required params. For example, when you call this method with $referenceType = ABSOLUTE_PATH
-     * but the route requires the https scheme whereas the current scheme is http, it will instead return an
-     * ABSOLUTE_URL with the https scheme and the current host. This makes sure the generated URL matches
-     * the route in any case.
-     *
-     * If there is no route with the given name, the generator must throw the RouteNotFoundException.
-     *
-     * @param string      $name          The name of the route
-     * @param mixed       $parameters    An array of parameters
-     * @param bool|string $referenceType The type of reference to be generated (one of the constants)
-     *
-     * @return string The generated URL
-     *
-     * @throws RouteNotFoundException              If the named route doesn't exist
-     * @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route
-     * @throws InvalidParameterException           When a parameter value for a placeholder is not correct because
-     *                                             it does not match the requirement
-     *
-     * @api
-     */
-    public function generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH);
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE b/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/routing/Symfony/Component/Routing/Loader/AnnotationClassLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationClassLoader.php
deleted file mode 100644
index 92abf36..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationClassLoader.php
+++ /dev/null
@@ -1,268 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Loader;
-
-use Doctrine\Common\Annotations\Reader;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Config\Loader\LoaderInterface;
-use Symfony\Component\Config\Loader\LoaderResolverInterface;
-
-/**
- * AnnotationClassLoader loads routing information from a PHP class and its methods.
- *
- * You need to define an implementation for the getRouteDefaults() method. Most of the
- * time, this method should define some PHP callable to be called for the route
- * (a controller in MVC speak).
- *
- * The @Route annotation can be set on the class (for global parameters),
- * and on each method.
- *
- * The @Route annotation main value is the route path. The annotation also
- * recognizes several parameters: requirements, options, defaults, schemes,
- * methods, host, and name. The name parameter is mandatory.
- * Here is an example of how you should be able to use it:
- *
- *     /**
- *      * @Route("/Blog")
- *      * /
- *     class Blog
- *     {
- *         /**
- *          * @Route("/", name="blog_index")
- *          * /
- *         public function index()
- *         {
- *         }
- *
- *         /**
- *          * @Route("/{id}", name="blog_post", requirements = {"id" = "\d+"})
- *          * /
- *         public function show()
- *         {
- *         }
- *     }
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class AnnotationClassLoader implements LoaderInterface
-{
-    /**
-     * @var Reader
-     */
-    protected $reader;
-
-    /**
-     * @var string
-     */
-    protected $routeAnnotationClass = 'Symfony\\Component\\Routing\\Annotation\\Route';
-
-    /**
-     * @var int
-     */
-    protected $defaultRouteIndex = 0;
-
-    /**
-     * Constructor.
-     *
-     * @param Reader $reader
-     */
-    public function __construct(Reader $reader)
-    {
-        $this->reader = $reader;
-    }
-
-    /**
-     * Sets the annotation class to read route properties from.
-     *
-     * @param string $class A fully-qualified class name
-     */
-    public function setRouteAnnotationClass($class)
-    {
-        $this->routeAnnotationClass = $class;
-    }
-
-    /**
-     * Loads from annotations from a class.
-     *
-     * @param string      $class A class name
-     * @param string|null $type  The resource type
-     *
-     * @return RouteCollection A RouteCollection instance
-     *
-     * @throws \InvalidArgumentException When route can't be parsed
-     */
-    public function load($class, $type = null)
-    {
-        if (!class_exists($class)) {
-            throw new \InvalidArgumentException(sprintf('Class "%s" does not exist.', $class));
-        }
-
-        $class = new \ReflectionClass($class);
-        if ($class->isAbstract()) {
-            throw new \InvalidArgumentException(sprintf('Annotations from class "%s" cannot be read as it is abstract.', $class));
-        }
-
-        $globals = $this->getGlobals($class);
-
-        $collection = new RouteCollection();
-        $collection->addResource(new FileResource($class->getFileName()));
-
-        foreach ($class->getMethods() as $method) {
-            $this->defaultRouteIndex = 0;
-            foreach ($this->reader->getMethodAnnotations($method) as $annot) {
-                if ($annot instanceof $this->routeAnnotationClass) {
-                    $this->addRoute($collection, $annot, $globals, $class, $method);
-                }
-            }
-        }
-
-        return $collection;
-    }
-
-    protected function addRoute(RouteCollection $collection, $annot, $globals, \ReflectionClass $class, \ReflectionMethod $method)
-    {
-        $name = $annot->getName();
-        if (null === $name) {
-            $name = $this->getDefaultRouteName($class, $method);
-        }
-
-        $defaults = array_replace($globals['defaults'], $annot->getDefaults());
-        foreach ($method->getParameters() as $param) {
-            if (!isset($defaults[$param->getName()]) && $param->isOptional()) {
-                $defaults[$param->getName()] = $param->getDefaultValue();
-            }
-        }
-        $requirements = array_replace($globals['requirements'], $annot->getRequirements());
-        $options = array_replace($globals['options'], $annot->getOptions());
-        $schemes = array_replace($globals['schemes'], $annot->getSchemes());
-        $methods = array_replace($globals['methods'], $annot->getMethods());
-
-        $host = $annot->getHost();
-        if (null === $host) {
-            $host = $globals['host'];
-        }
-
-        $condition = $annot->getCondition();
-        if (null === $condition) {
-            $condition = $globals['condition'];
-        }
-
-        $route = $this->createRoute($globals['path'].$annot->getPath(), $defaults, $requirements, $options, $host, $schemes, $methods, $condition);
-
-        $this->configureRoute($route, $class, $method, $annot);
-
-        $collection->add($name, $route);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && preg_match('/^(?:\\\\?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)+$/', $resource) && (!$type || 'annotation' === $type);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setResolver(LoaderResolverInterface $resolver)
-    {
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getResolver()
-    {
-    }
-
-    /**
-     * Gets the default route name for a class method.
-     *
-     * @param \ReflectionClass  $class
-     * @param \ReflectionMethod $method
-     *
-     * @return string
-     */
-    protected function getDefaultRouteName(\ReflectionClass $class, \ReflectionMethod $method)
-    {
-        $name = strtolower(str_replace('\\', '_', $class->name).'_'.$method->name);
-        if ($this->defaultRouteIndex > 0) {
-            $name .= '_'.$this->defaultRouteIndex;
-        }
-        $this->defaultRouteIndex++;
-
-        return $name;
-    }
-
-    protected function getGlobals(\ReflectionClass $class)
-    {
-        $globals = array(
-            'path' => '',
-            'requirements' => array(),
-            'options' => array(),
-            'defaults' => array(),
-            'schemes' => array(),
-            'methods' => array(),
-            'host' => '',
-            'condition' => '',
-        );
-
-        if ($annot = $this->reader->getClassAnnotation($class, $this->routeAnnotationClass)) {
-            // for BC reasons
-            if (null !== $annot->getPath()) {
-                $globals['path'] = $annot->getPath();
-            } elseif (null !== $annot->getPattern()) {
-                $globals['path'] = $annot->getPattern();
-            }
-
-            if (null !== $annot->getRequirements()) {
-                $globals['requirements'] = $annot->getRequirements();
-            }
-
-            if (null !== $annot->getOptions()) {
-                $globals['options'] = $annot->getOptions();
-            }
-
-            if (null !== $annot->getDefaults()) {
-                $globals['defaults'] = $annot->getDefaults();
-            }
-
-            if (null !== $annot->getSchemes()) {
-                $globals['schemes'] = $annot->getSchemes();
-            }
-
-            if (null !== $annot->getMethods()) {
-                $globals['methods'] = $annot->getMethods();
-            }
-
-            if (null !== $annot->getHost()) {
-                $globals['host'] = $annot->getHost();
-            }
-
-            if (null !== $annot->getCondition()) {
-                $globals['condition'] = $annot->getCondition();
-            }
-        }
-
-        return $globals;
-    }
-
-    protected function createRoute($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition)
-    {
-        return new Route($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition);
-    }
-
-    abstract protected function configureRoute(Route $route, \ReflectionClass $class, \ReflectionMethod $method, $annot);
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php
deleted file mode 100644
index abd68ed..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Loader;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Config\Resource\DirectoryResource;
-
-/**
- * AnnotationDirectoryLoader loads routing information from annotations set
- * on PHP classes and methods.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class AnnotationDirectoryLoader extends AnnotationFileLoader
-{
-    /**
-     * Loads from annotations from a directory.
-     *
-     * @param string      $path A directory path
-     * @param string|null $type The resource type
-     *
-     * @return RouteCollection A RouteCollection instance
-     *
-     * @throws \InvalidArgumentException When the directory does not exist or its routes cannot be parsed
-     */
-    public function load($path, $type = null)
-    {
-        $dir = $this->locator->locate($path);
-
-        $collection = new RouteCollection();
-        $collection->addResource(new DirectoryResource($dir, '/\.php$/'));
-        $files = iterator_to_array(new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir), \RecursiveIteratorIterator::LEAVES_ONLY));
-        usort($files, function (\SplFileInfo $a, \SplFileInfo $b) {
-            return (string) $a > (string) $b ? 1 : -1;
-        });
-
-        foreach ($files as $file) {
-            if (!$file->isFile() || '.php' !== substr($file->getFilename(), -4)) {
-                continue;
-            }
-
-            if ($class = $this->findClass($file)) {
-                $refl = new \ReflectionClass($class);
-                if ($refl->isAbstract()) {
-                    continue;
-                }
-
-                $collection->addCollection($this->loader->load($class, $type));
-            }
-        }
-
-        return $collection;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        try {
-            $path = $this->locator->locate($resource);
-        } catch (\Exception $e) {
-            return false;
-        }
-
-        return is_string($resource) && is_dir($path) && (!$type || 'annotation' === $type);
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationFileLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationFileLoader.php
deleted file mode 100644
index e54a018..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationFileLoader.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Loader;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Config\Loader\FileLoader;
-use Symfony\Component\Config\FileLocatorInterface;
-
-/**
- * AnnotationFileLoader loads routing information from annotations set
- * on a PHP class and its methods.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class AnnotationFileLoader extends FileLoader
-{
-    protected $loader;
-
-    /**
-     * Constructor.
-     *
-     * @param FileLocatorInterface  $locator A FileLocator instance
-     * @param AnnotationClassLoader $loader  An AnnotationClassLoader instance
-     *
-     * @throws \RuntimeException
-     */
-    public function __construct(FileLocatorInterface $locator, AnnotationClassLoader $loader)
-    {
-        if (!function_exists('token_get_all')) {
-            throw new \RuntimeException('The Tokenizer extension is required for the routing annotation loaders.');
-        }
-
-        parent::__construct($locator);
-
-        $this->loader = $loader;
-    }
-
-    /**
-     * Loads from annotations from a file.
-     *
-     * @param string      $file A PHP file path
-     * @param string|null $type The resource type
-     *
-     * @return RouteCollection A RouteCollection instance
-     *
-     * @throws \InvalidArgumentException When the file does not exist or its routes cannot be parsed
-     */
-    public function load($file, $type = null)
-    {
-        $path = $this->locator->locate($file);
-
-        $collection = new RouteCollection();
-        if ($class = $this->findClass($path)) {
-            $collection->addResource(new FileResource($path));
-            $collection->addCollection($this->loader->load($class, $type));
-        }
-
-        return $collection;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'php' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'annotation' === $type);
-    }
-
-    /**
-     * Returns the full class name for the first class in the file.
-     *
-     * @param string $file A PHP file path
-     *
-     * @return string|false Full class name if found, false otherwise
-     */
-    protected function findClass($file)
-    {
-        $class = false;
-        $namespace = false;
-        $tokens = token_get_all(file_get_contents($file));
-        for ($i = 0, $count = count($tokens); $i < $count; $i++) {
-            $token = $tokens[$i];
-
-            if (!is_array($token)) {
-                continue;
-            }
-
-            if (true === $class && T_STRING === $token[0]) {
-                return $namespace.'\\'.$token[1];
-            }
-
-            if (true === $namespace && T_STRING === $token[0]) {
-                $namespace = '';
-                do {
-                    $namespace .= $token[1];
-                    $token = $tokens[++$i];
-                } while ($i < $count && is_array($token) && in_array($token[0], array(T_NS_SEPARATOR, T_STRING)));
-            }
-
-            if (T_CLASS === $token[0]) {
-                $class = true;
-            }
-
-            if (T_NAMESPACE === $token[0]) {
-                $namespace = true;
-            }
-        }
-
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/ClosureLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/ClosureLoader.php
deleted file mode 100644
index 9edab1e..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/ClosureLoader.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Loader;
-
-use Symfony\Component\Config\Loader\Loader;
-use Symfony\Component\Routing\RouteCollection;
-
-/**
- * ClosureLoader loads routes from a PHP closure.
- *
- * The Closure must return a RouteCollection instance.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class ClosureLoader extends Loader
-{
-    /**
-     * Loads a Closure.
-     *
-     * @param \Closure    $closure A Closure
-     * @param string|null $type    The resource type
-     *
-     * @return RouteCollection A RouteCollection instance
-     *
-     * @api
-     */
-    public function load($closure, $type = null)
-    {
-        return $closure();
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function supports($resource, $type = null)
-    {
-        return $resource instanceof \Closure && (!$type || 'closure' === $type);
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/PhpFileLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/PhpFileLoader.php
deleted file mode 100644
index d1970e5..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/PhpFileLoader.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Loader;
-
-use Symfony\Component\Config\Loader\FileLoader;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Routing\RouteCollection;
-
-/**
- * PhpFileLoader loads routes from a PHP file.
- *
- * The file must return a RouteCollection instance.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class PhpFileLoader extends FileLoader
-{
-    /**
-     * Loads a PHP file.
-     *
-     * @param string      $file A PHP file path
-     * @param string|null $type The resource type
-     *
-     * @return RouteCollection A RouteCollection instance
-     *
-     * @api
-     */
-    public function load($file, $type = null)
-    {
-        $path = $this->locator->locate($file);
-        $this->setCurrentDir(dirname($path));
-
-        $collection = self::includeFile($path, $this);
-        $collection->addResource(new FileResource($path));
-
-        return $collection;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'php' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'php' === $type);
-    }
-
-    /**
-     * Safe include. Used for scope isolation.
-     *
-     * @param string        $file   File to include
-     * @param PhpFileLoader $loader the loader variable is exposed to the included file below
-     *
-     * @return RouteCollection
-     */
-    private static function includeFile($file, PhpFileLoader $loader)
-    {
-        return include $file;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php
deleted file mode 100644
index 8a95f51..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php
+++ /dev/null
@@ -1,256 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Loader;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Config\Loader\FileLoader;
-use Symfony\Component\Config\Util\XmlUtils;
-
-/**
- * XmlFileLoader loads XML routing files.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-class XmlFileLoader extends FileLoader
-{
-    const NAMESPACE_URI = 'http://symfony.com/schema/routing';
-    const SCHEME_PATH = '/schema/routing/routing-1.0.xsd';
-
-    /**
-     * Loads an XML file.
-     *
-     * @param string      $file An XML file path
-     * @param string|null $type The resource type
-     *
-     * @return RouteCollection A RouteCollection instance
-     *
-     * @throws \InvalidArgumentException When the file cannot be loaded or when the XML cannot be
-     *                                   parsed because it does not validate against the scheme.
-     *
-     * @api
-     */
-    public function load($file, $type = null)
-    {
-        $path = $this->locator->locate($file);
-
-        $xml = $this->loadFile($path);
-
-        $collection = new RouteCollection();
-        $collection->addResource(new FileResource($path));
-
-        // process routes and imports
-        foreach ($xml->documentElement->childNodes as $node) {
-            if (!$node instanceof \DOMElement) {
-                continue;
-            }
-
-            $this->parseNode($collection, $node, $path, $file);
-        }
-
-        return $collection;
-    }
-
-    /**
-     * Parses a node from a loaded XML file.
-     *
-     * @param RouteCollection $collection Collection to associate with the node
-     * @param \DOMElement     $node       Element to parse
-     * @param string          $path       Full path of the XML file being processed
-     * @param string          $file       Loaded file name
-     *
-     * @throws \InvalidArgumentException When the XML is invalid
-     */
-    protected function parseNode(RouteCollection $collection, \DOMElement $node, $path, $file)
-    {
-        if (self::NAMESPACE_URI !== $node->namespaceURI) {
-            return;
-        }
-
-        switch ($node->localName) {
-            case 'route':
-                $this->parseRoute($collection, $node, $path);
-                break;
-            case 'import':
-                $this->parseImport($collection, $node, $path, $file);
-                break;
-            default:
-                throw new \InvalidArgumentException(sprintf('Unknown tag "%s" used in file "%s". Expected "route" or "import".', $node->localName, $path));
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'xml' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'xml' === $type);
-    }
-
-    /**
-     * Parses a route and adds it to the RouteCollection.
-     *
-     * @param RouteCollection $collection RouteCollection instance
-     * @param \DOMElement     $node       Element to parse that represents a Route
-     * @param string          $path       Full path of the XML file being processed
-     *
-     * @throws \InvalidArgumentException When the XML is invalid
-     */
-    protected function parseRoute(RouteCollection $collection, \DOMElement $node, $path)
-    {
-        if ('' === ($id = $node->getAttribute('id')) || (!$node->hasAttribute('pattern') && !$node->hasAttribute('path'))) {
-            throw new \InvalidArgumentException(sprintf('The <route> element in file "%s" must have an "id" and a "path" attribute.', $path));
-        }
-
-        if ($node->hasAttribute('pattern')) {
-            if ($node->hasAttribute('path')) {
-                throw new \InvalidArgumentException(sprintf('The <route> element in file "%s" cannot define both a "path" and a "pattern" attribute. Use only "path".', $path));
-            }
-
-            $node->setAttribute('path', $node->getAttribute('pattern'));
-            $node->removeAttribute('pattern');
-        }
-
-        $schemes = preg_split('/[\s,\|]++/', $node->getAttribute('schemes'), -1, PREG_SPLIT_NO_EMPTY);
-        $methods = preg_split('/[\s,\|]++/', $node->getAttribute('methods'), -1, PREG_SPLIT_NO_EMPTY);
-
-        list($defaults, $requirements, $options, $condition) = $this->parseConfigs($node, $path);
-
-        $route = new Route($node->getAttribute('path'), $defaults, $requirements, $options, $node->getAttribute('host'), $schemes, $methods, $condition);
-        $collection->add($id, $route);
-    }
-
-    /**
-     * Parses an import and adds the routes in the resource to the RouteCollection.
-     *
-     * @param RouteCollection $collection RouteCollection instance
-     * @param \DOMElement     $node       Element to parse that represents a Route
-     * @param string          $path       Full path of the XML file being processed
-     * @param string          $file       Loaded file name
-     *
-     * @throws \InvalidArgumentException When the XML is invalid
-     */
-    protected function parseImport(RouteCollection $collection, \DOMElement $node, $path, $file)
-    {
-        if ('' === $resource = $node->getAttribute('resource')) {
-            throw new \InvalidArgumentException(sprintf('The <import> element in file "%s" must have a "resource" attribute.', $path));
-        }
-
-        $type = $node->getAttribute('type');
-        $prefix = $node->getAttribute('prefix');
-        $host = $node->hasAttribute('host') ? $node->getAttribute('host') : null;
-        $schemes = $node->hasAttribute('schemes') ? preg_split('/[\s,\|]++/', $node->getAttribute('schemes'), -1, PREG_SPLIT_NO_EMPTY) : null;
-        $methods = $node->hasAttribute('methods') ? preg_split('/[\s,\|]++/', $node->getAttribute('methods'), -1, PREG_SPLIT_NO_EMPTY) : null;
-
-        list($defaults, $requirements, $options, $condition) = $this->parseConfigs($node, $path);
-
-        $this->setCurrentDir(dirname($path));
-
-        $subCollection = $this->import($resource, ('' !== $type ? $type : null), false, $file);
-        /* @var $subCollection RouteCollection */
-        $subCollection->addPrefix($prefix);
-        if (null !== $host) {
-            $subCollection->setHost($host);
-        }
-        if (null !== $condition) {
-            $subCollection->setCondition($condition);
-        }
-        if (null !== $schemes) {
-            $subCollection->setSchemes($schemes);
-        }
-        if (null !== $methods) {
-            $subCollection->setMethods($methods);
-        }
-        $subCollection->addDefaults($defaults);
-        $subCollection->addRequirements($requirements);
-        $subCollection->addOptions($options);
-
-        $collection->addCollection($subCollection);
-    }
-
-    /**
-     * Loads an XML file.
-     *
-     * @param string $file An XML file path
-     *
-     * @return \DOMDocument
-     *
-     * @throws \InvalidArgumentException When loading of XML file fails because of syntax errors
-     *                                   or when the XML structure is not as expected by the scheme -
-     *                                   see validate()
-     */
-    protected function loadFile($file)
-    {
-        return XmlUtils::loadFile($file, __DIR__.static::SCHEME_PATH);
-    }
-
-    /**
-     * Parses the config elements (default, requirement, option).
-     *
-     * @param \DOMElement $node Element to parse that contains the configs
-     * @param string      $path Full path of the XML file being processed
-     *
-     * @return array An array with the defaults as first item, requirements as second and options as third.
-     *
-     * @throws \InvalidArgumentException When the XML is invalid
-     */
-    private function parseConfigs(\DOMElement $node, $path)
-    {
-        $defaults = array();
-        $requirements = array();
-        $options = array();
-        $condition = null;
-
-        foreach ($node->getElementsByTagNameNS(self::NAMESPACE_URI, '*') as $n) {
-            switch ($n->localName) {
-                case 'default':
-                    if ($this->isElementValueNull($n)) {
-                        $defaults[$n->getAttribute('key')] = null;
-                    } else {
-                        $defaults[$n->getAttribute('key')] = trim($n->textContent);
-                    }
-
-                    break;
-                case 'requirement':
-                    $requirements[$n->getAttribute('key')] = trim($n->textContent);
-                    break;
-                case 'option':
-                    $options[$n->getAttribute('key')] = trim($n->textContent);
-                    break;
-                case 'condition':
-                    $condition = trim($n->textContent);
-                    break;
-                default:
-                    throw new \InvalidArgumentException(sprintf('Unknown tag "%s" used in file "%s". Expected "default", "requirement" or "option".', $n->localName, $path));
-            }
-        }
-
-        return array($defaults, $requirements, $options, $condition);
-    }
-
-    private function isElementValueNull(\DOMElement $element)
-    {
-        $namespaceUri = 'http://www.w3.org/2001/XMLSchema-instance';
-
-        if (!$element->hasAttributeNS($namespaceUri, 'nil')) {
-            return false;
-        }
-
-        return 'true' === $element->getAttributeNS($namespaceUri, 'nil') || '1' === $element->getAttributeNS($namespaceUri, 'nil');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/YamlFileLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/YamlFileLoader.php
deleted file mode 100644
index 8de520c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/YamlFileLoader.php
+++ /dev/null
@@ -1,217 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Loader;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\Yaml\Parser as YamlParser;
-use Symfony\Component\Config\Loader\FileLoader;
-
-/**
- * YamlFileLoader loads Yaml routing files.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-class YamlFileLoader extends FileLoader
-{
-    private static $availableKeys = array(
-        'resource', 'type', 'prefix', 'pattern', 'path', 'host', 'schemes', 'methods', 'defaults', 'requirements', 'options', 'condition',
-    );
-    private $yamlParser;
-
-    /**
-     * Loads a Yaml file.
-     *
-     * @param string      $file A Yaml file path
-     * @param string|null $type The resource type
-     *
-     * @return RouteCollection A RouteCollection instance
-     *
-     * @throws \InvalidArgumentException When a route can't be parsed because YAML is invalid
-     *
-     * @api
-     */
-    public function load($file, $type = null)
-    {
-        $path = $this->locator->locate($file);
-
-        if (!stream_is_local($path)) {
-            throw new \InvalidArgumentException(sprintf('This is not a local file "%s".', $path));
-        }
-
-        if (!file_exists($path)) {
-            throw new \InvalidArgumentException(sprintf('File "%s" not found.', $path));
-        }
-
-        if (null === $this->yamlParser) {
-            $this->yamlParser = new YamlParser();
-        }
-
-        $config = $this->yamlParser->parse(file_get_contents($path));
-
-        $collection = new RouteCollection();
-        $collection->addResource(new FileResource($path));
-
-        // empty file
-        if (null === $config) {
-            return $collection;
-        }
-
-        // not an array
-        if (!is_array($config)) {
-            throw new \InvalidArgumentException(sprintf('The file "%s" must contain a YAML array.', $path));
-        }
-
-        foreach ($config as $name => $config) {
-            if (isset($config['pattern'])) {
-                if (isset($config['path'])) {
-                    throw new \InvalidArgumentException(sprintf('The file "%s" cannot define both a "path" and a "pattern" attribute. Use only "path".', $path));
-                }
-
-                $config['path'] = $config['pattern'];
-                unset($config['pattern']);
-            }
-
-            $this->validate($config, $name, $path);
-
-            if (isset($config['resource'])) {
-                $this->parseImport($collection, $config, $path, $file);
-            } else {
-                $this->parseRoute($collection, $name, $config, $path);
-            }
-        }
-
-        return $collection;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @api
-     */
-    public function supports($resource, $type = null)
-    {
-        return is_string($resource) && 'yml' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'yaml' === $type);
-    }
-
-    /**
-     * Parses a route and adds it to the RouteCollection.
-     *
-     * @param RouteCollection $collection A RouteCollection instance
-     * @param string          $name       Route name
-     * @param array           $config     Route definition
-     * @param string          $path       Full path of the YAML file being processed
-     */
-    protected function parseRoute(RouteCollection $collection, $name, array $config, $path)
-    {
-        $defaults = isset($config['defaults']) ? $config['defaults'] : array();
-        $requirements = isset($config['requirements']) ? $config['requirements'] : array();
-        $options = isset($config['options']) ? $config['options'] : array();
-        $host = isset($config['host']) ? $config['host'] : '';
-        $schemes = isset($config['schemes']) ? $config['schemes'] : array();
-        $methods = isset($config['methods']) ? $config['methods'] : array();
-        $condition = isset($config['condition']) ? $config['condition'] : null;
-
-        $route = new Route($config['path'], $defaults, $requirements, $options, $host, $schemes, $methods, $condition);
-
-        $collection->add($name, $route);
-    }
-
-    /**
-     * Parses an import and adds the routes in the resource to the RouteCollection.
-     *
-     * @param RouteCollection $collection A RouteCollection instance
-     * @param array           $config     Route definition
-     * @param string          $path       Full path of the YAML file being processed
-     * @param string          $file       Loaded file name
-     */
-    protected function parseImport(RouteCollection $collection, array $config, $path, $file)
-    {
-        $type = isset($config['type']) ? $config['type'] : null;
-        $prefix = isset($config['prefix']) ? $config['prefix'] : '';
-        $defaults = isset($config['defaults']) ? $config['defaults'] : array();
-        $requirements = isset($config['requirements']) ? $config['requirements'] : array();
-        $options = isset($config['options']) ? $config['options'] : array();
-        $host = isset($config['host']) ? $config['host'] : null;
-        $condition = isset($config['condition']) ? $config['condition'] : null;
-        $schemes = isset($config['schemes']) ? $config['schemes'] : null;
-        $methods = isset($config['methods']) ? $config['methods'] : null;
-
-        $this->setCurrentDir(dirname($path));
-
-        $subCollection = $this->import($config['resource'], $type, false, $file);
-        /* @var $subCollection RouteCollection */
-        $subCollection->addPrefix($prefix);
-        if (null !== $host) {
-            $subCollection->setHost($host);
-        }
-        if (null !== $condition) {
-            $subCollection->setCondition($condition);
-        }
-        if (null !== $schemes) {
-            $subCollection->setSchemes($schemes);
-        }
-        if (null !== $methods) {
-            $subCollection->setMethods($methods);
-        }
-        $subCollection->addDefaults($defaults);
-        $subCollection->addRequirements($requirements);
-        $subCollection->addOptions($options);
-
-        $collection->addCollection($subCollection);
-    }
-
-    /**
-     * Validates the route configuration.
-     *
-     * @param array  $config A resource config
-     * @param string $name   The config key
-     * @param string $path   The loaded file path
-     *
-     * @throws \InvalidArgumentException If one of the provided config keys is not supported,
-     *                                   something is missing or the combination is nonsense
-     */
-    protected function validate($config, $name, $path)
-    {
-        if (!is_array($config)) {
-            throw new \InvalidArgumentException(sprintf('The definition of "%s" in "%s" must be a YAML array.', $name, $path));
-        }
-        if ($extraKeys = array_diff(array_keys($config), self::$availableKeys)) {
-            throw new \InvalidArgumentException(sprintf(
-                'The routing file "%s" contains unsupported keys for "%s": "%s". Expected one of: "%s".',
-                $path, $name, implode('", "', $extraKeys), implode('", "', self::$availableKeys)
-            ));
-        }
-        if (isset($config['resource']) && isset($config['path'])) {
-            throw new \InvalidArgumentException(sprintf(
-                'The routing file "%s" must not specify both the "resource" key and the "path" key for "%s". Choose between an import and a route definition.',
-                $path, $name
-            ));
-        }
-        if (!isset($config['resource']) && isset($config['type'])) {
-            throw new \InvalidArgumentException(sprintf(
-                'The "type" key for the route definition "%s" in "%s" is unsupported. It is only available for imports in combination with the "resource" key.',
-                $name, $path
-            ));
-        }
-        if (!isset($config['resource']) && !isset($config['path'])) {
-            throw new \InvalidArgumentException(sprintf(
-                'You must define a "path" for the route "%s" in file "%s".',
-                $name, $path
-            ));
-        }
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
deleted file mode 100644
index d40aa42..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://symfony.com/schema/routing"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://symfony.com/schema/routing"
-    elementFormDefault="qualified">
-
-  <xsd:annotation>
-    <xsd:documentation><![CDATA[
-      Symfony XML Routing Schema, version 1.0
-      Authors: Fabien Potencier, Tobias Schultze
-
-      This scheme defines the elements and attributes that can be used to define
-      routes. A route maps an HTTP request to a set of configuration variables.
-    ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:element name="routes" type="routes" />
-
-  <xsd:complexType name="routes">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="import" type="import" />
-      <xsd:element name="route" type="route" />
-    </xsd:choice>
-  </xsd:complexType>
-
-  <xsd:group name="configs">
-    <xsd:choice>
-      <xsd:element name="default" nillable="true" type="element" />
-      <xsd:element name="requirement" type="element" />
-      <xsd:element name="option" type="element" />
-      <xsd:element name="condition" type="xsd:string" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="route">
-    <xsd:group ref="configs" minOccurs="0" maxOccurs="unbounded" />
-
-    <xsd:attribute name="id" type="xsd:string" use="required" />
-    <xsd:attribute name="path" type="xsd:string" />
-    <xsd:attribute name="pattern" type="xsd:string" />
-    <xsd:attribute name="host" type="xsd:string" />
-    <xsd:attribute name="schemes" type="xsd:string" />
-    <xsd:attribute name="methods" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="import">
-    <xsd:group ref="configs" minOccurs="0" maxOccurs="unbounded" />
-
-    <xsd:attribute name="resource" type="xsd:string" use="required" />
-    <xsd:attribute name="type" type="xsd:string" />
-    <xsd:attribute name="prefix" type="xsd:string" />
-    <xsd:attribute name="host" type="xsd:string" />
-    <xsd:attribute name="schemes" type="xsd:string" />
-    <xsd:attribute name="methods" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="element">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="key" type="xsd:string" use="required" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-</xsd:schema>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php
deleted file mode 100644
index 12cd3f0..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher;
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-
-/**
- * ApacheUrlMatcher matches URL based on Apache mod_rewrite matching (see ApacheMatcherDumper).
- *
- * @deprecated Deprecated since version 2.5, to be removed in 3.0.
- *             The performance gains are minimal and it's very hard to replicate
- *             the behavior of PHP implementation.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- */
-class ApacheUrlMatcher extends UrlMatcher
-{
-    /**
-     * Tries to match a URL based on Apache mod_rewrite matching.
-     *
-     * Returns false if no route matches the URL.
-     *
-     * @param string $pathinfo The pathinfo to be parsed
-     *
-     * @return array An array of parameters
-     *
-     * @throws MethodNotAllowedException If the current method is not allowed
-     */
-    public function match($pathinfo)
-    {
-        $parameters = array();
-        $defaults = array();
-        $allow = array();
-        $route = null;
-
-        foreach ($this->denormalizeValues($_SERVER) as $key => $value) {
-            $name = $key;
-
-            // skip non-routing variables
-            // this improves performance when $_SERVER contains many usual
-            // variables like HTTP_*, DOCUMENT_ROOT, REQUEST_URI, ...
-            if (false === strpos($name, '_ROUTING_')) {
-                continue;
-            }
-
-            while (0 === strpos($name, 'REDIRECT_')) {
-                $name = substr($name, 9);
-            }
-
-            // expect _ROUTING_<type>_<name>
-            // or _ROUTING_<type>
-
-            if (0 !== strpos($name, '_ROUTING_')) {
-                continue;
-            }
-            if (false !== $pos = strpos($name, '_', 9)) {
-                $type = substr($name, 9, $pos - 9);
-                $name = substr($name, $pos + 1);
-            } else {
-                $type = substr($name, 9);
-            }
-
-            if ('param' === $type) {
-                if ('' !== $value) {
-                    $parameters[$name] = $value;
-                }
-            } elseif ('default' === $type) {
-                $defaults[$name] = $value;
-            } elseif ('route' === $type) {
-                $route = $value;
-            } elseif ('allow' === $type) {
-                $allow[] = $name;
-            }
-
-            unset($_SERVER[$key]);
-        }
-
-        if (null !== $route) {
-            $parameters['_route'] = $route;
-
-            return $this->mergeDefaults($parameters, $defaults);
-        } elseif (0 < count($allow)) {
-            throw new MethodNotAllowedException($allow);
-        } else {
-            return parent::match($pathinfo);
-        }
-    }
-
-    /**
-     * Denormalizes an array of values.
-     *
-     * @param string[] $values
-     *
-     * @return array
-     */
-    private function denormalizeValues(array $values)
-    {
-        $normalizedValues = array();
-        foreach ($values as $key => $value) {
-            if (preg_match('~^(.*)\[(\d+)\]$~', $key, $matches)) {
-                if (!isset($normalizedValues[$matches[1]])) {
-                    $normalizedValues[$matches[1]] = array();
-                }
-                $normalizedValues[$matches[1]][(int) $matches[2]] = $value;
-            } else {
-                $normalizedValues[$key] = $value;
-            }
-        }
-
-        return $normalizedValues;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
deleted file mode 100644
index 1bd4fac..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
+++ /dev/null
@@ -1,281 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher\Dumper;
-
-use Symfony\Component\Routing\Route;
-
-/**
- * Dumps a set of Apache mod_rewrite rules.
- *
- * @deprecated Deprecated since version 2.5, to be removed in 3.0.
- *             The performance gains are minimal and it's very hard to replicate
- *             the behavior of PHP implementation.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Kris Wallsmith <kris@symfony.com>
- */
-class ApacheMatcherDumper extends MatcherDumper
-{
-    /**
-     * Dumps a set of Apache mod_rewrite rules.
-     *
-     * Available options:
-     *
-     *  * script_name: The script name (app.php by default)
-     *  * base_uri:    The base URI ("" by default)
-     *
-     * @param array $options An array of options
-     *
-     * @return string A string to be used as Apache rewrite rules
-     *
-     * @throws \LogicException When the route regex is invalid
-     */
-    public function dump(array $options = array())
-    {
-        $options = array_merge(array(
-            'script_name' => 'app.php',
-            'base_uri' => '',
-        ), $options);
-
-        $options['script_name'] = self::escape($options['script_name'], ' ', '\\');
-
-        $rules = array("# skip \"real\" requests\nRewriteCond %{REQUEST_FILENAME} -f\nRewriteRule .* - [QSA,L]");
-        $methodVars = array();
-        $hostRegexUnique = 0;
-        $prevHostRegex = '';
-
-        foreach ($this->getRoutes()->all() as $name => $route) {
-            if ($route->getCondition()) {
-                throw new \LogicException(sprintf('Unable to dump the routes for Apache as route "%s" has a condition.', $name));
-            }
-
-            $compiledRoute = $route->compile();
-            $hostRegex = $compiledRoute->getHostRegex();
-
-            if (null !== $hostRegex && $prevHostRegex !== $hostRegex) {
-                $prevHostRegex = $hostRegex;
-                $hostRegexUnique++;
-
-                $rule = array();
-
-                $regex = $this->regexToApacheRegex($hostRegex);
-                $regex = self::escape($regex, ' ', '\\');
-
-                $rule[] = sprintf('RewriteCond %%{HTTP:Host} %s', $regex);
-
-                $variables = array();
-                $variables[] = sprintf('E=__ROUTING_host_%s:1', $hostRegexUnique);
-
-                foreach ($compiledRoute->getHostVariables() as $i => $variable) {
-                    $variables[] = sprintf('E=__ROUTING_host_%s_%s:%%%d', $hostRegexUnique, $variable, $i + 1);
-                }
-
-                $variables = implode(',', $variables);
-
-                $rule[] = sprintf('RewriteRule .? - [%s]', $variables);
-
-                $rules[] = implode("\n", $rule);
-            }
-
-            $rules[] = $this->dumpRoute($name, $route, $options, $hostRegexUnique);
-
-            if ($req = $route->getRequirement('_method')) {
-                $methods = explode('|', strtoupper($req));
-                $methodVars = array_merge($methodVars, $methods);
-            }
-        }
-        if (0 < count($methodVars)) {
-            $rule = array('# 405 Method Not Allowed');
-            $methodVars = array_values(array_unique($methodVars));
-            if (in_array('GET', $methodVars) && !in_array('HEAD', $methodVars)) {
-                $methodVars[] = 'HEAD';
-            }
-            foreach ($methodVars as $i => $methodVar) {
-                $rule[] = sprintf('RewriteCond %%{ENV:_ROUTING__allow_%s} =1%s', $methodVar, isset($methodVars[$i + 1]) ? ' [OR]' : '');
-            }
-            $rule[] = sprintf('RewriteRule .* %s [QSA,L]', $options['script_name']);
-
-            $rules[] = implode("\n", $rule);
-        }
-
-        return implode("\n\n", $rules)."\n";
-    }
-
-    /**
-     * Dumps a single route.
-     *
-     * @param string $name            Route name
-     * @param Route  $route           The route
-     * @param array  $options         Options
-     * @param bool   $hostRegexUnique Unique identifier for the host regex
-     *
-     * @return string The compiled route
-     */
-    private function dumpRoute($name, $route, array $options, $hostRegexUnique)
-    {
-        $compiledRoute = $route->compile();
-
-        // prepare the apache regex
-        $regex = $this->regexToApacheRegex($compiledRoute->getRegex());
-        $regex = '^'.self::escape(preg_quote($options['base_uri']).substr($regex, 1), ' ', '\\');
-
-        $methods = $this->getRouteMethods($route);
-
-        $hasTrailingSlash = (!$methods || in_array('HEAD', $methods)) && '/$' === substr($regex, -2) && '^/$' !== $regex;
-
-        $variables = array('E=_ROUTING_route:'.$name);
-        foreach ($compiledRoute->getHostVariables() as $variable) {
-            $variables[] = sprintf('E=_ROUTING_param_%s:%%{ENV:__ROUTING_host_%s_%s}', $variable, $hostRegexUnique, $variable);
-        }
-        foreach ($compiledRoute->getPathVariables() as $i => $variable) {
-            $variables[] = 'E=_ROUTING_param_'.$variable.':%'.($i + 1);
-        }
-        foreach ($this->normalizeValues($route->getDefaults()) as $key => $value) {
-            $variables[] = 'E=_ROUTING_default_'.$key.':'.strtr($value, array(
-                ':' => '\\:',
-                '=' => '\\=',
-                '\\' => '\\\\',
-                ' ' => '\\ ',
-            ));
-        }
-        $variables = implode(',', $variables);
-
-        $rule = array("# $name");
-
-        // method mismatch
-        if (0 < count($methods)) {
-            $allow = array();
-            foreach ($methods as $method) {
-                $allow[] = 'E=_ROUTING_allow_'.$method.':1';
-            }
-
-            if ($compiledRoute->getHostRegex()) {
-                $rule[] = sprintf('RewriteCond %%{ENV:__ROUTING_host_%s} =1', $hostRegexUnique);
-            }
-
-            $rule[] = "RewriteCond %{REQUEST_URI} $regex";
-            $rule[] = sprintf('RewriteCond %%{REQUEST_METHOD} !^(%s)$ [NC]', implode('|', $methods));
-            $rule[] = sprintf('RewriteRule .* - [S=%d,%s]', $hasTrailingSlash ? 2 : 1, implode(',', $allow));
-        }
-
-        // redirect with trailing slash appended
-        if ($hasTrailingSlash) {
-            if ($compiledRoute->getHostRegex()) {
-                $rule[] = sprintf('RewriteCond %%{ENV:__ROUTING_host_%s} =1', $hostRegexUnique);
-            }
-
-            $rule[] = 'RewriteCond %{REQUEST_URI} '.substr($regex, 0, -2).'$';
-            $rule[] = 'RewriteRule .* $0/ [QSA,L,R=301]';
-        }
-
-        // the main rule
-
-        if ($compiledRoute->getHostRegex()) {
-            $rule[] = sprintf('RewriteCond %%{ENV:__ROUTING_host_%s} =1', $hostRegexUnique);
-        }
-
-        $rule[] = "RewriteCond %{REQUEST_URI} $regex";
-        $rule[] = "RewriteRule .* {$options['script_name']} [QSA,L,$variables]";
-
-        return implode("\n", $rule);
-    }
-
-    /**
-     * Returns methods allowed for a route.
-     *
-     * @param Route $route The route
-     *
-     * @return array The methods
-     */
-    private function getRouteMethods(Route $route)
-    {
-        $methods = array();
-        if ($req = $route->getRequirement('_method')) {
-            $methods = explode('|', strtoupper($req));
-            // GET and HEAD are equivalent
-            if (in_array('GET', $methods) && !in_array('HEAD', $methods)) {
-                $methods[] = 'HEAD';
-            }
-        }
-
-        return $methods;
-    }
-
-    /**
-     * Converts a regex to make it suitable for mod_rewrite.
-     *
-     * @param string $regex The regex
-     *
-     * @return string The converted regex
-     */
-    private function regexToApacheRegex($regex)
-    {
-        $regexPatternEnd = strrpos($regex, $regex[0]);
-
-        return preg_replace('/\?P<.+?>/', '', substr($regex, 1, $regexPatternEnd - 1));
-    }
-
-    /**
-     * Escapes a string.
-     *
-     * @param string $string The string to be escaped
-     * @param string $char   The character to be escaped
-     * @param string $with   The character to be used for escaping
-     *
-     * @return string The escaped string
-     */
-    private static function escape($string, $char, $with)
-    {
-        $escaped = false;
-        $output = '';
-        foreach (str_split($string) as $symbol) {
-            if ($escaped) {
-                $output .= $symbol;
-                $escaped = false;
-                continue;
-            }
-            if ($symbol === $char) {
-                $output .= $with.$char;
-                continue;
-            }
-            if ($symbol === $with) {
-                $escaped = true;
-            }
-            $output .= $symbol;
-        }
-
-        return $output;
-    }
-
-    /**
-     * Normalizes an array of values.
-     *
-     * @param array $values
-     *
-     * @return string[]
-     */
-    private function normalizeValues(array $values)
-    {
-        $normalizedValues = array();
-        foreach ($values as $key => $value) {
-            if (is_array($value)) {
-                foreach ($value as $index => $bit) {
-                    $normalizedValues[sprintf('%s[%s]', $key, $index)] = $bit;
-                }
-            } else {
-                $normalizedValues[$key] = (string) $value;
-            }
-        }
-
-        return $normalizedValues;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php
deleted file mode 100644
index ce3a6aa..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher\Dumper;
-
-/**
- * Collection of routes.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- */
-class DumperCollection implements \IteratorAggregate
-{
-    /**
-     * @var DumperCollection|null
-     */
-    private $parent;
-
-    /**
-     * @var (DumperCollection|DumperRoute)[]
-     */
-    private $children = array();
-
-    /**
-     * @var array
-     */
-    private $attributes = array();
-
-    /**
-     * Returns the children routes and collections.
-     *
-     * @return (DumperCollection|DumperRoute)[] Array of DumperCollection|DumperRoute
-     */
-    public function all()
-    {
-        return $this->children;
-    }
-
-    /**
-     * Adds a route or collection.
-     *
-     * @param DumperRoute|DumperCollection The route or collection
-     */
-    public function add($child)
-    {
-        if ($child instanceof DumperCollection) {
-            $child->setParent($this);
-        }
-        $this->children[] = $child;
-    }
-
-    /**
-     * Sets children.
-     *
-     * @param array $children The children
-     */
-    public function setAll(array $children)
-    {
-        foreach ($children as $child) {
-            if ($child instanceof DumperCollection) {
-                $child->setParent($this);
-            }
-        }
-        $this->children = $children;
-    }
-
-    /**
-     * Returns an iterator over the children.
-     *
-     * @return \Iterator The iterator
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->children);
-    }
-
-    /**
-     * Returns the root of the collection.
-     *
-     * @return DumperCollection The root collection
-     */
-    public function getRoot()
-    {
-        return (null !== $this->parent) ? $this->parent->getRoot() : $this;
-    }
-
-    /**
-     * Returns the parent collection.
-     *
-     * @return DumperCollection|null The parent collection or null if the collection has no parent
-     */
-    protected function getParent()
-    {
-        return $this->parent;
-    }
-
-    /**
-     * Sets the parent collection.
-     *
-     * @param DumperCollection $parent The parent collection
-     */
-    protected function setParent(DumperCollection $parent)
-    {
-        $this->parent = $parent;
-    }
-
-    /**
-     * Returns true if the attribute is defined.
-     *
-     * @param string $name The attribute name
-     *
-     * @return bool true if the attribute is defined, false otherwise
-     */
-    public function hasAttribute($name)
-    {
-        return array_key_exists($name, $this->attributes);
-    }
-
-    /**
-     * Returns an attribute by name.
-     *
-     * @param string $name    The attribute name
-     * @param mixed  $default Default value is the attribute doesn't exist
-     *
-     * @return mixed The attribute value
-     */
-    public function getAttribute($name, $default = null)
-    {
-        return $this->hasAttribute($name) ? $this->attributes[$name] : $default;
-    }
-
-    /**
-     * Sets an attribute by name.
-     *
-     * @param string $name  The attribute name
-     * @param mixed  $value The attribute value
-     */
-    public function setAttribute($name, $value)
-    {
-        $this->attributes[$name] = $value;
-    }
-
-    /**
-     * Sets multiple attributes.
-     *
-     * @param array $attributes The attributes
-     */
-    public function setAttributes($attributes)
-    {
-        $this->attributes = $attributes;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php
deleted file mode 100644
index c943773..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher\Dumper;
-
-/**
- * Prefix tree of routes preserving routes order.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- */
-class DumperPrefixCollection extends DumperCollection
-{
-    /**
-     * @var string
-     */
-    private $prefix = '';
-
-    /**
-     * Returns the prefix.
-     *
-     * @return string The prefix
-     */
-    public function getPrefix()
-    {
-        return $this->prefix;
-    }
-
-    /**
-     * Sets the prefix.
-     *
-     * @param string $prefix The prefix
-     */
-    public function setPrefix($prefix)
-    {
-        $this->prefix = $prefix;
-    }
-
-    /**
-     * Adds a route in the tree.
-     *
-     * @param DumperRoute $route The route
-     *
-     * @return DumperPrefixCollection The node the route was added to
-     *
-     * @throws \LogicException
-     */
-    public function addPrefixRoute(DumperRoute $route)
-    {
-        $prefix = $route->getRoute()->compile()->getStaticPrefix();
-
-        for ($collection = $this; null !== $collection; $collection = $collection->getParent()) {
-            // Same prefix, add to current leave
-            if ($collection->prefix === $prefix) {
-                $collection->add($route);
-
-                return $collection;
-            }
-
-            // Prefix starts with route's prefix
-            if ('' === $collection->prefix || 0 === strpos($prefix, $collection->prefix)) {
-                $child = new DumperPrefixCollection();
-                $child->setPrefix(substr($prefix, 0, strlen($collection->prefix) + 1));
-                $collection->add($child);
-
-                return $child->addPrefixRoute($route);
-            }
-        }
-
-        // Reached only if the root has a non empty prefix
-        throw new \LogicException('The collection root must not have a prefix');
-    }
-
-    /**
-     * Merges nodes whose prefix ends with a slash.
-     *
-     * Children of a node whose prefix ends with a slash are moved to the parent node
-     */
-    public function mergeSlashNodes()
-    {
-        $children = array();
-
-        foreach ($this as $child) {
-            if ($child instanceof self) {
-                $child->mergeSlashNodes();
-                if ('/' === substr($child->prefix, -1)) {
-                    $children = array_merge($children, $child->all());
-                } else {
-                    $children[] = $child;
-                }
-            } else {
-                $children[] = $child;
-            }
-        }
-
-        $this->setAll($children);
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php
deleted file mode 100644
index 2928cdc..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher\Dumper;
-
-use Symfony\Component\Routing\Route;
-
-/**
- * Container for a Route.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- */
-class DumperRoute
-{
-    /**
-     * @var string
-     */
-    private $name;
-
-    /**
-     * @var Route
-     */
-    private $route;
-
-    /**
-     * Constructor.
-     *
-     * @param string $name  The route name
-     * @param Route  $route The route
-     */
-    public function __construct($name, Route $route)
-    {
-        $this->name = $name;
-        $this->route = $route;
-    }
-
-    /**
-     * Returns the route name.
-     *
-     * @return string The route name
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Returns the route.
-     *
-     * @return Route The route
-     */
-    public function getRoute()
-    {
-        return $this->route;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php
deleted file mode 100644
index 52edc01..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher\Dumper;
-
-use Symfony\Component\Routing\RouteCollection;
-
-/**
- * MatcherDumper is the abstract class for all built-in matcher dumpers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class MatcherDumper implements MatcherDumperInterface
-{
-    /**
-     * @var RouteCollection
-     */
-    private $routes;
-
-    /**
-     * Constructor.
-     *
-     * @param RouteCollection $routes The RouteCollection to dump
-     */
-    public function __construct(RouteCollection $routes)
-    {
-        $this->routes = $routes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRoutes()
-    {
-        return $this->routes;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumperInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumperInterface.php
deleted file mode 100644
index 5e7c134..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumperInterface.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher\Dumper;
-
-use Symfony\Component\Routing\RouteCollection;
-
-/**
- * MatcherDumperInterface is the interface that all matcher dumper classes must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface MatcherDumperInterface
-{
-    /**
-     * Dumps a set of routes to a string representation of executable code
-     * that can then be used to match a request against these routes.
-     *
-     * @param array $options An array of options
-     *
-     * @return string Executable code
-     */
-    public function dump(array $options = array());
-
-    /**
-     * Gets the routes to dump.
-     *
-     * @return RouteCollection A RouteCollection instance
-     */
-    public function getRoutes();
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
deleted file mode 100644
index cefc3c9..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
+++ /dev/null
@@ -1,412 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher\Dumper;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
-use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
-
-/**
- * PhpMatcherDumper creates a PHP class able to match URLs for a given set of routes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- */
-class PhpMatcherDumper extends MatcherDumper
-{
-    private $expressionLanguage;
-
-    /**
-     * @var ExpressionFunctionProviderInterface[]
-     */
-    private $expressionLanguageProviders = array();
-
-    /**
-     * Dumps a set of routes to a PHP class.
-     *
-     * Available options:
-     *
-     *  * class:      The class name
-     *  * base_class: The base class name
-     *
-     * @param array $options An array of options
-     *
-     * @return string A PHP class representing the matcher class
-     */
-    public function dump(array $options = array())
-    {
-        $options = array_replace(array(
-            'class' => 'ProjectUrlMatcher',
-            'base_class' => 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher',
-        ), $options);
-
-        // trailing slash support is only enabled if we know how to redirect the user
-        $interfaces = class_implements($options['base_class']);
-        $supportsRedirections = isset($interfaces['Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcherInterface']);
-
-        return <<<EOF
-<?php
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RequestContext;
-
-/**
- * {$options['class']}.
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class {$options['class']} extends {$options['base_class']}
-{
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext \$context)
-    {
-        \$this->context = \$context;
-    }
-
-{$this->generateMatchMethod($supportsRedirections)}
-}
-
-EOF;
-    }
-
-    public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
-    {
-        $this->expressionLanguageProviders[] = $provider;
-    }
-
-    /**
-     * Generates the code for the match method implementing UrlMatcherInterface.
-     *
-     * @param bool $supportsRedirections Whether redirections are supported by the base class
-     *
-     * @return string Match method as PHP code
-     */
-    private function generateMatchMethod($supportsRedirections)
-    {
-        $code = rtrim($this->compileRoutes($this->getRoutes(), $supportsRedirections), "\n");
-
-        return <<<EOF
-    public function match(\$pathinfo)
-    {
-        \$allow = array();
-        \$pathinfo = rawurldecode(\$pathinfo);
-        \$context = \$this->context;
-        \$request = \$this->request;
-
-$code
-
-        throw 0 < count(\$allow) ? new MethodNotAllowedException(array_unique(\$allow)) : new ResourceNotFoundException();
-    }
-EOF;
-    }
-
-    /**
-     * Generates PHP code to match a RouteCollection with all its routes.
-     *
-     * @param RouteCollection $routes               A RouteCollection instance
-     * @param bool            $supportsRedirections Whether redirections are supported by the base class
-     *
-     * @return string PHP code
-     */
-    private function compileRoutes(RouteCollection $routes, $supportsRedirections)
-    {
-        $fetchedHost = false;
-
-        $groups = $this->groupRoutesByHostRegex($routes);
-        $code = '';
-
-        foreach ($groups as $collection) {
-            if (null !== $regex = $collection->getAttribute('host_regex')) {
-                if (!$fetchedHost) {
-                    $code .= "        \$host = \$this->context->getHost();\n\n";
-                    $fetchedHost = true;
-                }
-
-                $code .= sprintf("        if (preg_match(%s, \$host, \$hostMatches)) {\n", var_export($regex, true));
-            }
-
-            $tree = $this->buildPrefixTree($collection);
-            $groupCode = $this->compilePrefixRoutes($tree, $supportsRedirections);
-
-            if (null !== $regex) {
-                // apply extra indention at each line (except empty ones)
-                $groupCode = preg_replace('/^.{2,}$/m', '    $0', $groupCode);
-                $code .= $groupCode;
-                $code .= "        }\n\n";
-            } else {
-                $code .= $groupCode;
-            }
-        }
-
-        return $code;
-    }
-
-    /**
-     * Generates PHP code recursively to match a tree of routes.
-     *
-     * @param DumperPrefixCollection $collection           A DumperPrefixCollection instance
-     * @param bool                   $supportsRedirections Whether redirections are supported by the base class
-     * @param string                 $parentPrefix         Prefix of the parent collection
-     *
-     * @return string PHP code
-     */
-    private function compilePrefixRoutes(DumperPrefixCollection $collection, $supportsRedirections, $parentPrefix = '')
-    {
-        $code = '';
-        $prefix = $collection->getPrefix();
-        $optimizable = 1 < strlen($prefix) && 1 < count($collection->all());
-        $optimizedPrefix = $parentPrefix;
-
-        if ($optimizable) {
-            $optimizedPrefix = $prefix;
-
-            $code .= sprintf("    if (0 === strpos(\$pathinfo, %s)) {\n", var_export($prefix, true));
-        }
-
-        foreach ($collection as $route) {
-            if ($route instanceof DumperCollection) {
-                $code .= $this->compilePrefixRoutes($route, $supportsRedirections, $optimizedPrefix);
-            } else {
-                $code .= $this->compileRoute($route->getRoute(), $route->getName(), $supportsRedirections, $optimizedPrefix)."\n";
-            }
-        }
-
-        if ($optimizable) {
-            $code .= "    }\n\n";
-            // apply extra indention at each line (except empty ones)
-            $code = preg_replace('/^.{2,}$/m', '    $0', $code);
-        }
-
-        return $code;
-    }
-
-    /**
-     * Compiles a single Route to PHP code used to match it against the path info.
-     *
-     * @param Route       $route                A Route instance
-     * @param string      $name                 The name of the Route
-     * @param bool        $supportsRedirections Whether redirections are supported by the base class
-     * @param string|null $parentPrefix         The prefix of the parent collection used to optimize the code
-     *
-     * @return string PHP code
-     *
-     * @throws \LogicException
-     */
-    private function compileRoute(Route $route, $name, $supportsRedirections, $parentPrefix = null)
-    {
-        $code = '';
-        $compiledRoute = $route->compile();
-        $conditions = array();
-        $hasTrailingSlash = false;
-        $matches = false;
-        $hostMatches = false;
-        $methods = array();
-
-        if ($req = $route->getRequirement('_method')) {
-            $methods = explode('|', strtoupper($req));
-            // GET and HEAD are equivalent
-            if (in_array('GET', $methods) && !in_array('HEAD', $methods)) {
-                $methods[] = 'HEAD';
-            }
-        }
-
-        $supportsTrailingSlash = $supportsRedirections && (!$methods || in_array('HEAD', $methods));
-
-        if (!count($compiledRoute->getPathVariables()) && false !== preg_match('#^(.)\^(?P<url>.*?)\$\1#', $compiledRoute->getRegex(), $m)) {
-            if ($supportsTrailingSlash && substr($m['url'], -1) === '/') {
-                $conditions[] = sprintf("rtrim(\$pathinfo, '/') === %s", var_export(rtrim(str_replace('\\', '', $m['url']), '/'), true));
-                $hasTrailingSlash = true;
-            } else {
-                $conditions[] = sprintf("\$pathinfo === %s", var_export(str_replace('\\', '', $m['url']), true));
-            }
-        } else {
-            if ($compiledRoute->getStaticPrefix() && $compiledRoute->getStaticPrefix() !== $parentPrefix) {
-                $conditions[] = sprintf("0 === strpos(\$pathinfo, %s)", var_export($compiledRoute->getStaticPrefix(), true));
-            }
-
-            $regex = $compiledRoute->getRegex();
-            if ($supportsTrailingSlash && $pos = strpos($regex, '/$')) {
-                $regex = substr($regex, 0, $pos).'/?$'.substr($regex, $pos + 2);
-                $hasTrailingSlash = true;
-            }
-            $conditions[] = sprintf("preg_match(%s, \$pathinfo, \$matches)", var_export($regex, true));
-
-            $matches = true;
-        }
-
-        if ($compiledRoute->getHostVariables()) {
-            $hostMatches = true;
-        }
-
-        if ($route->getCondition()) {
-            $conditions[] = $this->getExpressionLanguage()->compile($route->getCondition(), array('context', 'request'));
-        }
-
-        $conditions = implode(' && ', $conditions);
-
-        $code .= <<<EOF
-        // $name
-        if ($conditions) {
-
-EOF;
-
-        $gotoname = 'not_'.preg_replace('/[^A-Za-z0-9_]/', '', $name);
-        if ($methods) {
-            if (1 === count($methods)) {
-                $code .= <<<EOF
-            if (\$this->context->getMethod() != '$methods[0]') {
-                \$allow[] = '$methods[0]';
-                goto $gotoname;
-            }
-
-
-EOF;
-            } else {
-                $methods = implode("', '", $methods);
-                $code .= <<<EOF
-            if (!in_array(\$this->context->getMethod(), array('$methods'))) {
-                \$allow = array_merge(\$allow, array('$methods'));
-                goto $gotoname;
-            }
-
-
-EOF;
-            }
-        }
-
-        if ($hasTrailingSlash) {
-            $code .= <<<EOF
-            if (substr(\$pathinfo, -1) !== '/') {
-                return \$this->redirect(\$pathinfo.'/', '$name');
-            }
-
-
-EOF;
-        }
-
-        if ($schemes = $route->getSchemes()) {
-            if (!$supportsRedirections) {
-                throw new \LogicException('The "schemes" requirement is only supported for URL matchers that implement RedirectableUrlMatcherInterface.');
-            }
-            $schemes = str_replace("\n", '', var_export(array_flip($schemes), true));
-            $code .= <<<EOF
-            \$requiredSchemes = $schemes;
-            if (!isset(\$requiredSchemes[\$this->context->getScheme()])) {
-                return \$this->redirect(\$pathinfo, '$name', key(\$requiredSchemes));
-            }
-
-
-EOF;
-        }
-
-        // optimize parameters array
-        if ($matches || $hostMatches) {
-            $vars = array();
-            if ($hostMatches) {
-                $vars[] = '$hostMatches';
-            }
-            if ($matches) {
-                $vars[] = '$matches';
-            }
-            $vars[] = "array('_route' => '$name')";
-
-            $code .= sprintf(
-                "            return \$this->mergeDefaults(array_replace(%s), %s);\n",
-                implode(', ', $vars),
-                str_replace("\n", '', var_export($route->getDefaults(), true))
-            );
-        } elseif ($route->getDefaults()) {
-            $code .= sprintf("            return %s;\n", str_replace("\n", '', var_export(array_replace($route->getDefaults(), array('_route' => $name)), true)));
-        } else {
-            $code .= sprintf("            return array('_route' => '%s');\n", $name);
-        }
-        $code .= "        }\n";
-
-        if ($methods) {
-            $code .= "        $gotoname:\n";
-        }
-
-        return $code;
-    }
-
-    /**
-     * Groups consecutive routes having the same host regex.
-     *
-     * The result is a collection of collections of routes having the same host regex.
-     *
-     * @param RouteCollection $routes A flat RouteCollection
-     *
-     * @return DumperCollection A collection with routes grouped by host regex in sub-collections
-     */
-    private function groupRoutesByHostRegex(RouteCollection $routes)
-    {
-        $groups = new DumperCollection();
-
-        $currentGroup = new DumperCollection();
-        $currentGroup->setAttribute('host_regex', null);
-        $groups->add($currentGroup);
-
-        foreach ($routes as $name => $route) {
-            $hostRegex = $route->compile()->getHostRegex();
-            if ($currentGroup->getAttribute('host_regex') !== $hostRegex) {
-                $currentGroup = new DumperCollection();
-                $currentGroup->setAttribute('host_regex', $hostRegex);
-                $groups->add($currentGroup);
-            }
-            $currentGroup->add(new DumperRoute($name, $route));
-        }
-
-        return $groups;
-    }
-
-    /**
-     * Organizes the routes into a prefix tree.
-     *
-     * Routes order is preserved such that traversing the tree will traverse the
-     * routes in the origin order.
-     *
-     * @param DumperCollection $collection A collection of routes
-     *
-     * @return DumperPrefixCollection
-     */
-    private function buildPrefixTree(DumperCollection $collection)
-    {
-        $tree = new DumperPrefixCollection();
-        $current = $tree;
-
-        foreach ($collection as $route) {
-            $current = $current->addPrefixRoute($route);
-        }
-
-        $tree->mergeSlashNodes();
-
-        return $tree;
-    }
-
-    private function getExpressionLanguage()
-    {
-        if (null === $this->expressionLanguage) {
-            if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) {
-                throw new \RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.');
-            }
-            $this->expressionLanguage = new ExpressionLanguage(null, $this->expressionLanguageProviders);
-        }
-
-        return $this->expressionLanguage;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcher.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcher.php
deleted file mode 100644
index 236f55a..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcher.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher;
-
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\Route;
-
-/**
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-abstract class RedirectableUrlMatcher extends UrlMatcher implements RedirectableUrlMatcherInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function match($pathinfo)
-    {
-        try {
-            $parameters = parent::match($pathinfo);
-        } catch (ResourceNotFoundException $e) {
-            if ('/' === substr($pathinfo, -1) || !in_array($this->context->getMethod(), array('HEAD', 'GET'))) {
-                throw $e;
-            }
-
-            try {
-                parent::match($pathinfo.'/');
-
-                return $this->redirect($pathinfo.'/', null);
-            } catch (ResourceNotFoundException $e2) {
-                throw $e;
-            }
-        }
-
-        return $parameters;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function handleRouteRequirements($pathinfo, $name, Route $route)
-    {
-        // expression condition
-        if ($route->getCondition() && !$this->getExpressionLanguage()->evaluate($route->getCondition(), array('context' => $this->context, 'request' => $this->request))) {
-            return array(self::REQUIREMENT_MISMATCH, null);
-        }
-
-        // check HTTP scheme requirement
-        $scheme = $this->context->getScheme();
-        $schemes = $route->getSchemes();
-        if ($schemes && !$route->hasScheme($scheme)) {
-            return array(self::ROUTE_MATCH, $this->redirect($pathinfo, $name, current($schemes)));
-        }
-
-        return array(self::REQUIREMENT_MATCH, null);
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php
deleted file mode 100644
index ea91e07..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher;
-
-/**
- * RedirectableUrlMatcherInterface knows how to redirect the user.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface RedirectableUrlMatcherInterface
-{
-    /**
-     * Redirects the user to another URL.
-     *
-     * @param string      $path   The path info to redirect to.
-     * @param string      $route  The route name that matched
-     * @param string|null $scheme The URL scheme (null to keep the current one)
-     *
-     * @return array An array of parameters
-     *
-     * @api
-     */
-    public function redirect($path, $route, $scheme = null);
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RequestMatcherInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RequestMatcherInterface.php
deleted file mode 100644
index b5def3d..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RequestMatcherInterface.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-
-/**
- * RequestMatcherInterface is the interface that all request matcher classes must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface RequestMatcherInterface
-{
-    /**
-     * Tries to match a request with a set of routes.
-     *
-     * If the matcher can not find information, it must throw one of the exceptions documented
-     * below.
-     *
-     * @param Request $request The request to match
-     *
-     * @return array An array of parameters
-     *
-     * @throws ResourceNotFoundException If no matching resource could be found
-     * @throws MethodNotAllowedException If a matching resource was found but the request method is not allowed
-     */
-    public function matchRequest(Request $request);
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php
deleted file mode 100644
index 35296c6..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher;
-
-use Symfony\Component\Routing\Exception\ExceptionInterface;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-
-/**
- * TraceableUrlMatcher helps debug path info matching by tracing the match.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class TraceableUrlMatcher extends UrlMatcher
-{
-    const ROUTE_DOES_NOT_MATCH = 0;
-    const ROUTE_ALMOST_MATCHES = 1;
-    const ROUTE_MATCHES = 2;
-
-    protected $traces;
-
-    public function getTraces($pathinfo)
-    {
-        $this->traces = array();
-
-        try {
-            $this->match($pathinfo);
-        } catch (ExceptionInterface $e) {
-        }
-
-        return $this->traces;
-    }
-
-    protected function matchCollection($pathinfo, RouteCollection $routes)
-    {
-        foreach ($routes as $name => $route) {
-            $compiledRoute = $route->compile();
-
-            if (!preg_match($compiledRoute->getRegex(), $pathinfo, $matches)) {
-                // does it match without any requirements?
-                $r = new Route($route->getPath(), $route->getDefaults(), array(), $route->getOptions());
-                $cr = $r->compile();
-                if (!preg_match($cr->getRegex(), $pathinfo)) {
-                    $this->addTrace(sprintf('Path "%s" does not match', $route->getPath()), self::ROUTE_DOES_NOT_MATCH, $name, $route);
-
-                    continue;
-                }
-
-                foreach ($route->getRequirements() as $n => $regex) {
-                    $r = new Route($route->getPath(), $route->getDefaults(), array($n => $regex), $route->getOptions());
-                    $cr = $r->compile();
-
-                    if (in_array($n, $cr->getVariables()) && !preg_match($cr->getRegex(), $pathinfo)) {
-                        $this->addTrace(sprintf('Requirement for "%s" does not match (%s)', $n, $regex), self::ROUTE_ALMOST_MATCHES, $name, $route);
-
-                        continue 2;
-                    }
-                }
-
-                continue;
-            }
-
-            // check host requirement
-            $hostMatches = array();
-            if ($compiledRoute->getHostRegex() && !preg_match($compiledRoute->getHostRegex(), $this->context->getHost(), $hostMatches)) {
-                $this->addTrace(sprintf('Host "%s" does not match the requirement ("%s")', $this->context->getHost(), $route->getHost()), self::ROUTE_ALMOST_MATCHES, $name, $route);
-
-                continue;
-            }
-
-            // check HTTP method requirement
-            if ($req = $route->getRequirement('_method')) {
-                // HEAD and GET are equivalent as per RFC
-                if ('HEAD' === $method = $this->context->getMethod()) {
-                    $method = 'GET';
-                }
-
-                if (!in_array($method, $req = explode('|', strtoupper($req)))) {
-                    $this->allow = array_merge($this->allow, $req);
-
-                    $this->addTrace(sprintf('Method "%s" does not match the requirement ("%s")', $this->context->getMethod(), implode(', ', $req)), self::ROUTE_ALMOST_MATCHES, $name, $route);
-
-                    continue;
-                }
-            }
-
-            // check condition
-            if ($condition = $route->getCondition()) {
-                if (!$this->getExpressionLanguage()->evaluate($condition, array('context' => $this->context, 'request' => $this->request))) {
-                    $this->addTrace(sprintf('Condition "%s" does not evaluate to "true"', $condition), self::ROUTE_ALMOST_MATCHES, $name, $route);
-
-                    continue;
-                }
-            }
-
-            // check HTTP scheme requirement
-            if ($requiredSchemes = $route->getSchemes()) {
-                $scheme = $this->context->getScheme();
-
-                if (!$route->hasScheme($scheme)) {
-                    $this->addTrace(sprintf('Scheme "%s" does not match any of the required schemes ("%s"); the user will be redirected to first required scheme', $scheme, implode(', ', $requiredSchemes)), self::ROUTE_ALMOST_MATCHES, $name, $route);
-
-                    return true;
-                }
-            }
-
-            $this->addTrace('Route matches!', self::ROUTE_MATCHES, $name, $route);
-
-            return true;
-        }
-    }
-
-    private function addTrace($log, $level = self::ROUTE_DOES_NOT_MATCH, $name = null, $route = null)
-    {
-        $this->traces[] = array(
-            'log' => $log,
-            'name' => $name,
-            'level' => $level,
-            'path' => null !== $route ? $route->getPath() : null,
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php
deleted file mode 100644
index 3ed5ac7..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php
+++ /dev/null
@@ -1,255 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher;
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
-use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
-
-/**
- * UrlMatcher matches URL based on a set of routes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface
-{
-    const REQUIREMENT_MATCH = 0;
-    const REQUIREMENT_MISMATCH = 1;
-    const ROUTE_MATCH = 2;
-
-    /**
-     * @var RequestContext
-     */
-    protected $context;
-
-    /**
-     * @var array
-     */
-    protected $allow = array();
-
-    /**
-     * @var RouteCollection
-     */
-    protected $routes;
-
-    protected $request;
-    protected $expressionLanguage;
-
-    /**
-     * @var ExpressionFunctionProviderInterface[]
-     */
-    protected $expressionLanguageProviders = array();
-
-    /**
-     * Constructor.
-     *
-     * @param RouteCollection $routes  A RouteCollection instance
-     * @param RequestContext  $context The context
-     *
-     * @api
-     */
-    public function __construct(RouteCollection $routes, RequestContext $context)
-    {
-        $this->routes = $routes;
-        $this->context = $context;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContext(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContext()
-    {
-        return $this->context;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function match($pathinfo)
-    {
-        $this->allow = array();
-
-        if ($ret = $this->matchCollection(rawurldecode($pathinfo), $this->routes)) {
-            return $ret;
-        }
-
-        throw 0 < count($this->allow)
-            ? new MethodNotAllowedException(array_unique(array_map('strtoupper', $this->allow)))
-            : new ResourceNotFoundException(sprintf('No routes found for "%s".', $pathinfo));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function matchRequest(Request $request)
-    {
-        $this->request = $request;
-
-        $ret = $this->match($request->getPathInfo());
-
-        $this->request = null;
-
-        return $ret;
-    }
-
-    public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
-    {
-        $this->expressionLanguageProviders[] = $provider;
-    }
-
-    /**
-     * Tries to match a URL with a set of routes.
-     *
-     * @param string          $pathinfo The path info to be parsed
-     * @param RouteCollection $routes   The set of routes
-     *
-     * @return array An array of parameters
-     *
-     * @throws ResourceNotFoundException If the resource could not be found
-     * @throws MethodNotAllowedException If the resource was found but the request method is not allowed
-     */
-    protected function matchCollection($pathinfo, RouteCollection $routes)
-    {
-        foreach ($routes as $name => $route) {
-            $compiledRoute = $route->compile();
-
-            // check the static prefix of the URL first. Only use the more expensive preg_match when it matches
-            if ('' !== $compiledRoute->getStaticPrefix() && 0 !== strpos($pathinfo, $compiledRoute->getStaticPrefix())) {
-                continue;
-            }
-
-            if (!preg_match($compiledRoute->getRegex(), $pathinfo, $matches)) {
-                continue;
-            }
-
-            $hostMatches = array();
-            if ($compiledRoute->getHostRegex() && !preg_match($compiledRoute->getHostRegex(), $this->context->getHost(), $hostMatches)) {
-                continue;
-            }
-
-            // check HTTP method requirement
-            if ($req = $route->getRequirement('_method')) {
-                // HEAD and GET are equivalent as per RFC
-                if ('HEAD' === $method = $this->context->getMethod()) {
-                    $method = 'GET';
-                }
-
-                if (!in_array($method, $req = explode('|', strtoupper($req)))) {
-                    $this->allow = array_merge($this->allow, $req);
-
-                    continue;
-                }
-            }
-
-            $status = $this->handleRouteRequirements($pathinfo, $name, $route);
-
-            if (self::ROUTE_MATCH === $status[0]) {
-                return $status[1];
-            }
-
-            if (self::REQUIREMENT_MISMATCH === $status[0]) {
-                continue;
-            }
-
-            return $this->getAttributes($route, $name, array_replace($matches, $hostMatches));
-        }
-    }
-
-    /**
-     * Returns an array of values to use as request attributes.
-     *
-     * As this method requires the Route object, it is not available
-     * in matchers that do not have access to the matched Route instance
-     * (like the PHP and Apache matcher dumpers).
-     *
-     * @param Route  $route      The route we are matching against
-     * @param string $name       The name of the route
-     * @param array  $attributes An array of attributes from the matcher
-     *
-     * @return array An array of parameters
-     */
-    protected function getAttributes(Route $route, $name, array $attributes)
-    {
-        $attributes['_route'] = $name;
-
-        return $this->mergeDefaults($attributes, $route->getDefaults());
-    }
-
-    /**
-     * Handles specific route requirements.
-     *
-     * @param string $pathinfo The path
-     * @param string $name     The route name
-     * @param Route  $route    The route
-     *
-     * @return array The first element represents the status, the second contains additional information
-     */
-    protected function handleRouteRequirements($pathinfo, $name, Route $route)
-    {
-        // expression condition
-        if ($route->getCondition() && !$this->getExpressionLanguage()->evaluate($route->getCondition(), array('context' => $this->context, 'request' => $this->request))) {
-            return array(self::REQUIREMENT_MISMATCH, null);
-        }
-
-        // check HTTP scheme requirement
-        $scheme = $this->context->getScheme();
-        $status = $route->getSchemes() && !$route->hasScheme($scheme) ? self::REQUIREMENT_MISMATCH : self::REQUIREMENT_MATCH;
-
-        return array($status, null);
-    }
-
-    /**
-     * Get merged default parameters.
-     *
-     * @param array $params   The parameters
-     * @param array $defaults The defaults
-     *
-     * @return array Merged default parameters
-     */
-    protected function mergeDefaults($params, $defaults)
-    {
-        foreach ($params as $key => $value) {
-            if (!is_int($key)) {
-                $defaults[$key] = $value;
-            }
-        }
-
-        return $defaults;
-    }
-
-    protected function getExpressionLanguage()
-    {
-        if (null === $this->expressionLanguage) {
-            if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) {
-                throw new \RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.');
-            }
-            $this->expressionLanguage = new ExpressionLanguage(null, $this->expressionLanguageProviders);
-        }
-
-        return $this->expressionLanguage;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcherInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcherInterface.php
deleted file mode 100644
index dd718b1..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcherInterface.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Matcher;
-
-use Symfony\Component\Routing\RequestContextAwareInterface;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-
-/**
- * UrlMatcherInterface is the interface that all URL matcher classes must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface UrlMatcherInterface extends RequestContextAwareInterface
-{
-    /**
-     * Tries to match a URL path with a set of routes.
-     *
-     * If the matcher can not find information, it must throw one of the exceptions documented
-     * below.
-     *
-     * @param string $pathinfo The path info to be parsed (raw format, i.e. not urldecoded)
-     *
-     * @return array An array of parameters
-     *
-     * @throws ResourceNotFoundException If the resource could not be found
-     * @throws MethodNotAllowedException If the resource was found but the request method is not allowed
-     *
-     * @api
-     */
-    public function match($pathinfo);
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/README.md b/core/vendor/symfony/routing/Symfony/Component/Routing/README.md
deleted file mode 100644
index 1a94583..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-Routing Component
-=================
-
-Routing associates a request with the code that will convert it to a response.
-
-The example below demonstrates how you can set up a fully working routing
-system:
-
-```php
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\Routing\Matcher\UrlMatcher;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-
-$routes = new RouteCollection();
-$routes->add('hello', new Route('/hello', array('controller' => 'foo')));
-
-$context = new RequestContext();
-
-// this is optional and can be done without a Request instance
-$context->fromRequest(Request::createFromGlobals());
-
-$matcher = new UrlMatcher($routes, $context);
-
-$parameters = $matcher->match('/hello');
-```
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/Routing/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContext.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContext.php
deleted file mode 100644
index 577d1d0..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContext.php
+++ /dev/null
@@ -1,364 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * Holds information about the current request.
- *
- * This class implements a fluent interface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-class RequestContext
-{
-    private $baseUrl;
-    private $pathInfo;
-    private $method;
-    private $host;
-    private $scheme;
-    private $httpPort;
-    private $httpsPort;
-    private $queryString;
-
-    /**
-     * @var array
-     */
-    private $parameters = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $baseUrl     The base URL
-     * @param string $method      The HTTP method
-     * @param string $host        The HTTP host name
-     * @param string $scheme      The HTTP scheme
-     * @param int    $httpPort    The HTTP port
-     * @param int    $httpsPort   The HTTPS port
-     * @param string $path        The path
-     * @param string $queryString The query string
-     *
-     * @api
-     */
-    public function __construct($baseUrl = '', $method = 'GET', $host = 'localhost', $scheme = 'http', $httpPort = 80, $httpsPort = 443, $path = '/', $queryString = '')
-    {
-        $this->setBaseUrl($baseUrl);
-        $this->setMethod($method);
-        $this->setHost($host);
-        $this->setScheme($scheme);
-        $this->setHttpPort($httpPort);
-        $this->setHttpsPort($httpsPort);
-        $this->setPathInfo($path);
-        $this->setQueryString($queryString);
-    }
-
-    /**
-     * Updates the RequestContext information based on a HttpFoundation Request.
-     *
-     * @param Request $request A Request instance
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     */
-    public function fromRequest(Request $request)
-    {
-        $this->setBaseUrl($request->getBaseUrl());
-        $this->setPathInfo($request->getPathInfo());
-        $this->setMethod($request->getMethod());
-        $this->setHost($request->getHost());
-        $this->setScheme($request->getScheme());
-        $this->setHttpPort($request->isSecure() ? $this->httpPort : $request->getPort());
-        $this->setHttpsPort($request->isSecure() ? $request->getPort() : $this->httpsPort);
-        $this->setQueryString($request->server->get('QUERY_STRING', ''));
-
-        return $this;
-    }
-
-    /**
-     * Gets the base URL.
-     *
-     * @return string The base URL
-     */
-    public function getBaseUrl()
-    {
-        return $this->baseUrl;
-    }
-
-    /**
-     * Sets the base URL.
-     *
-     * @param string $baseUrl The base URL
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setBaseUrl($baseUrl)
-    {
-        $this->baseUrl = $baseUrl;
-
-        return $this;
-    }
-
-    /**
-     * Gets the path info.
-     *
-     * @return string The path info
-     */
-    public function getPathInfo()
-    {
-        return $this->pathInfo;
-    }
-
-    /**
-     * Sets the path info.
-     *
-     * @param string $pathInfo The path info
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     */
-    public function setPathInfo($pathInfo)
-    {
-        $this->pathInfo = $pathInfo;
-
-        return $this;
-    }
-
-    /**
-     * Gets the HTTP method.
-     *
-     * The method is always an uppercased string.
-     *
-     * @return string The HTTP method
-     */
-    public function getMethod()
-    {
-        return $this->method;
-    }
-
-    /**
-     * Sets the HTTP method.
-     *
-     * @param string $method The HTTP method
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setMethod($method)
-    {
-        $this->method = strtoupper($method);
-
-        return $this;
-    }
-
-    /**
-     * Gets the HTTP host.
-     *
-     * The host is always lowercased because it must be treated case-insensitive.
-     *
-     * @return string The HTTP host
-     */
-    public function getHost()
-    {
-        return $this->host;
-    }
-
-    /**
-     * Sets the HTTP host.
-     *
-     * @param string $host The HTTP host
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setHost($host)
-    {
-        $this->host = strtolower($host);
-
-        return $this;
-    }
-
-    /**
-     * Gets the HTTP scheme.
-     *
-     * @return string The HTTP scheme
-     */
-    public function getScheme()
-    {
-        return $this->scheme;
-    }
-
-    /**
-     * Sets the HTTP scheme.
-     *
-     * @param string $scheme The HTTP scheme
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setScheme($scheme)
-    {
-        $this->scheme = strtolower($scheme);
-
-        return $this;
-    }
-
-    /**
-     * Gets the HTTP port.
-     *
-     * @return int The HTTP port
-     */
-    public function getHttpPort()
-    {
-        return $this->httpPort;
-    }
-
-    /**
-     * Sets the HTTP port.
-     *
-     * @param int $httpPort The HTTP port
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setHttpPort($httpPort)
-    {
-        $this->httpPort = (int) $httpPort;
-
-        return $this;
-    }
-
-    /**
-     * Gets the HTTPS port.
-     *
-     * @return int The HTTPS port
-     */
-    public function getHttpsPort()
-    {
-        return $this->httpsPort;
-    }
-
-    /**
-     * Sets the HTTPS port.
-     *
-     * @param int $httpsPort The HTTPS port
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setHttpsPort($httpsPort)
-    {
-        $this->httpsPort = (int) $httpsPort;
-
-        return $this;
-    }
-
-    /**
-     * Gets the query string.
-     *
-     * @return string The query string without the "?"
-     */
-    public function getQueryString()
-    {
-        return $this->queryString;
-    }
-
-    /**
-     * Sets the query string.
-     *
-     * @param string $queryString The query string (after "?")
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setQueryString($queryString)
-    {
-        // string cast to be fault-tolerant, accepting null
-        $this->queryString = (string) $queryString;
-
-        return $this;
-    }
-
-    /**
-     * Returns the parameters.
-     *
-     * @return array The parameters
-     */
-    public function getParameters()
-    {
-        return $this->parameters;
-    }
-
-    /**
-     * Sets the parameters.
-     *
-     * @param array $parameters The parameters
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     */
-    public function setParameters(array $parameters)
-    {
-        $this->parameters = $parameters;
-
-        return $this;
-    }
-
-    /**
-     * Gets a parameter value.
-     *
-     * @param string $name A parameter name
-     *
-     * @return mixed The parameter value or null if nonexistent
-     */
-    public function getParameter($name)
-    {
-        return isset($this->parameters[$name]) ? $this->parameters[$name] : null;
-    }
-
-    /**
-     * Checks if a parameter value is set for the given parameter.
-     *
-     * @param string $name A parameter name
-     *
-     * @return bool True if the parameter value is set, false otherwise
-     */
-    public function hasParameter($name)
-    {
-        return array_key_exists($name, $this->parameters);
-    }
-
-    /**
-     * Sets a parameter value.
-     *
-     * @param string $name      A parameter name
-     * @param mixed  $parameter The parameter value
-     *
-     * @return RequestContext The current instance, implementing a fluent interface
-     *
-     * @api
-     */
-    public function setParameter($name, $parameter)
-    {
-        $this->parameters[$name] = $parameter;
-
-        return $this;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContextAwareInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContextAwareInterface.php
deleted file mode 100644
index daf5254..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContextAwareInterface.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-/**
- * @api
- */
-interface RequestContextAwareInterface
-{
-    /**
-     * Sets the request context.
-     *
-     * @param RequestContext $context The context
-     *
-     * @api
-     */
-    public function setContext(RequestContext $context);
-
-    /**
-     * Gets the request context.
-     *
-     * @return RequestContext The context
-     *
-     * @api
-     */
-    public function getContext();
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php
deleted file mode 100644
index d2ddbd3..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php
+++ /dev/null
@@ -1,655 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-/**
- * A Route describes a route and its parameters.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-class Route implements \Serializable
-{
-    /**
-     * @var string
-     */
-    private $path = '/';
-
-    /**
-     * @var string
-     */
-    private $host = '';
-
-    /**
-     * @var array
-     */
-    private $schemes = array();
-
-    /**
-     * @var array
-     */
-    private $methods = array();
-
-    /**
-     * @var array
-     */
-    private $defaults = array();
-
-    /**
-     * @var array
-     */
-    private $requirements = array();
-
-    /**
-     * @var array
-     */
-    private $options = array();
-
-    /**
-     * @var null|CompiledRoute
-     */
-    private $compiled;
-
-    /**
-     * @var string
-     */
-    private $condition = '';
-
-    /**
-     * Constructor.
-     *
-     * Available options:
-     *
-     *  * compiler_class: A class name able to compile this route instance (RouteCompiler by default)
-     *
-     * @param string       $path         The path pattern to match
-     * @param array        $defaults     An array of default parameter values
-     * @param array        $requirements An array of requirements for parameters (regexes)
-     * @param array        $options      An array of options
-     * @param string       $host         The host pattern to match
-     * @param string|array $schemes      A required URI scheme or an array of restricted schemes
-     * @param string|array $methods      A required HTTP method or an array of restricted methods
-     * @param string       $condition    A condition that should evaluate to true for the route to match
-     *
-     * @api
-     */
-    public function __construct($path, array $defaults = array(), array $requirements = array(), array $options = array(), $host = '', $schemes = array(), $methods = array(), $condition = '')
-    {
-        $this->setPath($path);
-        $this->setDefaults($defaults);
-        $this->setRequirements($requirements);
-        $this->setOptions($options);
-        $this->setHost($host);
-        // The conditions make sure that an initial empty $schemes/$methods does not override the corresponding requirement.
-        // They can be removed when the BC layer is removed.
-        if ($schemes) {
-            $this->setSchemes($schemes);
-        }
-        if ($methods) {
-            $this->setMethods($methods);
-        }
-        $this->setCondition($condition);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function serialize()
-    {
-        return serialize(array(
-            'path' => $this->path,
-            'host' => $this->host,
-            'defaults' => $this->defaults,
-            'requirements' => $this->requirements,
-            'options' => $this->options,
-            'schemes' => $this->schemes,
-            'methods' => $this->methods,
-            'condition' => $this->condition,
-            'compiled' => $this->compiled,
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function unserialize($serialized)
-    {
-        $data = unserialize($serialized);
-        $this->path = $data['path'];
-        $this->host = $data['host'];
-        $this->defaults = $data['defaults'];
-        $this->requirements = $data['requirements'];
-        $this->options = $data['options'];
-        $this->schemes = $data['schemes'];
-        $this->methods = $data['methods'];
-
-        if (isset($data['condition'])) {
-            $this->condition = $data['condition'];
-        }
-        if (isset($data['compiled'])) {
-            $this->compiled = $data['compiled'];
-        }
-    }
-
-    /**
-     * Returns the pattern for the path.
-     *
-     * @return string The pattern
-     *
-     * @deprecated Deprecated in 2.2, to be removed in 3.0. Use getPath instead.
-     */
-    public function getPattern()
-    {
-        return $this->path;
-    }
-
-    /**
-     * Sets the pattern for the path.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param string $pattern The path pattern
-     *
-     * @return Route The current Route instance
-     *
-     * @deprecated Deprecated in 2.2, to be removed in 3.0. Use setPath instead.
-     */
-    public function setPattern($pattern)
-    {
-        return $this->setPath($pattern);
-    }
-
-    /**
-     * Returns the pattern for the path.
-     *
-     * @return string The path pattern
-     */
-    public function getPath()
-    {
-        return $this->path;
-    }
-
-    /**
-     * Sets the pattern for the path.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param string $pattern The path pattern
-     *
-     * @return Route The current Route instance
-     */
-    public function setPath($pattern)
-    {
-        // A pattern must start with a slash and must not have multiple slashes at the beginning because the
-        // generated path for this route would be confused with a network path, e.g. '//domain.com/path'.
-        $this->path = '/'.ltrim(trim($pattern), '/');
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Returns the pattern for the host.
-     *
-     * @return string The host pattern
-     */
-    public function getHost()
-    {
-        return $this->host;
-    }
-
-    /**
-     * Sets the pattern for the host.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param string $pattern The host pattern
-     *
-     * @return Route The current Route instance
-     */
-    public function setHost($pattern)
-    {
-        $this->host = (string) $pattern;
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Returns the lowercased schemes this route is restricted to.
-     * So an empty array means that any scheme is allowed.
-     *
-     * @return array The schemes
-     */
-    public function getSchemes()
-    {
-        return $this->schemes;
-    }
-
-    /**
-     * Sets the schemes (e.g. 'https') this route is restricted to.
-     * So an empty array means that any scheme is allowed.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param string|array $schemes The scheme or an array of schemes
-     *
-     * @return Route The current Route instance
-     */
-    public function setSchemes($schemes)
-    {
-        $this->schemes = array_map('strtolower', (array) $schemes);
-
-        // this is to keep BC and will be removed in a future version
-        if ($this->schemes) {
-            $this->requirements['_scheme'] = implode('|', $this->schemes);
-        } else {
-            unset($this->requirements['_scheme']);
-        }
-
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Checks if a scheme requirement has been set.
-     *
-     * @param string $scheme
-     *
-     * @return bool true if the scheme requirement exists, otherwise false
-     */
-    public function hasScheme($scheme)
-    {
-        return in_array(strtolower($scheme), $this->schemes, true);
-    }
-
-    /**
-     * Returns the uppercased HTTP methods this route is restricted to.
-     * So an empty array means that any method is allowed.
-     *
-     * @return array The methods
-     */
-    public function getMethods()
-    {
-        return $this->methods;
-    }
-
-    /**
-     * Sets the HTTP methods (e.g. 'POST') this route is restricted to.
-     * So an empty array means that any method is allowed.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param string|array $methods The method or an array of methods
-     *
-     * @return Route The current Route instance
-     */
-    public function setMethods($methods)
-    {
-        $this->methods = array_map('strtoupper', (array) $methods);
-
-        // this is to keep BC and will be removed in a future version
-        if ($this->methods) {
-            $this->requirements['_method'] = implode('|', $this->methods);
-        } else {
-            unset($this->requirements['_method']);
-        }
-
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Returns the options.
-     *
-     * @return array The options
-     */
-    public function getOptions()
-    {
-        return $this->options;
-    }
-
-    /**
-     * Sets the options.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param array $options The options
-     *
-     * @return Route The current Route instance
-     */
-    public function setOptions(array $options)
-    {
-        $this->options = array(
-            'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler',
-        );
-
-        return $this->addOptions($options);
-    }
-
-    /**
-     * Adds options.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param array $options The options
-     *
-     * @return Route The current Route instance
-     */
-    public function addOptions(array $options)
-    {
-        foreach ($options as $name => $option) {
-            $this->options[$name] = $option;
-        }
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Sets an option value.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param string $name  An option name
-     * @param mixed  $value The option value
-     *
-     * @return Route The current Route instance
-     *
-     * @api
-     */
-    public function setOption($name, $value)
-    {
-        $this->options[$name] = $value;
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Get an option value.
-     *
-     * @param string $name An option name
-     *
-     * @return mixed The option value or null when not given
-     */
-    public function getOption($name)
-    {
-        return isset($this->options[$name]) ? $this->options[$name] : null;
-    }
-
-    /**
-     * Checks if an option has been set.
-     *
-     * @param string $name An option name
-     *
-     * @return bool true if the option is set, false otherwise
-     */
-    public function hasOption($name)
-    {
-        return array_key_exists($name, $this->options);
-    }
-
-    /**
-     * Returns the defaults.
-     *
-     * @return array The defaults
-     */
-    public function getDefaults()
-    {
-        return $this->defaults;
-    }
-
-    /**
-     * Sets the defaults.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param array $defaults The defaults
-     *
-     * @return Route The current Route instance
-     */
-    public function setDefaults(array $defaults)
-    {
-        $this->defaults = array();
-
-        return $this->addDefaults($defaults);
-    }
-
-    /**
-     * Adds defaults.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param array $defaults The defaults
-     *
-     * @return Route The current Route instance
-     */
-    public function addDefaults(array $defaults)
-    {
-        foreach ($defaults as $name => $default) {
-            $this->defaults[$name] = $default;
-        }
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Gets a default value.
-     *
-     * @param string $name A variable name
-     *
-     * @return mixed The default value or null when not given
-     */
-    public function getDefault($name)
-    {
-        return isset($this->defaults[$name]) ? $this->defaults[$name] : null;
-    }
-
-    /**
-     * Checks if a default value is set for the given variable.
-     *
-     * @param string $name A variable name
-     *
-     * @return bool true if the default value is set, false otherwise
-     */
-    public function hasDefault($name)
-    {
-        return array_key_exists($name, $this->defaults);
-    }
-
-    /**
-     * Sets a default value.
-     *
-     * @param string $name    A variable name
-     * @param mixed  $default The default value
-     *
-     * @return Route The current Route instance
-     *
-     * @api
-     */
-    public function setDefault($name, $default)
-    {
-        $this->defaults[$name] = $default;
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Returns the requirements.
-     *
-     * @return array The requirements
-     */
-    public function getRequirements()
-    {
-        return $this->requirements;
-    }
-
-    /**
-     * Sets the requirements.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param array $requirements The requirements
-     *
-     * @return Route The current Route instance
-     */
-    public function setRequirements(array $requirements)
-    {
-        $this->requirements = array();
-
-        return $this->addRequirements($requirements);
-    }
-
-    /**
-     * Adds requirements.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param array $requirements The requirements
-     *
-     * @return Route The current Route instance
-     */
-    public function addRequirements(array $requirements)
-    {
-        foreach ($requirements as $key => $regex) {
-            $this->requirements[$key] = $this->sanitizeRequirement($key, $regex);
-        }
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Returns the requirement for the given key.
-     *
-     * @param string $key The key
-     *
-     * @return string|null The regex or null when not given
-     */
-    public function getRequirement($key)
-    {
-        return isset($this->requirements[$key]) ? $this->requirements[$key] : null;
-    }
-
-    /**
-     * Checks if a requirement is set for the given key.
-     *
-     * @param string $key A variable name
-     *
-     * @return bool true if a requirement is specified, false otherwise
-     */
-    public function hasRequirement($key)
-    {
-        return array_key_exists($key, $this->requirements);
-    }
-
-    /**
-     * Sets a requirement for the given key.
-     *
-     * @param string $key   The key
-     * @param string $regex The regex
-     *
-     * @return Route The current Route instance
-     *
-     * @api
-     */
-    public function setRequirement($key, $regex)
-    {
-        $this->requirements[$key] = $this->sanitizeRequirement($key, $regex);
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Returns the condition.
-     *
-     * @return string The condition
-     */
-    public function getCondition()
-    {
-        return $this->condition;
-    }
-
-    /**
-     * Sets the condition.
-     *
-     * This method implements a fluent interface.
-     *
-     * @param string $condition The condition
-     *
-     * @return Route The current Route instance
-     */
-    public function setCondition($condition)
-    {
-        $this->condition = (string) $condition;
-        $this->compiled = null;
-
-        return $this;
-    }
-
-    /**
-     * Compiles the route.
-     *
-     * @return CompiledRoute A CompiledRoute instance
-     *
-     * @throws \LogicException If the Route cannot be compiled because the
-     *                         path or host pattern is invalid
-     *
-     * @see RouteCompiler which is responsible for the compilation process
-     */
-    public function compile()
-    {
-        if (null !== $this->compiled) {
-            return $this->compiled;
-        }
-
-        $class = $this->getOption('compiler_class');
-
-        return $this->compiled = $class::compile($this);
-    }
-
-    private function sanitizeRequirement($key, $regex)
-    {
-        if (!is_string($regex)) {
-            throw new \InvalidArgumentException(sprintf('Routing requirement for "%s" must be a string.', $key));
-        }
-
-        if ('' !== $regex && '^' === $regex[0]) {
-            $regex = (string) substr($regex, 1); // returns false for a single character
-        }
-
-        if ('$' === substr($regex, -1)) {
-            $regex = substr($regex, 0, -1);
-        }
-
-        if ('' === $regex) {
-            throw new \InvalidArgumentException(sprintf('Routing requirement for "%s" cannot be empty.', $key));
-        }
-
-        // this is to keep BC and will be removed in a future version
-        if ('_scheme' === $key) {
-            $this->setSchemes(explode('|', $regex));
-        } elseif ('_method' === $key) {
-            $this->setMethods(explode('|', $regex));
-        }
-
-        return $regex;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php
deleted file mode 100644
index df37f36..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php
+++ /dev/null
@@ -1,285 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-use Symfony\Component\Config\Resource\ResourceInterface;
-
-/**
- * A RouteCollection represents a set of Route instances.
- *
- * When adding a route at the end of the collection, an existing route
- * with the same name is removed first. So there can only be one route
- * with a given name.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- *
- * @api
- */
-class RouteCollection implements \IteratorAggregate, \Countable
-{
-    /**
-     * @var Route[]
-     */
-    private $routes = array();
-
-    /**
-     * @var array
-     */
-    private $resources = array();
-
-    public function __clone()
-    {
-        foreach ($this->routes as $name => $route) {
-            $this->routes[$name] = clone $route;
-        }
-    }
-
-    /**
-     * Gets the current RouteCollection as an Iterator that includes all routes.
-     *
-     * It implements \IteratorAggregate.
-     *
-     * @see all()
-     *
-     * @return \ArrayIterator An \ArrayIterator object for iterating over routes
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->routes);
-    }
-
-    /**
-     * Gets the number of Routes in this collection.
-     *
-     * @return int The number of routes
-     */
-    public function count()
-    {
-        return count($this->routes);
-    }
-
-    /**
-     * Adds a route.
-     *
-     * @param string $name  The route name
-     * @param Route  $route A Route instance
-     *
-     * @api
-     */
-    public function add($name, Route $route)
-    {
-        unset($this->routes[$name]);
-
-        $this->routes[$name] = $route;
-    }
-
-    /**
-     * Returns all routes in this collection.
-     *
-     * @return Route[] An array of routes
-     */
-    public function all()
-    {
-        return $this->routes;
-    }
-
-    /**
-     * Gets a route by name.
-     *
-     * @param string $name The route name
-     *
-     * @return Route|null A Route instance or null when not found
-     */
-    public function get($name)
-    {
-        return isset($this->routes[$name]) ? $this->routes[$name] : null;
-    }
-
-    /**
-     * Removes a route or an array of routes by name from the collection.
-     *
-     * @param string|array $name The route name or an array of route names
-     */
-    public function remove($name)
-    {
-        foreach ((array) $name as $n) {
-            unset($this->routes[$n]);
-        }
-    }
-
-    /**
-     * Adds a route collection at the end of the current set by appending all
-     * routes of the added collection.
-     *
-     * @param RouteCollection $collection A RouteCollection instance
-     *
-     * @api
-     */
-    public function addCollection(RouteCollection $collection)
-    {
-        // we need to remove all routes with the same names first because just replacing them
-        // would not place the new route at the end of the merged array
-        foreach ($collection->all() as $name => $route) {
-            unset($this->routes[$name]);
-            $this->routes[$name] = $route;
-        }
-
-        $this->resources = array_merge($this->resources, $collection->getResources());
-    }
-
-    /**
-     * Adds a prefix to the path of all child routes.
-     *
-     * @param string $prefix       An optional prefix to add before each pattern of the route collection
-     * @param array  $defaults     An array of default values
-     * @param array  $requirements An array of requirements
-     *
-     * @api
-     */
-    public function addPrefix($prefix, array $defaults = array(), array $requirements = array())
-    {
-        $prefix = trim(trim($prefix), '/');
-
-        if ('' === $prefix) {
-            return;
-        }
-
-        foreach ($this->routes as $route) {
-            $route->setPath('/'.$prefix.$route->getPath());
-            $route->addDefaults($defaults);
-            $route->addRequirements($requirements);
-        }
-    }
-
-    /**
-     * Sets the host pattern on all routes.
-     *
-     * @param string $pattern      The pattern
-     * @param array  $defaults     An array of default values
-     * @param array  $requirements An array of requirements
-     */
-    public function setHost($pattern, array $defaults = array(), array $requirements = array())
-    {
-        foreach ($this->routes as $route) {
-            $route->setHost($pattern);
-            $route->addDefaults($defaults);
-            $route->addRequirements($requirements);
-        }
-    }
-
-    /**
-     * Sets a condition on all routes.
-     *
-     * Existing conditions will be overridden.
-     *
-     * @param string $condition The condition
-     */
-    public function setCondition($condition)
-    {
-        foreach ($this->routes as $route) {
-            $route->setCondition($condition);
-        }
-    }
-
-    /**
-     * Adds defaults to all routes.
-     *
-     * An existing default value under the same name in a route will be overridden.
-     *
-     * @param array $defaults An array of default values
-     */
-    public function addDefaults(array $defaults)
-    {
-        if ($defaults) {
-            foreach ($this->routes as $route) {
-                $route->addDefaults($defaults);
-            }
-        }
-    }
-
-    /**
-     * Adds requirements to all routes.
-     *
-     * An existing requirement under the same name in a route will be overridden.
-     *
-     * @param array $requirements An array of requirements
-     */
-    public function addRequirements(array $requirements)
-    {
-        if ($requirements) {
-            foreach ($this->routes as $route) {
-                $route->addRequirements($requirements);
-            }
-        }
-    }
-
-    /**
-     * Adds options to all routes.
-     *
-     * An existing option value under the same name in a route will be overridden.
-     *
-     * @param array $options An array of options
-     */
-    public function addOptions(array $options)
-    {
-        if ($options) {
-            foreach ($this->routes as $route) {
-                $route->addOptions($options);
-            }
-        }
-    }
-
-    /**
-     * Sets the schemes (e.g. 'https') all child routes are restricted to.
-     *
-     * @param string|array $schemes The scheme or an array of schemes
-     */
-    public function setSchemes($schemes)
-    {
-        foreach ($this->routes as $route) {
-            $route->setSchemes($schemes);
-        }
-    }
-
-    /**
-     * Sets the HTTP methods (e.g. 'POST') all child routes are restricted to.
-     *
-     * @param string|array $methods The method or an array of methods
-     */
-    public function setMethods($methods)
-    {
-        foreach ($this->routes as $route) {
-            $route->setMethods($methods);
-        }
-    }
-
-    /**
-     * Returns an array of resources loaded to build this collection.
-     *
-     * @return ResourceInterface[] An array of resources
-     */
-    public function getResources()
-    {
-        return array_unique($this->resources);
-    }
-
-    /**
-     * Adds a resource for this collection.
-     *
-     * @param ResourceInterface $resource A resource instance
-     */
-    public function addResource(ResourceInterface $resource)
-    {
-        $this->resources[] = $resource;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
deleted file mode 100644
index e998b93..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
+++ /dev/null
@@ -1,229 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-/**
- * RouteCompiler compiles Route instances to CompiledRoute instances.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Tobias Schultze <http://tobion.de>
- */
-class RouteCompiler implements RouteCompilerInterface
-{
-    const REGEX_DELIMITER = '#';
-
-    /**
-     * This string defines the characters that are automatically considered separators in front of
-     * optional placeholders (with default and no static text following). Such a single separator
-     * can be left out together with the optional placeholder from matching and generating URLs.
-     */
-    const SEPARATORS = '/,;.:-_~+*=@|';
-
-    /**
-     * {@inheritdoc}
-     *
-     * @throws \LogicException  If a variable is referenced more than once
-     * @throws \DomainException If a variable name is numeric because PHP raises an error for such
-     *                          subpatterns in PCRE and thus would break matching, e.g. "(?P<123>.+)".
-     */
-    public static function compile(Route $route)
-    {
-        $hostVariables = array();
-        $variables = array();
-        $hostRegex = null;
-        $hostTokens = array();
-
-        if ('' !== $host = $route->getHost()) {
-            $result = self::compilePattern($route, $host, true);
-
-            $hostVariables = $result['variables'];
-            $variables = $hostVariables;
-
-            $hostTokens = $result['tokens'];
-            $hostRegex = $result['regex'];
-        }
-
-        $path = $route->getPath();
-
-        $result = self::compilePattern($route, $path, false);
-
-        $staticPrefix = $result['staticPrefix'];
-
-        $pathVariables = $result['variables'];
-        $variables = array_merge($variables, $pathVariables);
-
-        $tokens = $result['tokens'];
-        $regex = $result['regex'];
-
-        return new CompiledRoute(
-            $staticPrefix,
-            $regex,
-            $tokens,
-            $pathVariables,
-            $hostRegex,
-            $hostTokens,
-            $hostVariables,
-            array_unique($variables)
-        );
-    }
-
-    private static function compilePattern(Route $route, $pattern, $isHost)
-    {
-        $tokens = array();
-        $variables = array();
-        $matches = array();
-        $pos = 0;
-        $defaultSeparator = $isHost ? '.' : '/';
-
-        // Match all variables enclosed in "{}" and iterate over them. But we only want to match the innermost variable
-        // in case of nested "{}", e.g. {foo{bar}}. This in ensured because \w does not match "{" or "}" itself.
-        preg_match_all('#\{\w+\}#', $pattern, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
-        foreach ($matches as $match) {
-            $varName = substr($match[0][0], 1, -1);
-            // get all static text preceding the current variable
-            $precedingText = substr($pattern, $pos, $match[0][1] - $pos);
-            $pos = $match[0][1] + strlen($match[0][0]);
-            $precedingChar = strlen($precedingText) > 0 ? substr($precedingText, -1) : '';
-            $isSeparator = '' !== $precedingChar && false !== strpos(static::SEPARATORS, $precedingChar);
-
-            if (is_numeric($varName)) {
-                throw new \DomainException(sprintf('Variable name "%s" cannot be numeric in route pattern "%s". Please use a different name.', $varName, $pattern));
-            }
-            if (in_array($varName, $variables)) {
-                throw new \LogicException(sprintf('Route pattern "%s" cannot reference variable name "%s" more than once.', $pattern, $varName));
-            }
-
-            if ($isSeparator && strlen($precedingText) > 1) {
-                $tokens[] = array('text', substr($precedingText, 0, -1));
-            } elseif (!$isSeparator && strlen($precedingText) > 0) {
-                $tokens[] = array('text', $precedingText);
-            }
-
-            $regexp = $route->getRequirement($varName);
-            if (null === $regexp) {
-                $followingPattern = (string) substr($pattern, $pos);
-                // Find the next static character after the variable that functions as a separator. By default, this separator and '/'
-                // are disallowed for the variable. This default requirement makes sure that optional variables can be matched at all
-                // and that the generating-matching-combination of URLs unambiguous, i.e. the params used for generating the URL are
-                // the same that will be matched. Example: new Route('/{page}.{_format}', array('_format' => 'html'))
-                // If {page} would also match the separating dot, {_format} would never match as {page} will eagerly consume everything.
-                // Also even if {_format} was not optional the requirement prevents that {page} matches something that was originally
-                // part of {_format} when generating the URL, e.g. _format = 'mobile.html'.
-                $nextSeparator = self::findNextSeparator($followingPattern);
-                $regexp = sprintf(
-                    '[^%s%s]+',
-                    preg_quote($defaultSeparator, self::REGEX_DELIMITER),
-                    $defaultSeparator !== $nextSeparator && '' !== $nextSeparator ? preg_quote($nextSeparator, self::REGEX_DELIMITER) : ''
-                );
-                if (('' !== $nextSeparator && !preg_match('#^\{\w+\}#', $followingPattern)) || '' === $followingPattern) {
-                    // When we have a separator, which is disallowed for the variable, we can optimize the regex with a possessive
-                    // quantifier. This prevents useless backtracking of PCRE and improves performance by 20% for matching those patterns.
-                    // Given the above example, there is no point in backtracking into {page} (that forbids the dot) when a dot must follow
-                    // after it. This optimization cannot be applied when the next char is no real separator or when the next variable is
-                    // directly adjacent, e.g. '/{x}{y}'.
-                    $regexp .= '+';
-                }
-            }
-
-            $tokens[] = array('variable', $isSeparator ? $precedingChar : '', $regexp, $varName);
-            $variables[] = $varName;
-        }
-
-        if ($pos < strlen($pattern)) {
-            $tokens[] = array('text', substr($pattern, $pos));
-        }
-
-        // find the first optional token
-        $firstOptional = PHP_INT_MAX;
-        if (!$isHost) {
-            for ($i = count($tokens) - 1; $i >= 0; $i--) {
-                $token = $tokens[$i];
-                if ('variable' === $token[0] && $route->hasDefault($token[3])) {
-                    $firstOptional = $i;
-                } else {
-                    break;
-                }
-            }
-        }
-
-        // compute the matching regexp
-        $regexp = '';
-        for ($i = 0, $nbToken = count($tokens); $i < $nbToken; $i++) {
-            $regexp .= self::computeRegexp($tokens, $i, $firstOptional);
-        }
-
-        return array(
-            'staticPrefix' => 'text' === $tokens[0][0] ? $tokens[0][1] : '',
-            'regex' => self::REGEX_DELIMITER.'^'.$regexp.'$'.self::REGEX_DELIMITER.'s'.($isHost ? 'i' : ''),
-            'tokens' => array_reverse($tokens),
-            'variables' => $variables,
-        );
-    }
-
-    /**
-     * Returns the next static character in the Route pattern that will serve as a separator.
-     *
-     * @param string $pattern The route pattern
-     *
-     * @return string The next static character that functions as separator (or empty string when none available)
-     */
-    private static function findNextSeparator($pattern)
-    {
-        if ('' == $pattern) {
-            // return empty string if pattern is empty or false (false which can be returned by substr)
-            return '';
-        }
-        // first remove all placeholders from the pattern so we can find the next real static character
-        $pattern = preg_replace('#\{\w+\}#', '', $pattern);
-
-        return isset($pattern[0]) && false !== strpos(static::SEPARATORS, $pattern[0]) ? $pattern[0] : '';
-    }
-
-    /**
-     * Computes the regexp used to match a specific token. It can be static text or a subpattern.
-     *
-     * @param array $tokens        The route tokens
-     * @param int   $index         The index of the current token
-     * @param int   $firstOptional The index of the first optional token
-     *
-     * @return string The regexp pattern for a single token
-     */
-    private static function computeRegexp(array $tokens, $index, $firstOptional)
-    {
-        $token = $tokens[$index];
-        if ('text' === $token[0]) {
-            // Text tokens
-            return preg_quote($token[1], self::REGEX_DELIMITER);
-        } else {
-            // Variable tokens
-            if (0 === $index && 0 === $firstOptional) {
-                // When the only token is an optional variable token, the separator is required
-                return sprintf('%s(?P<%s>%s)?', preg_quote($token[1], self::REGEX_DELIMITER), $token[3], $token[2]);
-            } else {
-                $regexp = sprintf('%s(?P<%s>%s)', preg_quote($token[1], self::REGEX_DELIMITER), $token[3], $token[2]);
-                if ($index >= $firstOptional) {
-                    // Enclose each optional token in a subpattern to make it optional.
-                    // "?:" means it is non-capturing, i.e. the portion of the subject string that
-                    // matched the optional subpattern is not passed back.
-                    $regexp = "(?:$regexp";
-                    $nbTokens = count($tokens);
-                    if ($nbTokens - 1 == $index) {
-                        // Close the optional subpatterns
-                        $regexp .= str_repeat(')?', $nbTokens - $firstOptional - (0 === $firstOptional ? 1 : 0));
-                    }
-                }
-
-                return $regexp;
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php
deleted file mode 100644
index e6f8ee6d..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-/**
- * RouteCompilerInterface is the interface that all RouteCompiler classes must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface RouteCompilerInterface
-{
-    /**
-     * Compiles the current route instance.
-     *
-     * @param Route $route A Route instance
-     *
-     * @return CompiledRoute A CompiledRoute instance
-     *
-     * @throws \LogicException If the Route cannot be compiled because the
-     *                         path or host pattern is invalid
-     */
-    public static function compile(Route $route);
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Router.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Router.php
deleted file mode 100644
index c7c926d..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Router.php
+++ /dev/null
@@ -1,346 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-use Symfony\Component\Config\Loader\LoaderInterface;
-use Symfony\Component\Config\ConfigCache;
-use Psr\Log\LoggerInterface;
-use Symfony\Component\Routing\Generator\ConfigurableRequirementsInterface;
-use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
-use Symfony\Component\Routing\Generator\Dumper\GeneratorDumperInterface;
-use Symfony\Component\Routing\Matcher\RequestMatcherInterface;
-use Symfony\Component\Routing\Matcher\UrlMatcherInterface;
-use Symfony\Component\Routing\Matcher\Dumper\MatcherDumperInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
-
-/**
- * The Router class is an example of the integration of all pieces of the
- * routing system for easier use.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Router implements RouterInterface, RequestMatcherInterface
-{
-    /**
-     * @var UrlMatcherInterface|null
-     */
-    protected $matcher;
-
-    /**
-     * @var UrlGeneratorInterface|null
-     */
-    protected $generator;
-
-    /**
-     * @var RequestContext
-     */
-    protected $context;
-
-    /**
-     * @var LoaderInterface
-     */
-    protected $loader;
-
-    /**
-     * @var RouteCollection|null
-     */
-    protected $collection;
-
-    /**
-     * @var mixed
-     */
-    protected $resource;
-
-    /**
-     * @var array
-     */
-    protected $options = array();
-
-    /**
-     * @var LoggerInterface|null
-     */
-    protected $logger;
-
-    /**
-     * @var ExpressionFunctionProviderInterface[]
-     */
-    private $expressionLanguageProviders = array();
-
-    /**
-     * Constructor.
-     *
-     * @param LoaderInterface $loader   A LoaderInterface instance
-     * @param mixed           $resource The main resource to load
-     * @param array           $options  An array of options
-     * @param RequestContext  $context  The context
-     * @param LoggerInterface $logger   A logger instance
-     */
-    public function __construct(LoaderInterface $loader, $resource, array $options = array(), RequestContext $context = null, LoggerInterface $logger = null)
-    {
-        $this->loader = $loader;
-        $this->resource = $resource;
-        $this->logger = $logger;
-        $this->context = $context ?: new RequestContext();
-        $this->setOptions($options);
-    }
-
-    /**
-     * Sets options.
-     *
-     * Available options:
-     *
-     *   * cache_dir:     The cache directory (or null to disable caching)
-     *   * debug:         Whether to enable debugging or not (false by default)
-     *   * resource_type: Type hint for the main resource (optional)
-     *
-     * @param array $options An array of options
-     *
-     * @throws \InvalidArgumentException When unsupported option is provided
-     */
-    public function setOptions(array $options)
-    {
-        $this->options = array(
-            'cache_dir' => null,
-            'debug' => false,
-            'generator_class' => 'Symfony\\Component\\Routing\\Generator\\UrlGenerator',
-            'generator_base_class' => 'Symfony\\Component\\Routing\\Generator\\UrlGenerator',
-            'generator_dumper_class' => 'Symfony\\Component\\Routing\\Generator\\Dumper\\PhpGeneratorDumper',
-            'generator_cache_class' => 'ProjectUrlGenerator',
-            'matcher_class' => 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher',
-            'matcher_base_class' => 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher',
-            'matcher_dumper_class' => 'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherDumper',
-            'matcher_cache_class' => 'ProjectUrlMatcher',
-            'resource_type' => null,
-            'strict_requirements' => true,
-        );
-
-        // check option names and live merge, if errors are encountered Exception will be thrown
-        $invalid = array();
-        foreach ($options as $key => $value) {
-            if (array_key_exists($key, $this->options)) {
-                $this->options[$key] = $value;
-            } else {
-                $invalid[] = $key;
-            }
-        }
-
-        if ($invalid) {
-            throw new \InvalidArgumentException(sprintf('The Router does not support the following options: "%s".', implode('", "', $invalid)));
-        }
-    }
-
-    /**
-     * Sets an option.
-     *
-     * @param string $key   The key
-     * @param mixed  $value The value
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function setOption($key, $value)
-    {
-        if (!array_key_exists($key, $this->options)) {
-            throw new \InvalidArgumentException(sprintf('The Router does not support the "%s" option.', $key));
-        }
-
-        $this->options[$key] = $value;
-    }
-
-    /**
-     * Gets an option value.
-     *
-     * @param string $key The key
-     *
-     * @return mixed The value
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function getOption($key)
-    {
-        if (!array_key_exists($key, $this->options)) {
-            throw new \InvalidArgumentException(sprintf('The Router does not support the "%s" option.', $key));
-        }
-
-        return $this->options[$key];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRouteCollection()
-    {
-        if (null === $this->collection) {
-            $this->collection = $this->loader->load($this->resource, $this->options['resource_type']);
-        }
-
-        return $this->collection;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContext(RequestContext $context)
-    {
-        $this->context = $context;
-
-        if (null !== $this->matcher) {
-            $this->getMatcher()->setContext($context);
-        }
-        if (null !== $this->generator) {
-            $this->getGenerator()->setContext($context);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContext()
-    {
-        return $this->context;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH)
-    {
-        return $this->getGenerator()->generate($name, $parameters, $referenceType);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function match($pathinfo)
-    {
-        return $this->getMatcher()->match($pathinfo);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function matchRequest(Request $request)
-    {
-        $matcher = $this->getMatcher();
-        if (!$matcher instanceof RequestMatcherInterface) {
-            // fallback to the default UrlMatcherInterface
-            return $matcher->match($request->getPathInfo());
-        }
-
-        return $matcher->matchRequest($request);
-    }
-
-    /**
-     * Gets the UrlMatcher instance associated with this Router.
-     *
-     * @return UrlMatcherInterface A UrlMatcherInterface instance
-     */
-    public function getMatcher()
-    {
-        if (null !== $this->matcher) {
-            return $this->matcher;
-        }
-
-        if (null === $this->options['cache_dir'] || null === $this->options['matcher_cache_class']) {
-            $this->matcher = new $this->options['matcher_class']($this->getRouteCollection(), $this->context);
-            if (method_exists($this->matcher, 'addExpressionLanguageProvider')) {
-                foreach ($this->expressionLanguageProviders as $provider) {
-                    $this->matcher->addExpressionLanguageProvider($provider);
-                }
-            }
-
-            return $this->matcher;
-        }
-
-        $class = $this->options['matcher_cache_class'];
-        $cache = new ConfigCache($this->options['cache_dir'].'/'.$class.'.php', $this->options['debug']);
-        if (!$cache->isFresh()) {
-            $dumper = $this->getMatcherDumperInstance();
-            if (method_exists($dumper, 'addExpressionLanguageProvider')) {
-                foreach ($this->expressionLanguageProviders as $provider) {
-                    $dumper->addExpressionLanguageProvider($provider);
-                }
-            }
-
-            $options = array(
-                'class' => $class,
-                'base_class' => $this->options['matcher_base_class'],
-            );
-
-            $cache->write($dumper->dump($options), $this->getRouteCollection()->getResources());
-        }
-
-        require_once $cache;
-
-        return $this->matcher = new $class($this->context);
-    }
-
-    /**
-     * Gets the UrlGenerator instance associated with this Router.
-     *
-     * @return UrlGeneratorInterface A UrlGeneratorInterface instance
-     */
-    public function getGenerator()
-    {
-        if (null !== $this->generator) {
-            return $this->generator;
-        }
-
-        if (null === $this->options['cache_dir'] || null === $this->options['generator_cache_class']) {
-            $this->generator = new $this->options['generator_class']($this->getRouteCollection(), $this->context, $this->logger);
-        } else {
-            $class = $this->options['generator_cache_class'];
-            $cache = new ConfigCache($this->options['cache_dir'].'/'.$class.'.php', $this->options['debug']);
-            if (!$cache->isFresh()) {
-                $dumper = $this->getGeneratorDumperInstance();
-
-                $options = array(
-                    'class' => $class,
-                    'base_class' => $this->options['generator_base_class'],
-                );
-
-                $cache->write($dumper->dump($options), $this->getRouteCollection()->getResources());
-            }
-
-            require_once $cache;
-
-            $this->generator = new $class($this->context, $this->logger);
-        }
-
-        if ($this->generator instanceof ConfigurableRequirementsInterface) {
-            $this->generator->setStrictRequirements($this->options['strict_requirements']);
-        }
-
-        return $this->generator;
-    }
-
-    public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
-    {
-        $this->expressionLanguageProviders[] = $provider;
-    }
-
-    /**
-     * @return GeneratorDumperInterface
-     */
-    protected function getGeneratorDumperInstance()
-    {
-        return new $this->options['generator_dumper_class']($this->getRouteCollection());
-    }
-
-    /**
-     * @return MatcherDumperInterface
-     */
-    protected function getMatcherDumperInstance()
-    {
-        return new $this->options['matcher_dumper_class']($this->getRouteCollection());
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouterInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RouterInterface.php
deleted file mode 100644
index a10ae34..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouterInterface.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing;
-
-use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
-use Symfony\Component\Routing\Matcher\UrlMatcherInterface;
-
-/**
- * RouterInterface is the interface that all Router classes must implement.
- *
- * This interface is the concatenation of UrlMatcherInterface and UrlGeneratorInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface RouterInterface extends UrlMatcherInterface, UrlGeneratorInterface
-{
-    /**
-     * Gets the RouteCollection instance associated with this Router.
-     *
-     * @return RouteCollection A RouteCollection instance
-     */
-    public function getRouteCollection();
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php
deleted file mode 100644
index eb4d220..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Annotation;
-
-use Symfony\Component\Routing\Annotation\Route;
-
-class RouteTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testInvalidRouteParameter()
-    {
-        $route = new Route(array('foo' => 'bar'));
-    }
-
-    /**
-     * @dataProvider getValidParameters
-     */
-    public function testRouteParameters($parameter, $value, $getter)
-    {
-        $route = new Route(array($parameter => $value));
-        $this->assertEquals($route->$getter(), $value);
-    }
-
-    public function getValidParameters()
-    {
-        return array(
-            array('value', '/Blog', 'getPath'),
-            array('requirements', array('_method' => 'GET'), 'getRequirements'),
-            array('options', array('compiler_class' => 'RouteCompiler'), 'getOptions'),
-            array('name', 'blog_index', 'getName'),
-            array('defaults', array('_controller' => 'MyBlogBundle:Blog:index'), 'getDefaults'),
-            array('schemes', array('https'), 'getSchemes'),
-            array('methods', array('GET', 'POST'), 'getMethods'),
-            array('host', array('{locale}.example.com'), 'getHost'),
-            array('condition', array('context.getMethod() == "GET"'), 'getCondition'),
-        );
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyGetPattern()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $route = new Route(array('value' => '/Blog'));
-        $this->assertEquals($route->getPattern(), '/Blog');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php
deleted file mode 100644
index 215ebb7..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\CompiledRoute;
-
-class CompiledRouteTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAccessors()
-    {
-        $compiled = new CompiledRoute('prefix', 'regex', array('tokens'), array(), array(), array(), array(), array('variables'));
-        $this->assertEquals('prefix', $compiled->getStaticPrefix(), '__construct() takes a static prefix as its second argument');
-        $this->assertEquals('regex', $compiled->getRegex(), '__construct() takes a regexp as its third argument');
-        $this->assertEquals(array('tokens'), $compiled->getTokens(), '__construct() takes an array of tokens as its fourth argument');
-        $this->assertEquals(array('variables'), $compiled->getVariables(), '__construct() takes an array of variables as its ninth argument');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
deleted file mode 100644
index 56bcab2..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses;
-
-abstract class AbstractClass
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
deleted file mode 100644
index a388277..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses;
-
-class BarClass
-{
-    public function routeAction($arg1, $arg2 = 'defaultValue2', $arg3 = 'defaultValue3')
-    {
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
deleted file mode 100644
index 320dc35..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses;
-
-class FooClass
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php
deleted file mode 100644
index 9fd5754..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures;
-
-use Symfony\Component\Routing\Loader\XmlFileLoader;
-use Symfony\Component\Config\Util\XmlUtils;
-
-/**
- * XmlFileLoader with schema validation turned off.
- */
-class CustomXmlFileLoader extends XmlFileLoader
-{
-    protected function loadFile($file)
-    {
-        return XmlUtils::loadFile($file, function () { return true; });
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php
deleted file mode 100644
index 15937bc..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures;
-
-use Symfony\Component\Routing\Matcher\UrlMatcher;
-use Symfony\Component\Routing\Matcher\RedirectableUrlMatcherInterface;
-
-/**
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class RedirectableUrlMatcher extends UrlMatcher implements RedirectableUrlMatcherInterface
-{
-    public function redirect($path, $route, $scheme = null)
-    {
-        return array(
-            '_controller' => 'Some controller reference...',
-            'path' => $path,
-            'scheme' => $scheme,
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/annotated.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/annotated.php
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache
deleted file mode 100644
index 26a561c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache
+++ /dev/null
@@ -1,163 +0,0 @@
-# skip "real" requests
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule .* - [QSA,L]
-
-# foo
-RewriteCond %{REQUEST_URI} ^/foo/(baz|symfony)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:foo,E=_ROUTING_param_bar:%1,E=_ROUTING_default_def:test]
-
-# foobar
-RewriteCond %{REQUEST_URI} ^/foo(?:/([^/]++))?$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:foobar,E=_ROUTING_param_bar:%1,E=_ROUTING_default_bar:toto]
-
-# bar
-RewriteCond %{REQUEST_URI} ^/bar/([^/]++)$
-RewriteCond %{REQUEST_METHOD} !^(GET|HEAD)$ [NC]
-RewriteRule .* - [S=1,E=_ROUTING_allow_GET:1,E=_ROUTING_allow_HEAD:1]
-RewriteCond %{REQUEST_URI} ^/bar/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:bar,E=_ROUTING_param_foo:%1]
-
-# baragain
-RewriteCond %{REQUEST_URI} ^/baragain/([^/]++)$
-RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)$ [NC]
-RewriteRule .* - [S=1,E=_ROUTING_allow_GET:1,E=_ROUTING_allow_POST:1,E=_ROUTING_allow_HEAD:1]
-RewriteCond %{REQUEST_URI} ^/baragain/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baragain,E=_ROUTING_param_foo:%1]
-
-# baz
-RewriteCond %{REQUEST_URI} ^/test/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz]
-
-# baz2
-RewriteCond %{REQUEST_URI} ^/test/baz\.html$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz2]
-
-# baz3
-RewriteCond %{REQUEST_URI} ^/test/baz3$
-RewriteRule .* $0/ [QSA,L,R=301]
-RewriteCond %{REQUEST_URI} ^/test/baz3/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz3]
-
-# baz4
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)$
-RewriteRule .* $0/ [QSA,L,R=301]
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz4,E=_ROUTING_param_foo:%1]
-
-# baz5
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)/$
-RewriteCond %{REQUEST_METHOD} !^(GET|HEAD)$ [NC]
-RewriteRule .* - [S=2,E=_ROUTING_allow_GET:1,E=_ROUTING_allow_HEAD:1]
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)$
-RewriteRule .* $0/ [QSA,L,R=301]
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz5,E=_ROUTING_param_foo:%1]
-
-# baz5unsafe
-RewriteCond %{REQUEST_URI} ^/testunsafe/([^/]++)/$
-RewriteCond %{REQUEST_METHOD} !^(POST)$ [NC]
-RewriteRule .* - [S=1,E=_ROUTING_allow_POST:1]
-RewriteCond %{REQUEST_URI} ^/testunsafe/([^/]++)/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz5unsafe,E=_ROUTING_param_foo:%1]
-
-# baz6
-RewriteCond %{REQUEST_URI} ^/test/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz6,E=_ROUTING_default_foo:bar\ baz]
-
-# baz7
-RewriteCond %{REQUEST_URI} ^/te\ st/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz7]
-
-# baz8
-RewriteCond %{REQUEST_URI} ^/te\\\ st/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz8]
-
-# baz9
-RewriteCond %{REQUEST_URI} ^/test/(te\\\ st)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz9,E=_ROUTING_param_baz:%1]
-
-RewriteCond %{HTTP:Host} ^a\.example\.com$
-RewriteRule .? - [E=__ROUTING_host_1:1]
-
-# route1
-RewriteCond %{ENV:__ROUTING_host_1} =1
-RewriteCond %{REQUEST_URI} ^/route1$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route1]
-
-# route2
-RewriteCond %{ENV:__ROUTING_host_1} =1
-RewriteCond %{REQUEST_URI} ^/c2/route2$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route2]
-
-RewriteCond %{HTTP:Host} ^b\.example\.com$
-RewriteRule .? - [E=__ROUTING_host_2:1]
-
-# route3
-RewriteCond %{ENV:__ROUTING_host_2} =1
-RewriteCond %{REQUEST_URI} ^/c2/route3$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route3]
-
-RewriteCond %{HTTP:Host} ^a\.example\.com$
-RewriteRule .? - [E=__ROUTING_host_3:1]
-
-# route4
-RewriteCond %{ENV:__ROUTING_host_3} =1
-RewriteCond %{REQUEST_URI} ^/route4$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route4]
-
-RewriteCond %{HTTP:Host} ^c\.example\.com$
-RewriteRule .? - [E=__ROUTING_host_4:1]
-
-# route5
-RewriteCond %{ENV:__ROUTING_host_4} =1
-RewriteCond %{REQUEST_URI} ^/route5$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route5]
-
-# route6
-RewriteCond %{REQUEST_URI} ^/route6$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route6]
-
-RewriteCond %{HTTP:Host} ^([^\.]++)\.example\.com$
-RewriteRule .? - [E=__ROUTING_host_5:1,E=__ROUTING_host_5_var1:%1]
-
-# route11
-RewriteCond %{ENV:__ROUTING_host_5} =1
-RewriteCond %{REQUEST_URI} ^/route11$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route11,E=_ROUTING_param_var1:%{ENV:__ROUTING_host_5_var1}]
-
-# route12
-RewriteCond %{ENV:__ROUTING_host_5} =1
-RewriteCond %{REQUEST_URI} ^/route12$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route12,E=_ROUTING_param_var1:%{ENV:__ROUTING_host_5_var1},E=_ROUTING_default_var1:val]
-
-# route13
-RewriteCond %{ENV:__ROUTING_host_5} =1
-RewriteCond %{REQUEST_URI} ^/route13/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route13,E=_ROUTING_param_var1:%{ENV:__ROUTING_host_5_var1},E=_ROUTING_param_name:%1]
-
-# route14
-RewriteCond %{ENV:__ROUTING_host_5} =1
-RewriteCond %{REQUEST_URI} ^/route14/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route14,E=_ROUTING_param_var1:%{ENV:__ROUTING_host_5_var1},E=_ROUTING_param_name:%1,E=_ROUTING_default_var1:val]
-
-RewriteCond %{HTTP:Host} ^c\.example\.com$
-RewriteRule .? - [E=__ROUTING_host_6:1]
-
-# route15
-RewriteCond %{ENV:__ROUTING_host_6} =1
-RewriteCond %{REQUEST_URI} ^/route15/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route15,E=_ROUTING_param_name:%1]
-
-# route16
-RewriteCond %{REQUEST_URI} ^/route16/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route16,E=_ROUTING_param_name:%1,E=_ROUTING_default_var1:val]
-
-# route17
-RewriteCond %{REQUEST_URI} ^/route17$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route17]
-
-# 405 Method Not Allowed
-RewriteCond %{ENV:_ROUTING__allow_GET} =1 [OR]
-RewriteCond %{ENV:_ROUTING__allow_HEAD} =1 [OR]
-RewriteCond %{ENV:_ROUTING__allow_POST} =1
-RewriteRule .* app.php [QSA,L]
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php
deleted file mode 100644
index 4ea0b8a..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php
+++ /dev/null
@@ -1,312 +0,0 @@
-<?php
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RequestContext;
-
-/**
- * ProjectUrlMatcher.
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
-{
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    public function match($pathinfo)
-    {
-        $allow = array();
-        $pathinfo = rawurldecode($pathinfo);
-        $context = $this->context;
-        $request = $this->request;
-
-        // foo
-        if (0 === strpos($pathinfo, '/foo') && preg_match('#^/foo/(?P<bar>baz|symfony)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo')), array (  'def' => 'test',));
-        }
-
-        if (0 === strpos($pathinfo, '/bar')) {
-            // bar
-            if (preg_match('#^/bar/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_bar;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar')), array ());
-            }
-            not_bar:
-
-            // barhead
-            if (0 === strpos($pathinfo, '/barhead') && preg_match('#^/barhead/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_barhead;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'barhead')), array ());
-            }
-            not_barhead:
-
-        }
-
-        if (0 === strpos($pathinfo, '/test')) {
-            if (0 === strpos($pathinfo, '/test/baz')) {
-                // baz
-                if ($pathinfo === '/test/baz') {
-                    return array('_route' => 'baz');
-                }
-
-                // baz2
-                if ($pathinfo === '/test/baz.html') {
-                    return array('_route' => 'baz2');
-                }
-
-                // baz3
-                if ($pathinfo === '/test/baz3/') {
-                    return array('_route' => 'baz3');
-                }
-
-            }
-
-            // baz4
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz4')), array ());
-            }
-
-            // baz5
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'POST') {
-                    $allow[] = 'POST';
-                    goto not_baz5;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz5')), array ());
-            }
-            not_baz5:
-
-            // baz.baz6
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'PUT') {
-                    $allow[] = 'PUT';
-                    goto not_bazbaz6;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz.baz6')), array ());
-            }
-            not_bazbaz6:
-
-        }
-
-        // foofoo
-        if ($pathinfo === '/foofoo') {
-            return array (  'def' => 'test',  '_route' => 'foofoo',);
-        }
-
-        // quoter
-        if (preg_match('#^/(?P<quoter>[\']+)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'quoter')), array ());
-        }
-
-        // space
-        if ($pathinfo === '/spa ce') {
-            return array('_route' => 'space');
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo1
-                if (preg_match('#^/a/b\'b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo1')), array ());
-                }
-
-                // bar1
-                if (preg_match('#^/a/b\'b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar1')), array ());
-                }
-
-            }
-
-            // overridden
-            if (preg_match('#^/a/(?P<var>.*)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'overridden')), array ());
-            }
-
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo2
-                if (preg_match('#^/a/b\'b/(?P<foo1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo2')), array ());
-                }
-
-                // bar2
-                if (preg_match('#^/a/b\'b/(?P<bar1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar2')), array ());
-                }
-
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/multi')) {
-            // helloWorld
-            if (0 === strpos($pathinfo, '/multi/hello') && preg_match('#^/multi/hello(?:/(?P<who>[^/]++))?$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'helloWorld')), array (  'who' => 'World!',));
-            }
-
-            // overridden2
-            if ($pathinfo === '/multi/new') {
-                return array('_route' => 'overridden2');
-            }
-
-            // hey
-            if ($pathinfo === '/multi/hey/') {
-                return array('_route' => 'hey');
-            }
-
-        }
-
-        // foo3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo3')), array ());
-        }
-
-        // bar3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar3')), array ());
-        }
-
-        if (0 === strpos($pathinfo, '/aba')) {
-            // ababa
-            if ($pathinfo === '/ababa') {
-                return array('_route' => 'ababa');
-            }
-
-            // foo4
-            if (preg_match('#^/aba/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo4')), array ());
-            }
-
-        }
-
-        $host = $this->context->getHost();
-
-        if (preg_match('#^a\\.example\\.com$#si', $host, $hostMatches)) {
-            // route1
-            if ($pathinfo === '/route1') {
-                return array('_route' => 'route1');
-            }
-
-            // route2
-            if ($pathinfo === '/c2/route2') {
-                return array('_route' => 'route2');
-            }
-
-        }
-
-        if (preg_match('#^b\\.example\\.com$#si', $host, $hostMatches)) {
-            // route3
-            if ($pathinfo === '/c2/route3') {
-                return array('_route' => 'route3');
-            }
-
-        }
-
-        if (preg_match('#^a\\.example\\.com$#si', $host, $hostMatches)) {
-            // route4
-            if ($pathinfo === '/route4') {
-                return array('_route' => 'route4');
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#si', $host, $hostMatches)) {
-            // route5
-            if ($pathinfo === '/route5') {
-                return array('_route' => 'route5');
-            }
-
-        }
-
-        // route6
-        if ($pathinfo === '/route6') {
-            return array('_route' => 'route6');
-        }
-
-        if (preg_match('#^(?P<var1>[^\\.]++)\\.example\\.com$#si', $host, $hostMatches)) {
-            if (0 === strpos($pathinfo, '/route1')) {
-                // route11
-                if ($pathinfo === '/route11') {
-                    return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route11')), array ());
-                }
-
-                // route12
-                if ($pathinfo === '/route12') {
-                    return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route12')), array (  'var1' => 'val',));
-                }
-
-                // route13
-                if (0 === strpos($pathinfo, '/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route13')), array ());
-                }
-
-                // route14
-                if (0 === strpos($pathinfo, '/route14') && preg_match('#^/route14/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route14')), array (  'var1' => 'val',));
-                }
-
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#si', $host, $hostMatches)) {
-            // route15
-            if (0 === strpos($pathinfo, '/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route15')), array ());
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/route1')) {
-            // route16
-            if (0 === strpos($pathinfo, '/route16') && preg_match('#^/route16/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route16')), array (  'var1' => 'val',));
-            }
-
-            // route17
-            if ($pathinfo === '/route17') {
-                return array('_route' => 'route17');
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            // a
-            if ($pathinfo === '/a/a...') {
-                return array('_route' => 'a');
-            }
-
-            if (0 === strpos($pathinfo, '/a/b')) {
-                // b
-                if (preg_match('#^/a/b/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'b')), array ());
-                }
-
-                // c
-                if (0 === strpos($pathinfo, '/a/b/c') && preg_match('#^/a/b/c/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'c')), array ());
-                }
-
-            }
-
-        }
-
-        throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache
deleted file mode 100644
index 309f2ff..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache
+++ /dev/null
@@ -1,7 +0,0 @@
-# skip "real" requests
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule .* - [QSA,L]
-
-# foo
-RewriteCond %{REQUEST_URI} ^/foo$
-RewriteRule .* ap\ p_d\ ev.php [QSA,L,E=_ROUTING_route:foo]
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php
deleted file mode 100644
index f9d3fa2..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php
+++ /dev/null
@@ -1,344 +0,0 @@
-<?php
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RequestContext;
-
-/**
- * ProjectUrlMatcher.
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher
-{
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    public function match($pathinfo)
-    {
-        $allow = array();
-        $pathinfo = rawurldecode($pathinfo);
-        $context = $this->context;
-        $request = $this->request;
-
-        // foo
-        if (0 === strpos($pathinfo, '/foo') && preg_match('#^/foo/(?P<bar>baz|symfony)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo')), array (  'def' => 'test',));
-        }
-
-        if (0 === strpos($pathinfo, '/bar')) {
-            // bar
-            if (preg_match('#^/bar/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_bar;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar')), array ());
-            }
-            not_bar:
-
-            // barhead
-            if (0 === strpos($pathinfo, '/barhead') && preg_match('#^/barhead/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_barhead;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'barhead')), array ());
-            }
-            not_barhead:
-
-        }
-
-        if (0 === strpos($pathinfo, '/test')) {
-            if (0 === strpos($pathinfo, '/test/baz')) {
-                // baz
-                if ($pathinfo === '/test/baz') {
-                    return array('_route' => 'baz');
-                }
-
-                // baz2
-                if ($pathinfo === '/test/baz.html') {
-                    return array('_route' => 'baz2');
-                }
-
-                // baz3
-                if (rtrim($pathinfo, '/') === '/test/baz3') {
-                    if (substr($pathinfo, -1) !== '/') {
-                        return $this->redirect($pathinfo.'/', 'baz3');
-                    }
-
-                    return array('_route' => 'baz3');
-                }
-
-            }
-
-            // baz4
-            if (preg_match('#^/test/(?P<foo>[^/]++)/?$#s', $pathinfo, $matches)) {
-                if (substr($pathinfo, -1) !== '/') {
-                    return $this->redirect($pathinfo.'/', 'baz4');
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz4')), array ());
-            }
-
-            // baz5
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'POST') {
-                    $allow[] = 'POST';
-                    goto not_baz5;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz5')), array ());
-            }
-            not_baz5:
-
-            // baz.baz6
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'PUT') {
-                    $allow[] = 'PUT';
-                    goto not_bazbaz6;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz.baz6')), array ());
-            }
-            not_bazbaz6:
-
-        }
-
-        // foofoo
-        if ($pathinfo === '/foofoo') {
-            return array (  'def' => 'test',  '_route' => 'foofoo',);
-        }
-
-        // quoter
-        if (preg_match('#^/(?P<quoter>[\']+)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'quoter')), array ());
-        }
-
-        // space
-        if ($pathinfo === '/spa ce') {
-            return array('_route' => 'space');
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo1
-                if (preg_match('#^/a/b\'b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo1')), array ());
-                }
-
-                // bar1
-                if (preg_match('#^/a/b\'b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar1')), array ());
-                }
-
-            }
-
-            // overridden
-            if (preg_match('#^/a/(?P<var>.*)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'overridden')), array ());
-            }
-
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo2
-                if (preg_match('#^/a/b\'b/(?P<foo1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo2')), array ());
-                }
-
-                // bar2
-                if (preg_match('#^/a/b\'b/(?P<bar1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar2')), array ());
-                }
-
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/multi')) {
-            // helloWorld
-            if (0 === strpos($pathinfo, '/multi/hello') && preg_match('#^/multi/hello(?:/(?P<who>[^/]++))?$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'helloWorld')), array (  'who' => 'World!',));
-            }
-
-            // overridden2
-            if ($pathinfo === '/multi/new') {
-                return array('_route' => 'overridden2');
-            }
-
-            // hey
-            if (rtrim($pathinfo, '/') === '/multi/hey') {
-                if (substr($pathinfo, -1) !== '/') {
-                    return $this->redirect($pathinfo.'/', 'hey');
-                }
-
-                return array('_route' => 'hey');
-            }
-
-        }
-
-        // foo3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo3')), array ());
-        }
-
-        // bar3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar3')), array ());
-        }
-
-        if (0 === strpos($pathinfo, '/aba')) {
-            // ababa
-            if ($pathinfo === '/ababa') {
-                return array('_route' => 'ababa');
-            }
-
-            // foo4
-            if (preg_match('#^/aba/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo4')), array ());
-            }
-
-        }
-
-        $host = $this->context->getHost();
-
-        if (preg_match('#^a\\.example\\.com$#si', $host, $hostMatches)) {
-            // route1
-            if ($pathinfo === '/route1') {
-                return array('_route' => 'route1');
-            }
-
-            // route2
-            if ($pathinfo === '/c2/route2') {
-                return array('_route' => 'route2');
-            }
-
-        }
-
-        if (preg_match('#^b\\.example\\.com$#si', $host, $hostMatches)) {
-            // route3
-            if ($pathinfo === '/c2/route3') {
-                return array('_route' => 'route3');
-            }
-
-        }
-
-        if (preg_match('#^a\\.example\\.com$#si', $host, $hostMatches)) {
-            // route4
-            if ($pathinfo === '/route4') {
-                return array('_route' => 'route4');
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#si', $host, $hostMatches)) {
-            // route5
-            if ($pathinfo === '/route5') {
-                return array('_route' => 'route5');
-            }
-
-        }
-
-        // route6
-        if ($pathinfo === '/route6') {
-            return array('_route' => 'route6');
-        }
-
-        if (preg_match('#^(?P<var1>[^\\.]++)\\.example\\.com$#si', $host, $hostMatches)) {
-            if (0 === strpos($pathinfo, '/route1')) {
-                // route11
-                if ($pathinfo === '/route11') {
-                    return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route11')), array ());
-                }
-
-                // route12
-                if ($pathinfo === '/route12') {
-                    return $this->mergeDefaults(array_replace($hostMatches, array('_route' => 'route12')), array (  'var1' => 'val',));
-                }
-
-                // route13
-                if (0 === strpos($pathinfo, '/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route13')), array ());
-                }
-
-                // route14
-                if (0 === strpos($pathinfo, '/route14') && preg_match('#^/route14/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostMatches, $matches, array('_route' => 'route14')), array (  'var1' => 'val',));
-                }
-
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#si', $host, $hostMatches)) {
-            // route15
-            if (0 === strpos($pathinfo, '/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route15')), array ());
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/route1')) {
-            // route16
-            if (0 === strpos($pathinfo, '/route16') && preg_match('#^/route16/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route16')), array (  'var1' => 'val',));
-            }
-
-            // route17
-            if ($pathinfo === '/route17') {
-                return array('_route' => 'route17');
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            // a
-            if ($pathinfo === '/a/a...') {
-                return array('_route' => 'a');
-            }
-
-            if (0 === strpos($pathinfo, '/a/b')) {
-                // b
-                if (preg_match('#^/a/b/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'b')), array ());
-                }
-
-                // c
-                if (0 === strpos($pathinfo, '/a/b/c') && preg_match('#^/a/b/c/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'c')), array ());
-                }
-
-            }
-
-        }
-
-        // secure
-        if ($pathinfo === '/secure') {
-            $requiredSchemes = array (  'https' => 0,);
-            if (!isset($requiredSchemes[$this->context->getScheme()])) {
-                return $this->redirect($pathinfo, 'secure', key($requiredSchemes));
-            }
-
-            return array('_route' => 'secure');
-        }
-
-        // nonsecure
-        if ($pathinfo === '/nonsecure') {
-            $requiredSchemes = array (  'http' => 0,);
-            if (!isset($requiredSchemes[$this->context->getScheme()])) {
-                return $this->redirect($pathinfo, 'nonsecure', key($requiredSchemes));
-            }
-
-            return array('_route' => 'nonsecure');
-        }
-
-        throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php
deleted file mode 100644
index d9da7b0..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RequestContext;
-
-/**
- * ProjectUrlMatcher.
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
-{
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    public function match($pathinfo)
-    {
-        $allow = array();
-        $pathinfo = rawurldecode($pathinfo);
-        $context = $this->context;
-        $request = $this->request;
-
-        if (0 === strpos($pathinfo, '/rootprefix')) {
-            // static
-            if ($pathinfo === '/rootprefix/test') {
-                return array('_route' => 'static');
-            }
-
-            // dynamic
-            if (preg_match('#^/rootprefix/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'dynamic')), array ());
-            }
-
-        }
-
-        // with-condition
-        if ($pathinfo === '/with-condition' && ($context->getMethod() == "GET")) {
-            return array('_route' => 'with-condition');
-        }
-
-        throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/empty.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/empty.yml
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo.xml
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo1.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo1.xml
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml
deleted file mode 100644
index df64d32..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-blog_show:
-    defaults:  { _controller: MyBlogBundle:Blog:show }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml
deleted file mode 100644
index 4ea4115..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route path="/test"></route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml
deleted file mode 100644
index ef5bc08..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="myroute"></route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml
deleted file mode 100644
index bdd6a47..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<r:routes xmlns:r="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <r:route id="blog_show" path="/blog/{slug}" host="{_locale}.example.com">
-        <r:default key="_controller">MyBundle:Blog:show</r:default>
-        <requirement xmlns="http://symfony.com/schema/routing" key="slug">\w+</requirement>
-        <r2:requirement xmlns:r2="http://symfony.com/schema/routing" key="_locale">en|fr|de</r2:requirement>
-        <r:option key="compiler_class">RouteCompiler</r:option>
-    </r:route>
-</r:routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml
deleted file mode 100644
index a3e9473..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-blog_show:
-    resource: validpattern.yml
-    path:     /test
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml
deleted file mode 100644
index 547cda3..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-blog_show:
-    path:    /blog/{slug}
-    type:    custom
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml
deleted file mode 100644
index 755e443..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="blog_show" path="/blog/{slug}">
-        <default key="_controller">MyBundle:Blog:show</default>
-        <requirement key="_method">GET</requirement>
-    <!-- </route> -->
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml
deleted file mode 100644
index 257cc56..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml
+++ /dev/null
@@ -1 +0,0 @@
-foo
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml
deleted file mode 100644
index cfa9992..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml
+++ /dev/null
@@ -1 +0,0 @@
-route: string
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml
deleted file mode 100644
index 015e270..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-someroute:
-  resource: path/to/some.yml
-  name_prefix: test_
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml
deleted file mode 100644
index 863ef03..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <foo>bar</foo>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml
deleted file mode 100644
index a46961e..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="blog_show" path="/blog/{slug}">
-        <default key="_controller">MyBundle:Blog:show</default>
-        <requirement key="_method">GET</requirement>
-        <option key="compiler_class">RouteCompiler</option>
-        <foo key="bar">baz</foo>
-    </route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/null_values.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/null_values.xml
deleted file mode 100644
index f9e2aa2..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/null_values.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="blog_show" path="/blog/{slug}">
-        <default key="foo" xsi:nil="true" />
-        <default key="bar" xsi:nil="1" />
-        <default key="foobar" xsi:nil="false">foo</default>
-        <default key="baz" xsi:nil="0">bar</default>
-    </route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml
deleted file mode 100644
index 78be239..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-"#$péß^a|":
-    path: "true"
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php
deleted file mode 100644
index 08badb4..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-
-$collection = new RouteCollection();
-$collection->add('blog_show', new Route(
-    '/blog/{slug}',
-    array('_controller' => 'MyBlogBundle:Blog:show'),
-    array('locale' => '\w+'),
-    array('compiler_class' => 'RouteCompiler'),
-    '{locale}.example.com',
-    array('https'),
-    array('GET', 'POST', 'put', 'OpTiOnS'),
-    'context.getMethod() == "GET"'
-));
-$collection->add('blog_show_legacy', new Route(
-    '/blog/{slug}',
-    array('_controller' => 'MyBlogBundle:Blog:show'),
-    array('_method' => 'GET|POST|put|OpTiOnS', '_scheme' => 'https', 'locale' => '\w+'),
-    array('compiler_class' => 'RouteCompiler'),
-    '{locale}.example.com',
-    array(),
-    array(),
-    'context.getMethod() == "GET"'
-));
-
-return $collection;
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml
deleted file mode 100644
index a822131..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="blog_show" path="/blog/{slug}" host="{locale}.example.com" methods="GET|POST  put,OpTiOnS" schemes="hTTps">
-        <default key="_controller">MyBundle:Blog:show</default>
-        <requirement key="locale">\w+</requirement>
-        <option key="compiler_class">RouteCompiler</option>
-        <condition>context.getMethod() == "GET"</condition>
-    </route>
-
-    <route id="blog_show_legacy" pattern="/blog/{slug}" host="{locale}.example.com">
-        <default key="_controller">MyBundle:Blog:show</default>
-        <default key="slug" xsi:nil="true" />
-        <requirement key="_method">GET|POST|put|OpTiOnS</requirement>
-        <requirement key="_scheme">hTTps</requirement>
-        <requirement key="locale">\w+</requirement>
-        <option key="compiler_class">RouteCompiler</option>
-        <condition>context.getMethod() == "GET"</condition>
-    </route>
-
-    <route id="blog_show_inherited" path="/blog/{slug}" />
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml
deleted file mode 100644
index 26136c3..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-blog_show:
-    path:         /blog/{slug}
-    defaults:     { _controller: "MyBundle:Blog:show" }
-    host:         "{locale}.example.com"
-    requirements: { 'locale': '\w+' }
-    methods:      ['GET','POST','put','OpTiOnS']
-    schemes:      ['https']
-    condition:    'context.getMethod() == "GET"'
-    options:
-        compiler_class: RouteCompiler
-
-blog_show_legacy:
-    pattern:      /blog/{slug}
-    defaults:     { _controller: "MyBundle:Blog:show" }
-    host:         "{locale}.example.com"
-    requirements: { '_method': 'GET|POST|put|OpTiOnS', _scheme: https, 'locale': '\w+' }
-    condition:    'context.getMethod() == "GET"'
-    options:
-        compiler_class: RouteCompiler
-
-blog_show_inherited:
-    path:      /blog/{slug}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.php
deleted file mode 100644
index 482c80b..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/** @var $loader \Symfony\Component\Routing\Loader\PhpFileLoader */
-/** @var \Symfony\Component\Routing\RouteCollection $collection */
-$collection = $loader->import('validpattern.php');
-$collection->addDefaults(array(
-    'foo' => 123,
-));
-$collection->addRequirements(array(
-    'foo' => '\d+',
-));
-$collection->addOptions(array(
-    'foo' => 'bar',
-));
-$collection->setCondition('context.getMethod() == "POST"');
-$collection->addPrefix('/prefix');
-
-return $collection;
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml
deleted file mode 100644
index b7a15dd..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <import resource="validpattern.xml" prefix="/{foo}" host="">
-        <default key="foo">123</default>
-        <requirement key="foo">\d+</requirement>
-        <option key="foo">bar</option>
-        <condition>context.getMethod() == "POST"</condition>
-    </import>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml
deleted file mode 100644
index faf2263..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-_blog:
-    resource:     validpattern.yml
-    prefix:       /{foo}
-    defaults:     { 'foo': '123' }
-    requirements: { 'foo': '\d+' }
-    options:      { 'foo': 'bar' }
-    host:         ""
-    condition:    'context.getMethod() == "POST"'
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/with_define_path_variable.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/with_define_path_variable.php
deleted file mode 100644
index 5871420..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/with_define_path_variable.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-$path = '/1/2/3';
-
-return new \Symfony\Component\Routing\RouteCollection();
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml
deleted file mode 100644
index f217d5b..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE foo>
-<foo></foo>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
deleted file mode 100644
index 170c5b4..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Generator\Dumper;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\Generator\Dumper\PhpGeneratorDumper;
-use Symfony\Component\Routing\RequestContext;
-
-class PhpGeneratorDumperTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var RouteCollection
-     */
-    private $routeCollection;
-
-    /**
-     * @var PhpGeneratorDumper
-     */
-    private $generatorDumper;
-
-    /**
-     * @var string
-     */
-    private $testTmpFilepath;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->routeCollection = new RouteCollection();
-        $this->generatorDumper = new PhpGeneratorDumper($this->routeCollection);
-        $this->testTmpFilepath = sys_get_temp_dir().DIRECTORY_SEPARATOR.'php_generator.php';
-        @unlink($this->testTmpFilepath);
-    }
-
-    protected function tearDown()
-    {
-        parent::tearDown();
-
-        @unlink($this->testTmpFilepath);
-
-        $this->routeCollection = null;
-        $this->generatorDumper = null;
-        $this->testTmpFilepath = null;
-    }
-
-    public function testDumpWithRoutes()
-    {
-        $this->routeCollection->add('Test', new Route('/testing/{foo}'));
-        $this->routeCollection->add('Test2', new Route('/testing2'));
-
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump());
-        include $this->testTmpFilepath;
-
-        $projectUrlGenerator = new \ProjectUrlGenerator(new RequestContext('/app.php'));
-
-        $absoluteUrlWithParameter = $projectUrlGenerator->generate('Test', array('foo' => 'bar'), true);
-        $absoluteUrlWithoutParameter = $projectUrlGenerator->generate('Test2', array(), true);
-        $relativeUrlWithParameter = $projectUrlGenerator->generate('Test', array('foo' => 'bar'), false);
-        $relativeUrlWithoutParameter = $projectUrlGenerator->generate('Test2', array(), false);
-
-        $this->assertEquals($absoluteUrlWithParameter, 'http://localhost/app.php/testing/bar');
-        $this->assertEquals($absoluteUrlWithoutParameter, 'http://localhost/app.php/testing2');
-        $this->assertEquals($relativeUrlWithParameter, '/app.php/testing/bar');
-        $this->assertEquals($relativeUrlWithoutParameter, '/app.php/testing2');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testDumpWithoutRoutes()
-    {
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'WithoutRoutesUrlGenerator')));
-        include $this->testTmpFilepath;
-
-        $projectUrlGenerator = new \WithoutRoutesUrlGenerator(new RequestContext('/app.php'));
-
-        $projectUrlGenerator->generate('Test', array());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\RouteNotFoundException
-     */
-    public function testGenerateNonExistingRoute()
-    {
-        $this->routeCollection->add('Test', new Route('/test'));
-
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'NonExistingRoutesUrlGenerator')));
-        include $this->testTmpFilepath;
-
-        $projectUrlGenerator = new \NonExistingRoutesUrlGenerator(new RequestContext());
-        $url = $projectUrlGenerator->generate('NonExisting', array());
-    }
-
-    public function testDumpForRouteWithDefaults()
-    {
-        $this->routeCollection->add('Test', new Route('/testing/{foo}', array('foo' => 'bar')));
-
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'DefaultRoutesUrlGenerator')));
-        include $this->testTmpFilepath;
-
-        $projectUrlGenerator = new \DefaultRoutesUrlGenerator(new RequestContext());
-        $url = $projectUrlGenerator->generate('Test', array());
-
-        $this->assertEquals($url, '/testing');
-    }
-
-    public function testDumpWithSchemeRequirement()
-    {
-        $this->routeCollection->add('Test1', new Route('/testing', array(), array(), array(), '', array('ftp', 'https')));
-        $this->routeCollection->add('Test2', new Route('/testing_bc', array(), array('_scheme' => 'https'))); // BC
-
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'SchemeUrlGenerator')));
-        include $this->testTmpFilepath;
-
-        $projectUrlGenerator = new \SchemeUrlGenerator(new RequestContext('/app.php'));
-
-        $absoluteUrl = $projectUrlGenerator->generate('Test1', array(), true);
-        $absoluteUrlBC = $projectUrlGenerator->generate('Test2', array(), true);
-        $relativeUrl = $projectUrlGenerator->generate('Test1', array(), false);
-        $relativeUrlBC = $projectUrlGenerator->generate('Test2', array(), false);
-
-        $this->assertEquals($absoluteUrl, 'ftp://localhost/app.php/testing');
-        $this->assertEquals($absoluteUrlBC, 'https://localhost/app.php/testing_bc');
-        $this->assertEquals($relativeUrl, 'ftp://localhost/app.php/testing');
-        $this->assertEquals($relativeUrlBC, 'https://localhost/app.php/testing_bc');
-
-        $projectUrlGenerator = new \SchemeUrlGenerator(new RequestContext('/app.php', 'GET', 'localhost', 'https'));
-
-        $absoluteUrl = $projectUrlGenerator->generate('Test1', array(), true);
-        $absoluteUrlBC = $projectUrlGenerator->generate('Test2', array(), true);
-        $relativeUrl = $projectUrlGenerator->generate('Test1', array(), false);
-        $relativeUrlBC = $projectUrlGenerator->generate('Test2', array(), false);
-
-        $this->assertEquals($absoluteUrl, 'https://localhost/app.php/testing');
-        $this->assertEquals($absoluteUrlBC, 'https://localhost/app.php/testing_bc');
-        $this->assertEquals($relativeUrl, '/app.php/testing');
-        $this->assertEquals($relativeUrlBC, '/app.php/testing_bc');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
deleted file mode 100644
index 9419e13..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
+++ /dev/null
@@ -1,678 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Generator;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\Generator\UrlGenerator;
-use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
-use Symfony\Component\Routing\RequestContext;
-
-class UrlGeneratorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAbsoluteUrlWithPort80()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array(), true);
-
-        $this->assertEquals('http://localhost/app.php/testing', $url);
-    }
-
-    public function testAbsoluteSecureUrlWithPort443()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes, array('scheme' => 'https'))->generate('test', array(), true);
-
-        $this->assertEquals('https://localhost/app.php/testing', $url);
-    }
-
-    public function testAbsoluteUrlWithNonStandardPort()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes, array('httpPort' => 8080))->generate('test', array(), true);
-
-        $this->assertEquals('http://localhost:8080/app.php/testing', $url);
-    }
-
-    public function testAbsoluteSecureUrlWithNonStandardPort()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes, array('httpsPort' => 8080, 'scheme' => 'https'))->generate('test', array(), true);
-
-        $this->assertEquals('https://localhost:8080/app.php/testing', $url);
-    }
-
-    public function testRelativeUrlWithoutParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array(), false);
-
-        $this->assertEquals('/app.php/testing', $url);
-    }
-
-    public function testRelativeUrlWithParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), false);
-
-        $this->assertEquals('/app.php/testing/bar', $url);
-    }
-
-    public function testRelativeUrlWithNullParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing.{format}', array('format' => null)));
-        $url = $this->getGenerator($routes)->generate('test', array(), false);
-
-        $this->assertEquals('/app.php/testing', $url);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testRelativeUrlWithNullParameterButNotOptional()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}/bar', array('foo' => null)));
-        // This must raise an exception because the default requirement for "foo" is "[^/]+" which is not met with these params.
-        // Generating path "/testing//bar" would be wrong as matching this route would fail.
-        $this->getGenerator($routes)->generate('test', array(), false);
-    }
-
-    public function testRelativeUrlWithOptionalZeroParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{page}'));
-        $url = $this->getGenerator($routes)->generate('test', array('page' => 0), false);
-
-        $this->assertEquals('/app.php/testing/0', $url);
-    }
-
-    public function testNotPassedOptionalParameterInBetween()
-    {
-        $routes = $this->getRoutes('test', new Route('/{slug}/{page}', array('slug' => 'index', 'page' => 0)));
-        $this->assertSame('/app.php/index/1', $this->getGenerator($routes)->generate('test', array('page' => 1)));
-        $this->assertSame('/app.php/', $this->getGenerator($routes)->generate('test'));
-    }
-
-    public function testRelativeUrlWithExtraParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), false);
-
-        $this->assertEquals('/app.php/testing?foo=bar', $url);
-    }
-
-    public function testAbsoluteUrlWithExtraParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), true);
-
-        $this->assertEquals('http://localhost/app.php/testing?foo=bar', $url);
-    }
-
-    public function testUrlWithNullExtraParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => null), true);
-
-        $this->assertEquals('http://localhost/app.php/testing', $url);
-    }
-
-    public function testUrlWithExtraParametersFromGlobals()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $generator = $this->getGenerator($routes);
-        $context = new RequestContext('/app.php');
-        $context->setParameter('bar', 'bar');
-        $generator->setContext($context);
-        $url = $generator->generate('test', array('foo' => 'bar'));
-
-        $this->assertEquals('/app.php/testing?foo=bar', $url);
-    }
-
-    public function testUrlWithGlobalParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}'));
-        $generator = $this->getGenerator($routes);
-        $context = new RequestContext('/app.php');
-        $context->setParameter('foo', 'bar');
-        $generator->setContext($context);
-        $url = $generator->generate('test', array());
-
-        $this->assertEquals('/app.php/testing/bar', $url);
-    }
-
-    public function testGlobalParameterHasHigherPriorityThanDefault()
-    {
-        $routes = $this->getRoutes('test', new Route('/{_locale}', array('_locale' => 'en')));
-        $generator = $this->getGenerator($routes);
-        $context = new RequestContext('/app.php');
-        $context->setParameter('_locale', 'de');
-        $generator->setContext($context);
-        $url = $generator->generate('test', array());
-
-        $this->assertSame('/app.php/de', $url);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\RouteNotFoundException
-     */
-    public function testGenerateWithoutRoutes()
-    {
-        $routes = $this->getRoutes('foo', new Route('/testing/{foo}'));
-        $this->getGenerator($routes)->generate('test', array(), true);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\MissingMandatoryParametersException
-     */
-    public function testGenerateForRouteWithoutMandatoryParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}'));
-        $this->getGenerator($routes)->generate('test', array(), true);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testGenerateForRouteWithInvalidOptionalParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), true);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testGenerateForRouteWithInvalidParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array(), array('foo' => '1|2')));
-        $this->getGenerator($routes)->generate('test', array('foo' => '0'), true);
-    }
-
-    public function testGenerateForRouteWithInvalidOptionalParameterNonStrict()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $generator = $this->getGenerator($routes);
-        $generator->setStrictRequirements(false);
-        $this->assertNull($generator->generate('test', array('foo' => 'bar'), true));
-    }
-
-    public function testGenerateForRouteWithInvalidOptionalParameterNonStrictWithLogger()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $logger = $this->getMock('Psr\Log\LoggerInterface');
-        $logger->expects($this->once())
-            ->method('error');
-        $generator = $this->getGenerator($routes, array(), $logger);
-        $generator->setStrictRequirements(false);
-        $this->assertNull($generator->generate('test', array('foo' => 'bar'), true));
-    }
-
-    public function testGenerateForRouteWithInvalidParameterButDisabledRequirementsCheck()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $generator = $this->getGenerator($routes);
-        $generator->setStrictRequirements(null);
-        $this->assertSame('/app.php/testing/bar', $generator->generate('test', array('foo' => 'bar')));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testGenerateForRouteWithInvalidMandatoryParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array(), array('foo' => 'd+')));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), true);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testRequiredParamAndEmptyPassed()
-    {
-        $routes = $this->getRoutes('test', new Route('/{slug}', array(), array('slug' => '.+')));
-        $this->getGenerator($routes)->generate('test', array('slug' => ''));
-    }
-
-    public function testSchemeRequirementDoesNothingIfSameCurrentScheme()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'http'))); // BC
-        $this->assertEquals('/app.php/', $this->getGenerator($routes)->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'https'))); // BC
-        $this->assertEquals('/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array(), array(), '', array('http')));
-        $this->assertEquals('/app.php/', $this->getGenerator($routes)->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array(), array(), '', array('https')));
-        $this->assertEquals('/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test'));
-    }
-
-    public function testSchemeRequirementForcesAbsoluteUrl()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'https'))); // BC
-        $this->assertEquals('https://localhost/app.php/', $this->getGenerator($routes)->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'http'))); // BC
-        $this->assertEquals('http://localhost/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array(), array(), '', array('https')));
-        $this->assertEquals('https://localhost/app.php/', $this->getGenerator($routes)->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array(), array(), '', array('http')));
-        $this->assertEquals('http://localhost/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test'));
-    }
-
-    public function testSchemeRequirementCreatesUrlForFirstRequiredScheme()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array(), array(), '', array('Ftp', 'https')));
-        $this->assertEquals('ftp://localhost/app.php/', $this->getGenerator($routes)->generate('test'));
-    }
-
-    public function testPathWithTwoStartingSlashes()
-    {
-        $routes = $this->getRoutes('test', new Route('//path-and-not-domain'));
-
-        // this must not generate '//path-and-not-domain' because that would be a network path
-        $this->assertSame('/path-and-not-domain', $this->getGenerator($routes, array('BaseUrl' => ''))->generate('test'));
-    }
-
-    public function testNoTrailingSlashForMultipleOptionalParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/category/{slug1}/{slug2}/{slug3}', array('slug2' => null, 'slug3' => null)));
-
-        $this->assertEquals('/app.php/category/foo', $this->getGenerator($routes)->generate('test', array('slug1' => 'foo')));
-    }
-
-    public function testWithAnIntegerAsADefaultValue()
-    {
-        $routes = $this->getRoutes('test', new Route('/{default}', array('default' => 0)));
-
-        $this->assertEquals('/app.php/foo', $this->getGenerator($routes)->generate('test', array('default' => 'foo')));
-    }
-
-    public function testNullForOptionalParameterIsIgnored()
-    {
-        $routes = $this->getRoutes('test', new Route('/test/{default}', array('default' => 0)));
-
-        $this->assertEquals('/app.php/test', $this->getGenerator($routes)->generate('test', array('default' => null)));
-    }
-
-    public function testQueryParamSameAsDefault()
-    {
-        $routes = $this->getRoutes('test', new Route('/test', array('default' => 'value')));
-
-        $this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test', array('default' => 'foo')));
-        $this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test', array('default' => 'value')));
-        $this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test'));
-    }
-
-    public function testGenerateWithSpecialRouteName()
-    {
-        $routes = $this->getRoutes('$péß^a|', new Route('/bar'));
-
-        $this->assertSame('/app.php/bar', $this->getGenerator($routes)->generate('$péß^a|'));
-    }
-
-    public function testUrlEncoding()
-    {
-        // This tests the encoding of reserved characters that are used for delimiting of URI components (defined in RFC 3986)
-        // and other special ASCII chars. These chars are tested as static text path, variable path and query param.
-        $chars = '@:[]/()*\'" +,;-._~&$<>|{}%\\^`!?foo=bar#id';
-        $routes = $this->getRoutes('test', new Route("/$chars/{varpath}", array(), array('varpath' => '.+')));
-        $this->assertSame('/app.php/@:%5B%5D/%28%29*%27%22%20+,;-._~%26%24%3C%3E|%7B%7D%25%5C%5E%60!%3Ffoo=bar%23id'
-           .'/@:%5B%5D/%28%29*%27%22%20+,;-._~%26%24%3C%3E|%7B%7D%25%5C%5E%60!%3Ffoo=bar%23id'
-           .'?query=%40%3A%5B%5D/%28%29%2A%27%22+%2B%2C%3B-._%7E%26%24%3C%3E%7C%7B%7D%25%5C%5E%60%21%3Ffoo%3Dbar%23id',
-            $this->getGenerator($routes)->generate('test', array(
-                'varpath' => $chars,
-                'query' => $chars,
-            ))
-        );
-    }
-
-    public function testEncodingOfRelativePathSegments()
-    {
-        $routes = $this->getRoutes('test', new Route('/dir/../dir/..'));
-        $this->assertSame('/app.php/dir/%2E%2E/dir/%2E%2E', $this->getGenerator($routes)->generate('test'));
-        $routes = $this->getRoutes('test', new Route('/dir/./dir/.'));
-        $this->assertSame('/app.php/dir/%2E/dir/%2E', $this->getGenerator($routes)->generate('test'));
-        $routes = $this->getRoutes('test', new Route('/a./.a/a../..a/...'));
-        $this->assertSame('/app.php/a./.a/a../..a/...', $this->getGenerator($routes)->generate('test'));
-    }
-
-    public function testAdjacentVariables()
-    {
-        $routes = $this->getRoutes('test', new Route('/{x}{y}{z}.{_format}', array('z' => 'default-z', '_format' => 'html'), array('y' => '\d+')));
-        $generator = $this->getGenerator($routes);
-        $this->assertSame('/app.php/foo123', $generator->generate('test', array('x' => 'foo', 'y' => '123')));
-        $this->assertSame('/app.php/foo123bar.xml', $generator->generate('test', array('x' => 'foo', 'y' => '123', 'z' => 'bar', '_format' => 'xml')));
-
-        // The default requirement for 'x' should not allow the separator '.' in this case because it would otherwise match everything
-        // and following optional variables like _format could never match.
-        $this->setExpectedException('Symfony\Component\Routing\Exception\InvalidParameterException');
-        $generator->generate('test', array('x' => 'do.t', 'y' => '123', 'z' => 'bar', '_format' => 'xml'));
-    }
-
-    public function testOptionalVariableWithNoRealSeparator()
-    {
-        $routes = $this->getRoutes('test', new Route('/get{what}', array('what' => 'All')));
-        $generator = $this->getGenerator($routes);
-
-        $this->assertSame('/app.php/get', $generator->generate('test'));
-        $this->assertSame('/app.php/getSites', $generator->generate('test', array('what' => 'Sites')));
-    }
-
-    public function testRequiredVariableWithNoRealSeparator()
-    {
-        $routes = $this->getRoutes('test', new Route('/get{what}Suffix'));
-        $generator = $this->getGenerator($routes);
-
-        $this->assertSame('/app.php/getSitesSuffix', $generator->generate('test', array('what' => 'Sites')));
-    }
-
-    public function testDefaultRequirementOfVariable()
-    {
-        $routes = $this->getRoutes('test', new Route('/{page}.{_format}'));
-        $generator = $this->getGenerator($routes);
-
-        $this->assertSame('/app.php/index.mobile.html', $generator->generate('test', array('page' => 'index', '_format' => 'mobile.html')));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testDefaultRequirementOfVariableDisallowsSlash()
-    {
-        $routes = $this->getRoutes('test', new Route('/{page}.{_format}'));
-        $this->getGenerator($routes)->generate('test', array('page' => 'index', '_format' => 'sl/ash'));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testDefaultRequirementOfVariableDisallowsNextSeparator()
-    {
-        $routes = $this->getRoutes('test', new Route('/{page}.{_format}'));
-        $this->getGenerator($routes)->generate('test', array('page' => 'do.t', '_format' => 'html'));
-    }
-
-    public function testWithHostDifferentFromContext()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array(), array(), '{locale}.example.com'));
-
-        $this->assertEquals('//fr.example.com/app.php/Fabien', $this->getGenerator($routes)->generate('test', array('name' => 'Fabien', 'locale' => 'fr')));
-    }
-
-    public function testWithHostSameAsContext()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array(), array(), '{locale}.example.com'));
-
-        $this->assertEquals('/app.php/Fabien', $this->getGenerator($routes, array('host' => 'fr.example.com'))->generate('test', array('name' => 'Fabien', 'locale' => 'fr')));
-    }
-
-    public function testWithHostSameAsContextAndAbsolute()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array(), array(), '{locale}.example.com'));
-
-        $this->assertEquals('http://fr.example.com/app.php/Fabien', $this->getGenerator($routes, array('host' => 'fr.example.com'))->generate('test', array('name' => 'Fabien', 'locale' => 'fr'), true));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testUrlWithInvalidParameterInHost()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'baz'), false);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testUrlWithInvalidParameterInHostWhenParamHasADefaultValue()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array('foo' => 'bar'), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'baz'), false);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testUrlWithInvalidParameterEqualsDefaultValueInHost()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array('foo' => 'baz'), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'baz'), false);
-    }
-
-    public function testUrlWithInvalidParameterInHostInNonStrictMode()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $generator = $this->getGenerator($routes);
-        $generator->setStrictRequirements(false);
-        $this->assertNull($generator->generate('test', array('foo' => 'baz'), false));
-    }
-
-    public function testHostIsCaseInsensitive()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('locale' => 'en|de|fr'), array(), '{locale}.FooBar.com'));
-        $generator = $this->getGenerator($routes);
-        $this->assertSame('//EN.FooBar.com/app.php/', $generator->generate('test', array('locale' => 'EN'), UrlGeneratorInterface::NETWORK_PATH));
-    }
-
-    public function testGenerateNetworkPathBC()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array('_scheme' => 'http'), array(), '{locale}.example.com'));
-
-        $this->assertSame('//fr.example.com/app.php/Fabien', $this->getGenerator($routes)->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr'), UrlGeneratorInterface::NETWORK_PATH), 'network path with different host'
-        );
-        $this->assertSame('//fr.example.com/app.php/Fabien?query=string', $this->getGenerator($routes, array('host' => 'fr.example.com'))->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr', 'query' => 'string'), UrlGeneratorInterface::NETWORK_PATH), 'network path although host same as context'
-        );
-        $this->assertSame('http://fr.example.com/app.php/Fabien', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr'), UrlGeneratorInterface::NETWORK_PATH), 'absolute URL because scheme requirement does not match context'
-        );
-        $this->assertSame('http://fr.example.com/app.php/Fabien', $this->getGenerator($routes)->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr'), UrlGeneratorInterface::ABSOLUTE_URL), 'absolute URL with same scheme because it is requested'
-        );
-    }
-
-    public function testGenerateNetworkPath()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array(), array(), '{locale}.example.com', array('http')));
-
-        $this->assertSame('//fr.example.com/app.php/Fabien', $this->getGenerator($routes)->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr'), UrlGeneratorInterface::NETWORK_PATH), 'network path with different host'
-        );
-        $this->assertSame('//fr.example.com/app.php/Fabien?query=string', $this->getGenerator($routes, array('host' => 'fr.example.com'))->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr', 'query' => 'string'), UrlGeneratorInterface::NETWORK_PATH), 'network path although host same as context'
-        );
-        $this->assertSame('http://fr.example.com/app.php/Fabien', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr'), UrlGeneratorInterface::NETWORK_PATH), 'absolute URL because scheme requirement does not match context'
-        );
-        $this->assertSame('http://fr.example.com/app.php/Fabien', $this->getGenerator($routes)->generate('test',
-            array('name' => 'Fabien', 'locale' => 'fr'), UrlGeneratorInterface::ABSOLUTE_URL), 'absolute URL with same scheme because it is requested'
-        );
-    }
-
-    public function testGenerateRelativePath()
-    {
-        $routes = new RouteCollection();
-        $routes->add('article', new Route('/{author}/{article}/'));
-        $routes->add('comments', new Route('/{author}/{article}/comments'));
-        $routes->add('host', new Route('/{article}', array(), array(), array(), '{author}.example.com'));
-        $routes->add('schemeBC', new Route('/{author}', array(), array('_scheme' => 'https'))); // BC
-        $routes->add('scheme', new Route('/{author}/blog', array(), array(), array(), '', array('https')));
-        $routes->add('unrelated', new Route('/about'));
-
-        $generator = $this->getGenerator($routes, array('host' => 'example.com', 'pathInfo' => '/fabien/symfony-is-great/'));
-
-        $this->assertSame('comments', $generator->generate('comments',
-            array('author' => 'fabien', 'article' => 'symfony-is-great'), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-        $this->assertSame('comments?page=2', $generator->generate('comments',
-            array('author' => 'fabien', 'article' => 'symfony-is-great', 'page' => 2), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-        $this->assertSame('../twig-is-great/', $generator->generate('article',
-            array('author' => 'fabien', 'article' => 'twig-is-great'), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-        $this->assertSame('../../bernhard/forms-are-great/', $generator->generate('article',
-            array('author' => 'bernhard', 'article' => 'forms-are-great'), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-        $this->assertSame('//bernhard.example.com/app.php/forms-are-great', $generator->generate('host',
-            array('author' => 'bernhard', 'article' => 'forms-are-great'), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-        $this->assertSame('https://example.com/app.php/bernhard', $generator->generate('schemeBC',
-            array('author' => 'bernhard'), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-        $this->assertSame('https://example.com/app.php/bernhard/blog', $generator->generate('scheme',
-                array('author' => 'bernhard'), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-        $this->assertSame('../../about', $generator->generate('unrelated',
-            array(), UrlGeneratorInterface::RELATIVE_PATH)
-        );
-    }
-
-    /**
-     * @dataProvider provideRelativePaths
-     */
-    public function testGetRelativePath($sourcePath, $targetPath, $expectedPath)
-    {
-        $this->assertSame($expectedPath, UrlGenerator::getRelativePath($sourcePath, $targetPath));
-    }
-
-    public function provideRelativePaths()
-    {
-        return array(
-            array(
-                '/same/dir/',
-                '/same/dir/',
-                '',
-            ),
-            array(
-                '/same/file',
-                '/same/file',
-                '',
-            ),
-            array(
-                '/',
-                '/file',
-                'file',
-            ),
-            array(
-                '/',
-                '/dir/file',
-                'dir/file',
-            ),
-            array(
-                '/dir/file.html',
-                '/dir/different-file.html',
-                'different-file.html',
-            ),
-            array(
-                '/same/dir/extra-file',
-                '/same/dir/',
-                './',
-            ),
-            array(
-                '/parent/dir/',
-                '/parent/',
-                '../',
-            ),
-            array(
-                '/parent/dir/extra-file',
-                '/parent/',
-                '../',
-            ),
-            array(
-                '/a/b/',
-                '/x/y/z/',
-                '../../x/y/z/',
-            ),
-            array(
-                '/a/b/c/d/e',
-                '/a/c/d',
-                '../../../c/d',
-            ),
-            array(
-                '/a/b/c//',
-                '/a/b/c/',
-                '../',
-            ),
-            array(
-                '/a/b/c/',
-                '/a/b/c//',
-                './/',
-            ),
-            array(
-                '/root/a/b/c/',
-                '/root/x/b/c/',
-                '../../../x/b/c/',
-            ),
-            array(
-                '/a/b/c/d/',
-                '/a',
-                '../../../../a',
-            ),
-            array(
-                '/special-chars/sp%20ce/1€/mäh/e=mc²',
-                '/special-chars/sp%20ce/1€/<µ>/e=mc²',
-                '../<µ>/e=mc²',
-            ),
-            array(
-                'not-rooted',
-                'dir/file',
-                'dir/file',
-            ),
-            array(
-                '//dir/',
-                '',
-                '../../',
-            ),
-            array(
-                '/dir/',
-                '/dir/file:with-colon',
-                './file:with-colon',
-            ),
-            array(
-                '/dir/',
-                '/dir/subdir/file:with-colon',
-                'subdir/file:with-colon',
-            ),
-            array(
-                '/dir/',
-                '/dir/:subdir/',
-                './:subdir/',
-            ),
-        );
-    }
-
-    protected function getGenerator(RouteCollection $routes, array $parameters = array(), $logger = null)
-    {
-        $context = new RequestContext('/app.php');
-        foreach ($parameters as $key => $value) {
-            $method = 'set'.$key;
-            $context->$method($value);
-        }
-        $generator = new UrlGenerator($routes, $context, $logger);
-
-        return $generator;
-    }
-
-    protected function getRoutes($name, Route $route)
-    {
-        $routes = new RouteCollection();
-        $routes->add($name, $route);
-
-        return $routes;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php
deleted file mode 100644
index 288bf64..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-abstract class AbstractAnnotationLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function getReader()
-    {
-        return $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-    }
-
-    public function getClassLoader($reader)
-    {
-        return $this->getMockBuilder('Symfony\Component\Routing\Loader\AnnotationClassLoader')
-            ->setConstructorArgs(array($reader))
-            ->getMockForAbstractClass()
-        ;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php
deleted file mode 100644
index 03ba152..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Routing\Annotation\Route;
-
-class AnnotationClassLoaderTest extends AbstractAnnotationLoaderTest
-{
-    protected $loader;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->reader = $this->getReader();
-        $this->loader = $this->getClassLoader($this->reader);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLoadMissingClass()
-    {
-        $this->loader->load('MissingClass');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLoadAbstractClass()
-    {
-        $this->loader->load('Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\AbstractClass');
-    }
-
-    /**
-     * @dataProvider provideTestSupportsChecksResource
-     */
-    public function testSupportsChecksResource($resource, $expectedSupports)
-    {
-        $this->assertSame($expectedSupports, $this->loader->supports($resource), '->supports() returns true if the resource is loadable');
-    }
-
-    public function provideTestSupportsChecksResource()
-    {
-        return array(
-            array('class', true),
-            array('\fully\qualified\class\name', true),
-            array('namespaced\class\without\leading\slash', true),
-            array('ÿClassWithLegalSpecialCharacters', true),
-            array('5', false),
-            array('foo.foo', false),
-            array(null, false),
-        );
-    }
-
-    public function testSupportsChecksTypeIfSpecified()
-    {
-        $this->assertTrue($this->loader->supports('class', 'annotation'), '->supports() checks the resource type if specified');
-        $this->assertFalse($this->loader->supports('class', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function getLoadTests()
-    {
-        return array(
-            array(
-                'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass',
-                array('name' => 'route1'),
-                array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'),
-            ),
-            array(
-                'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass',
-                array('name' => 'route1', 'defaults' => array('arg2' => 'foo')),
-                array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'),
-            ),
-            array(
-                'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass',
-                array('name' => 'route1', 'defaults' => array('arg2' => 'foobar')),
-                array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'),
-            ),
-            array(
-                'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass',
-                array('name' => 'route1', 'defaults' => array('arg2' => 'foo'), 'condition' => 'context.getMethod() == "GET"'),
-                array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'),
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadTests
-     */
-    public function testLoad($className, $routeDatas = array(), $methodArgs = array())
-    {
-        $routeDatas = array_replace(array(
-            'name' => 'route',
-            'path' => '/',
-            'requirements' => array(),
-            'options' => array(),
-            'defaults' => array(),
-            'schemes' => array(),
-            'methods' => array(),
-            'condition' => null,
-        ), $routeDatas);
-
-        $this->reader
-            ->expects($this->once())
-            ->method('getMethodAnnotations')
-            ->will($this->returnValue(array($this->getAnnotatedRoute($routeDatas))))
-        ;
-        $routeCollection = $this->loader->load($className);
-        $route = $routeCollection->get($routeDatas['name']);
-
-        $this->assertSame($routeDatas['path'], $route->getPath(), '->load preserves path annotation');
-        $this->assertSame($routeDatas['requirements'], $route->getRequirements(), '->load preserves requirements annotation');
-        $this->assertCount(0, array_intersect($route->getOptions(), $routeDatas['options']), '->load preserves options annotation');
-        $this->assertSame(array_replace($methodArgs, $routeDatas['defaults']), $route->getDefaults(), '->load preserves defaults annotation');
-        $this->assertEquals($routeDatas['condition'], $route->getCondition(), '->load preserves condition annotation');
-    }
-
-    public function testClassRouteLoad()
-    {
-        $classRouteDatas = array('path' => '/classRoutePrefix');
-
-        $routeDatas = array(
-            'name' => 'route1',
-            'path' => '/',
-        );
-
-        $this->reader
-            ->expects($this->once())
-            ->method('getClassAnnotation')
-            ->will($this->returnValue($this->getAnnotatedRoute($classRouteDatas)))
-        ;
-
-        $this->reader
-            ->expects($this->once())
-            ->method('getMethodAnnotations')
-            ->will($this->returnValue(array($this->getAnnotatedRoute($routeDatas))))
-        ;
-        $routeCollection = $this->loader->load('Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass');
-        $route = $routeCollection->get($routeDatas['name']);
-
-        $this->assertSame($classRouteDatas['path'].$routeDatas['path'], $route->getPath(), '->load preserves class route path annotation');
-    }
-
-    private function getAnnotatedRoute($datas)
-    {
-        return new Route($datas);
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
deleted file mode 100644
index 29126ba..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Routing\Loader\AnnotationDirectoryLoader;
-use Symfony\Component\Config\FileLocator;
-
-class AnnotationDirectoryLoaderTest extends AbstractAnnotationLoaderTest
-{
-    protected $loader;
-    protected $reader;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->reader = $this->getReader();
-        $this->loader = new AnnotationDirectoryLoader(new FileLocator(), $this->getClassLoader($this->reader));
-    }
-
-    public function testLoad()
-    {
-        $this->reader->expects($this->exactly(2))->method('getClassAnnotation');
-
-        $this->reader
-            ->expects($this->any())
-            ->method('getMethodAnnotations')
-            ->will($this->returnValue(array()))
-        ;
-
-        $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses');
-    }
-
-    public function testSupports()
-    {
-        $fixturesDir = __DIR__.'/../Fixtures';
-
-        $this->assertTrue($this->loader->supports($fixturesDir), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($this->loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($this->loader->supports($fixturesDir, 'annotation'), '->supports() checks the resource type if specified');
-        $this->assertFalse($this->loader->supports($fixturesDir, 'foo'), '->supports() checks the resource type if specified');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php
deleted file mode 100644
index f0a8a0e..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Routing\Loader\AnnotationFileLoader;
-use Symfony\Component\Config\FileLocator;
-
-class AnnotationFileLoaderTest extends AbstractAnnotationLoaderTest
-{
-    protected $loader;
-    protected $reader;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->reader = $this->getReader();
-        $this->loader = new AnnotationFileLoader(new FileLocator(), $this->getClassLoader($this->reader));
-    }
-
-    public function testLoad()
-    {
-        $this->reader->expects($this->once())->method('getClassAnnotation');
-
-        $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses/FooClass.php');
-    }
-
-    public function testSupports()
-    {
-        $fixture = __DIR__.'/../Fixtures/annotated.php';
-
-        $this->assertTrue($this->loader->supports($fixture), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($this->loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($this->loader->supports($fixture, 'annotation'), '->supports() checks the resource type if specified');
-        $this->assertFalse($this->loader->supports($fixture, 'foo'), '->supports() checks the resource type if specified');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php
deleted file mode 100644
index d34fa87..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Routing\Loader\ClosureLoader;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-
-class ClosureLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSupports()
-    {
-        $loader = new ClosureLoader();
-
-        $closure = function () {};
-
-        $this->assertTrue($loader->supports($closure), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports($closure, 'closure'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports($closure, 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoad()
-    {
-        $loader = new ClosureLoader();
-
-        $route = new Route('/');
-        $routes = $loader->load(function () use ($route) {
-            $routes = new RouteCollection();
-
-            $routes->add('foo', $route);
-
-            return $routes;
-        });
-
-        $this->assertEquals($route, $routes->get('foo'), '->load() loads a \Closure resource');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php
deleted file mode 100644
index 8e2d984..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\Routing\Loader\PhpFileLoader;
-
-class PhpFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSupports()
-    {
-        $loader = new PhpFileLoader($this->getMock('Symfony\Component\Config\FileLocator'));
-
-        $this->assertTrue($loader->supports('foo.php'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports('foo.php', 'php'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports('foo.php', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoadWithRoute()
-    {
-        $loader = new PhpFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validpattern.php');
-        $routes = $routeCollection->all();
-
-        $this->assertCount(2, $routes, 'Two routes are loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-
-        foreach ($routes as $route) {
-            $this->assertSame('/blog/{slug}', $route->getPath());
-            $this->assertSame('MyBlogBundle:Blog:show', $route->getDefault('_controller'));
-            $this->assertSame('{locale}.example.com', $route->getHost());
-            $this->assertSame('RouteCompiler', $route->getOption('compiler_class'));
-            $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods());
-            $this->assertEquals(array('https'), $route->getSchemes());
-        }
-    }
-
-    public function testLoadWithImport()
-    {
-        $loader = new PhpFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validresource.php');
-        $routes = $routeCollection->all();
-
-        $this->assertCount(2, $routes, 'Two routes are loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-
-        foreach ($routes as $route) {
-            $this->assertSame('/prefix/blog/{slug}', $route->getPath());
-            $this->assertSame('MyBlogBundle:Blog:show', $route->getDefault('_controller'));
-            $this->assertSame('{locale}.example.com', $route->getHost());
-            $this->assertSame('RouteCompiler', $route->getOption('compiler_class'));
-            $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods());
-            $this->assertEquals(array('https'), $route->getSchemes());
-        }
-    }
-
-    public function testThatDefiningVariableInConfigFileHasNoSideEffects()
-    {
-        $locator = new FileLocator(array(__DIR__.'/../Fixtures'));
-        $loader = new PhpFileLoader($locator);
-        $routeCollection = $loader->load('with_define_path_variable.php');
-        $resources = $routeCollection->getResources();
-        $this->assertCount(1, $resources);
-        $this->assertContainsOnly('Symfony\Component\Config\Resource\ResourceInterface', $resources);
-        $fileResource = reset($resources);
-        $this->assertSame(
-            realpath($locator->locate('with_define_path_variable.php')),
-            (string) $fileResource
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
deleted file mode 100644
index c488c43..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\Routing\Loader\XmlFileLoader;
-use Symfony\Component\Routing\Tests\Fixtures\CustomXmlFileLoader;
-
-class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSupports()
-    {
-        $loader = new XmlFileLoader($this->getMock('Symfony\Component\Config\FileLocator'));
-
-        $this->assertTrue($loader->supports('foo.xml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports('foo.xml', 'xml'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports('foo.xml', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoadWithRoute()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validpattern.xml');
-        $routes = $routeCollection->all();
-
-        $this->assertCount(3, $routes, 'Three routes are loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-
-        $identicalRoutes = array_slice($routes, 0, 2);
-
-        foreach ($identicalRoutes as $route) {
-            $this->assertSame('/blog/{slug}', $route->getPath());
-            $this->assertSame('{locale}.example.com', $route->getHost());
-            $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller'));
-            $this->assertSame('\w+', $route->getRequirement('locale'));
-            $this->assertSame('RouteCompiler', $route->getOption('compiler_class'));
-            $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods());
-            $this->assertEquals(array('https'), $route->getSchemes());
-            $this->assertEquals('context.getMethod() == "GET"', $route->getCondition());
-        }
-    }
-
-    public function testLoadWithNamespacePrefix()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('namespaceprefix.xml');
-
-        $this->assertCount(1, $routeCollection->all(), 'One route is loaded');
-
-        $route = $routeCollection->get('blog_show');
-        $this->assertSame('/blog/{slug}', $route->getPath());
-        $this->assertSame('{_locale}.example.com', $route->getHost());
-        $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller'));
-        $this->assertSame('\w+', $route->getRequirement('slug'));
-        $this->assertSame('en|fr|de', $route->getRequirement('_locale'));
-        $this->assertNull($route->getDefault('slug'));
-        $this->assertSame('RouteCompiler', $route->getOption('compiler_class'));
-    }
-
-    public function testLoadWithImport()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validresource.xml');
-        $routes = $routeCollection->all();
-
-        $this->assertCount(3, $routes, 'Three routes are loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-
-        foreach ($routes as $route) {
-            $this->assertSame('/{foo}/blog/{slug}', $route->getPath());
-            $this->assertSame('123', $route->getDefault('foo'));
-            $this->assertSame('\d+', $route->getRequirement('foo'));
-            $this->assertSame('bar', $route->getOption('foo'));
-            $this->assertSame('', $route->getHost());
-            $this->assertSame('context.getMethod() == "POST"', $route->getCondition());
-        }
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getPathsToInvalidFiles
-     */
-    public function testLoadThrowsExceptionWithInvalidFile($filePath)
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load($filePath);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getPathsToInvalidFiles
-     */
-    public function testLoadThrowsExceptionWithInvalidFileEvenWithoutSchemaValidation($filePath)
-    {
-        $loader = new CustomXmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load($filePath);
-    }
-
-    public function getPathsToInvalidFiles()
-    {
-        return array(array('nonvalidnode.xml'), array('nonvalidroute.xml'), array('nonvalid.xml'), array('missing_id.xml'), array('missing_path.xml'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Document types are not allowed.
-     */
-    public function testDocTypeIsNotAllowed()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load('withdoctype.xml');
-    }
-
-    public function testNullValues()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('null_values.xml');
-        $route = $routeCollection->get('blog_show');
-
-        $this->assertTrue($route->hasDefault('foo'));
-        $this->assertNull($route->getDefault('foo'));
-        $this->assertTrue($route->hasDefault('bar'));
-        $this->assertNull($route->getDefault('bar'));
-        $this->assertEquals('foo', $route->getDefault('foobar'));
-        $this->assertEquals('bar', $route->getDefault('baz'));
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php
deleted file mode 100644
index 966768c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\Routing\Loader\YamlFileLoader;
-use Symfony\Component\Config\Resource\FileResource;
-
-class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSupports()
-    {
-        $loader = new YamlFileLoader($this->getMock('Symfony\Component\Config\FileLocator'));
-
-        $this->assertTrue($loader->supports('foo.yml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports('foo.yml', 'yaml'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports('foo.yml', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoadDoesNothingIfEmpty()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $collection = $loader->load('empty.yml');
-
-        $this->assertEquals(array(), $collection->all());
-        $this->assertEquals(array(new FileResource(realpath(__DIR__.'/../Fixtures/empty.yml'))), $collection->getResources());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getPathsToInvalidFiles
-     */
-    public function testLoadThrowsExceptionWithInvalidFile($filePath)
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load($filePath);
-    }
-
-    public function getPathsToInvalidFiles()
-    {
-        return array(array('nonvalid.yml'), array('nonvalid2.yml'), array('incomplete.yml'), array('nonvalidkeys.yml'), array('nonesense_resource_plus_path.yml'), array('nonesense_type_without_resource.yml'));
-    }
-
-    public function testLoadSpecialRouteName()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('special_route_name.yml');
-        $route = $routeCollection->get('#$péß^a|');
-
-        $this->assertInstanceOf('Symfony\Component\Routing\Route', $route);
-        $this->assertSame('/true', $route->getPath());
-    }
-
-    public function testLoadWithRoute()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validpattern.yml');
-        $routes = $routeCollection->all();
-
-        $this->assertCount(3, $routes, 'Three routes are loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-
-        $identicalRoutes = array_slice($routes, 0, 2);
-
-        foreach ($identicalRoutes as $route) {
-            $this->assertSame('/blog/{slug}', $route->getPath());
-            $this->assertSame('{locale}.example.com', $route->getHost());
-            $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller'));
-            $this->assertSame('\w+', $route->getRequirement('locale'));
-            $this->assertSame('RouteCompiler', $route->getOption('compiler_class'));
-            $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods());
-            $this->assertEquals(array('https'), $route->getSchemes());
-            $this->assertEquals('context.getMethod() == "GET"', $route->getCondition());
-        }
-    }
-
-    public function testLoadWithResource()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validresource.yml');
-        $routes = $routeCollection->all();
-
-        $this->assertCount(3, $routes, 'Three routes are loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-
-        foreach ($routes as $route) {
-            $this->assertSame('/{foo}/blog/{slug}', $route->getPath());
-            $this->assertSame('123', $route->getDefault('foo'));
-            $this->assertSame('\d+', $route->getRequirement('foo'));
-            $this->assertSame('bar', $route->getOption('foo'));
-            $this->assertSame('', $route->getHost());
-            $this->assertSame('context.getMethod() == "POST"', $route->getCondition());
-        }
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php
deleted file mode 100644
index 7b6001c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
-
-use Symfony\Component\Routing\Matcher\Dumper\DumperCollection;
-
-class DumperCollectionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetRoot()
-    {
-        $a = new DumperCollection();
-
-        $b = new DumperCollection();
-        $a->add($b);
-
-        $c = new DumperCollection();
-        $b->add($c);
-
-        $d = new DumperCollection();
-        $c->add($d);
-
-        $this->assertSame($a, $c->getRoot());
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php
deleted file mode 100644
index de01a75..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\Matcher\Dumper\DumperPrefixCollection;
-use Symfony\Component\Routing\Matcher\Dumper\DumperRoute;
-use Symfony\Component\Routing\Matcher\Dumper\DumperCollection;
-
-class DumperPrefixCollectionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAddPrefixRoute()
-    {
-        $coll = new DumperPrefixCollection();
-        $coll->setPrefix('');
-
-        $route = new DumperRoute('bar', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar2', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('qux', new Route('/foo/qux'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar3', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar4', new Route(''));
-        $result = $coll->addPrefixRoute($route);
-
-        $expect = <<<'EOF'
-            |-coll /
-            | |-coll /f
-            | | |-coll /fo
-            | | | |-coll /foo
-            | | | | |-coll /foo/
-            | | | | | |-coll /foo/b
-            | | | | | | |-coll /foo/ba
-            | | | | | | | |-coll /foo/bar
-            | | | | | | | | |-route bar /foo/bar
-            | | | | | | | | |-route bar2 /foo/bar
-            | | | | | |-coll /foo/q
-            | | | | | | |-coll /foo/qu
-            | | | | | | | |-coll /foo/qux
-            | | | | | | | | |-route qux /foo/qux
-            | | | | | |-coll /foo/b
-            | | | | | | |-coll /foo/ba
-            | | | | | | | |-coll /foo/bar
-            | | | | | | | | |-route bar3 /foo/bar
-            | |-route bar4 /
-
-EOF;
-
-        $this->assertSame($expect, $this->collectionToString($result->getRoot(), '            '));
-    }
-
-    public function testMergeSlashNodes()
-    {
-        $coll = new DumperPrefixCollection();
-        $coll->setPrefix('');
-
-        $route = new DumperRoute('bar', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar2', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('qux', new Route('/foo/qux'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar3', new Route('/foo/bar'));
-        $result = $coll->addPrefixRoute($route);
-
-        $result->getRoot()->mergeSlashNodes();
-
-        $expect = <<<'EOF'
-            |-coll /f
-            | |-coll /fo
-            | | |-coll /foo
-            | | | |-coll /foo/b
-            | | | | |-coll /foo/ba
-            | | | | | |-coll /foo/bar
-            | | | | | | |-route bar /foo/bar
-            | | | | | | |-route bar2 /foo/bar
-            | | | |-coll /foo/q
-            | | | | |-coll /foo/qu
-            | | | | | |-coll /foo/qux
-            | | | | | | |-route qux /foo/qux
-            | | | |-coll /foo/b
-            | | | | |-coll /foo/ba
-            | | | | | |-coll /foo/bar
-            | | | | | | |-route bar3 /foo/bar
-
-EOF;
-
-        $this->assertSame($expect, $this->collectionToString($result->getRoot(), '            '));
-    }
-
-    private function collectionToString(DumperCollection $collection, $prefix)
-    {
-        $string = '';
-        foreach ($collection as $route) {
-            if ($route instanceof DumperCollection) {
-                $string .= sprintf("%s|-coll %s\n", $prefix, $route->getPrefix());
-                $string .= $this->collectionToString($route, $prefix.'| ');
-            } else {
-                $string .= sprintf("%s|-route %s %s\n", $prefix, $route->getName(), $route->getRoute()->getPath());
-            }
-        }
-
-        return $string;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
deleted file mode 100644
index 5ba2502..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
+++ /dev/null
@@ -1,204 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Matcher\Dumper\ApacheMatcherDumper;
-
-/**
- * @group legacy
- */
-class LegacyApacheMatcherDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../../Fixtures/');
-    }
-
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-    }
-
-    public function testDump()
-    {
-        $dumper = new ApacheMatcherDumper($this->getRouteCollection());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/dumper/url_matcher1.apache', $dumper->dump(), '->dump() dumps basic routes to the correct apache format.');
-    }
-
-    /**
-     * @dataProvider provideEscapeFixtures
-     */
-    public function testEscapePattern($src, $dest, $char, $with, $message)
-    {
-        $r = new \ReflectionMethod(new ApacheMatcherDumper($this->getRouteCollection()), 'escape');
-        $r->setAccessible(true);
-        $this->assertEquals($dest, $r->invoke(null, $src, $char, $with), $message);
-    }
-
-    public function provideEscapeFixtures()
-    {
-        return array(
-            array('foo', 'foo', ' ', '-', 'Preserve string that should not be escaped'),
-            array('fo-o', 'fo-o', ' ', '-', 'Preserve string that should not be escaped'),
-            array('fo o', 'fo- o', ' ', '-', 'Escape special characters'),
-            array('fo-- o', 'fo--- o', ' ', '-', 'Escape special characters'),
-            array('fo- o', 'fo- o', ' ', '-', 'Do not escape already escaped string'),
-        );
-    }
-
-    public function testEscapeScriptName()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-        $dumper = new ApacheMatcherDumper($collection);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/dumper/url_matcher2.apache', $dumper->dump(array('script_name' => 'ap p_d\ ev.php')));
-    }
-
-    private function getRouteCollection()
-    {
-        $collection = new RouteCollection();
-
-        // defaults and requirements
-        $collection->add('foo', new Route(
-            '/foo/{bar}',
-            array('def' => 'test'),
-            array('bar' => 'baz|symfony')
-        ));
-        // defaults parameters in pattern
-        $collection->add('foobar', new Route(
-            '/foo/{bar}',
-            array('bar' => 'toto')
-        ));
-        // method requirement
-        $collection->add('bar', new Route(
-            '/bar/{foo}',
-            array(),
-            array('_method' => 'GET|head')
-        ));
-        // method requirement (again)
-        $collection->add('baragain', new Route(
-            '/baragain/{foo}',
-            array(),
-            array('_method' => 'get|post')
-        ));
-        // simple
-        $collection->add('baz', new Route(
-            '/test/baz'
-        ));
-        // simple with extension
-        $collection->add('baz2', new Route(
-            '/test/baz.html'
-        ));
-        // trailing slash
-        $collection->add('baz3', new Route(
-            '/test/baz3/'
-        ));
-        // trailing slash with variable
-        $collection->add('baz4', new Route(
-            '/test/{foo}/'
-        ));
-        // trailing slash and safe method
-        $collection->add('baz5', new Route(
-            '/test/{foo}/',
-            array(),
-            array('_method' => 'get')
-        ));
-        // trailing slash and unsafe method
-        $collection->add('baz5unsafe', new Route(
-            '/testunsafe/{foo}/',
-            array(),
-            array('_method' => 'post')
-        ));
-        // complex
-        $collection->add('baz6', new Route(
-            '/test/baz',
-            array('foo' => 'bar baz')
-        ));
-        // space in path
-        $collection->add('baz7', new Route(
-            '/te st/baz'
-        ));
-        // space preceded with \ in path
-        $collection->add('baz8', new Route(
-            '/te\\ st/baz'
-        ));
-        // space preceded with \ in requirement
-        $collection->add('baz9', new Route(
-            '/test/{baz}',
-            array(),
-            array(
-                'baz' => 'te\\\\ st',
-            )
-        ));
-
-        $collection1 = new RouteCollection();
-
-        $route1 = new Route('/route1', array(), array(), array(), 'a.example.com');
-        $collection1->add('route1', $route1);
-
-        $collection2 = new RouteCollection();
-
-        $route2 = new Route('/route2', array(), array(), array(), 'a.example.com');
-        $collection2->add('route2', $route2);
-
-        $route3 = new Route('/route3', array(), array(), array(), 'b.example.com');
-        $collection2->add('route3', $route3);
-
-        $collection2->addPrefix('/c2');
-        $collection1->addCollection($collection2);
-
-        $route4 = new Route('/route4', array(), array(), array(), 'a.example.com');
-        $collection1->add('route4', $route4);
-
-        $route5 = new Route('/route5', array(), array(), array(), 'c.example.com');
-        $collection1->add('route5', $route5);
-
-        $route6 = new Route('/route6', array(), array(), array(), null);
-        $collection1->add('route6', $route6);
-
-        $collection->addCollection($collection1);
-
-        // host and variables
-
-        $collection1 = new RouteCollection();
-
-        $route11 = new Route('/route11', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route11', $route11);
-
-        $route12 = new Route('/route12', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route12', $route12);
-
-        $route13 = new Route('/route13/{name}', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route13', $route13);
-
-        $route14 = new Route('/route14/{name}', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route14', $route14);
-
-        $route15 = new Route('/route15/{name}', array(), array(), array(), 'c.example.com');
-        $collection1->add('route15', $route15);
-
-        $route16 = new Route('/route16/{name}', array('var1' => 'val'), array(), array(), null);
-        $collection1->add('route16', $route16);
-
-        $route17 = new Route('/route17', array(), array(), array(), null);
-        $collection1->add('route17', $route17);
-
-        $collection->addCollection($collection1);
-
-        return $collection;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
deleted file mode 100644
index 7cf529c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
+++ /dev/null
@@ -1,264 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
-
-use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-
-class PhpMatcherDumperTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \LogicException
-     */
-    public function testDumpWhenSchemeIsUsedWithoutAProperDumper()
-    {
-        $collection = new RouteCollection();
-        $collection->add('secure', new Route(
-            '/secure',
-            array(),
-            array('_scheme' => 'https')
-        ));
-        $dumper = new PhpMatcherDumper($collection);
-        $dumper->dump();
-    }
-
-    /**
-     * @dataProvider getRouteCollections
-     */
-    public function testDump(RouteCollection $collection, $fixture, $options = array())
-    {
-        $basePath = __DIR__.'/../../Fixtures/dumper/';
-
-        $dumper = new PhpMatcherDumper($collection);
-        $this->assertStringEqualsFile($basePath.$fixture, $dumper->dump($options), '->dump() correctly dumps routes as optimized PHP code.');
-    }
-
-    public function getRouteCollections()
-    {
-        /* test case 1 */
-
-        $collection = new RouteCollection();
-
-        $collection->add('overridden', new Route('/overridden'));
-
-        // defaults and requirements
-        $collection->add('foo', new Route(
-            '/foo/{bar}',
-            array('def' => 'test'),
-            array('bar' => 'baz|symfony')
-        ));
-        // method requirement
-        $collection->add('bar', new Route(
-            '/bar/{foo}',
-            array(),
-            array('_method' => 'GET|head')
-        ));
-        // GET method requirement automatically adds HEAD as valid
-        $collection->add('barhead', new Route(
-            '/barhead/{foo}',
-            array(),
-            array('_method' => 'GET')
-        ));
-        // simple
-        $collection->add('baz', new Route(
-            '/test/baz'
-        ));
-        // simple with extension
-        $collection->add('baz2', new Route(
-            '/test/baz.html'
-        ));
-        // trailing slash
-        $collection->add('baz3', new Route(
-            '/test/baz3/'
-        ));
-        // trailing slash with variable
-        $collection->add('baz4', new Route(
-            '/test/{foo}/'
-        ));
-        // trailing slash and method
-        $collection->add('baz5', new Route(
-            '/test/{foo}/',
-            array(),
-            array('_method' => 'post')
-        ));
-        // complex name
-        $collection->add('baz.baz6', new Route(
-            '/test/{foo}/',
-            array(),
-            array('_method' => 'put')
-        ));
-        // defaults without variable
-        $collection->add('foofoo', new Route(
-            '/foofoo',
-            array('def' => 'test')
-        ));
-        // pattern with quotes
-        $collection->add('quoter', new Route(
-            '/{quoter}',
-            array(),
-            array('quoter' => '[\']+')
-        ));
-        // space in pattern
-        $collection->add('space', new Route(
-            '/spa ce'
-        ));
-
-        // prefixes
-        $collection1 = new RouteCollection();
-        $collection1->add('overridden', new Route('/overridden1'));
-        $collection1->add('foo1', new Route('/{foo}'));
-        $collection1->add('bar1', new Route('/{bar}'));
-        $collection1->addPrefix('/b\'b');
-        $collection2 = new RouteCollection();
-        $collection2->addCollection($collection1);
-        $collection2->add('overridden', new Route('/{var}', array(), array('var' => '.*')));
-        $collection1 = new RouteCollection();
-        $collection1->add('foo2', new Route('/{foo1}'));
-        $collection1->add('bar2', new Route('/{bar1}'));
-        $collection1->addPrefix('/b\'b');
-        $collection2->addCollection($collection1);
-        $collection2->addPrefix('/a');
-        $collection->addCollection($collection2);
-
-        // overridden through addCollection() and multiple sub-collections with no own prefix
-        $collection1 = new RouteCollection();
-        $collection1->add('overridden2', new Route('/old'));
-        $collection1->add('helloWorld', new Route('/hello/{who}', array('who' => 'World!')));
-        $collection2 = new RouteCollection();
-        $collection3 = new RouteCollection();
-        $collection3->add('overridden2', new Route('/new'));
-        $collection3->add('hey', new Route('/hey/'));
-        $collection2->addCollection($collection3);
-        $collection1->addCollection($collection2);
-        $collection1->addPrefix('/multi');
-        $collection->addCollection($collection1);
-
-        // "dynamic" prefix
-        $collection1 = new RouteCollection();
-        $collection1->add('foo3', new Route('/{foo}'));
-        $collection1->add('bar3', new Route('/{bar}'));
-        $collection1->addPrefix('/b');
-        $collection1->addPrefix('{_locale}');
-        $collection->addCollection($collection1);
-
-        // route between collections
-        $collection->add('ababa', new Route('/ababa'));
-
-        // collection with static prefix but only one route
-        $collection1 = new RouteCollection();
-        $collection1->add('foo4', new Route('/{foo}'));
-        $collection1->addPrefix('/aba');
-        $collection->addCollection($collection1);
-
-        // prefix and host
-
-        $collection1 = new RouteCollection();
-
-        $route1 = new Route('/route1', array(), array(), array(), 'a.example.com');
-        $collection1->add('route1', $route1);
-
-        $collection2 = new RouteCollection();
-
-        $route2 = new Route('/c2/route2', array(), array(), array(), 'a.example.com');
-        $collection1->add('route2', $route2);
-
-        $route3 = new Route('/c2/route3', array(), array(), array(), 'b.example.com');
-        $collection1->add('route3', $route3);
-
-        $route4 = new Route('/route4', array(), array(), array(), 'a.example.com');
-        $collection1->add('route4', $route4);
-
-        $route5 = new Route('/route5', array(), array(), array(), 'c.example.com');
-        $collection1->add('route5', $route5);
-
-        $route6 = new Route('/route6', array(), array(), array(), null);
-        $collection1->add('route6', $route6);
-
-        $collection->addCollection($collection1);
-
-        // host and variables
-
-        $collection1 = new RouteCollection();
-
-        $route11 = new Route('/route11', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route11', $route11);
-
-        $route12 = new Route('/route12', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route12', $route12);
-
-        $route13 = new Route('/route13/{name}', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route13', $route13);
-
-        $route14 = new Route('/route14/{name}', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route14', $route14);
-
-        $route15 = new Route('/route15/{name}', array(), array(), array(), 'c.example.com');
-        $collection1->add('route15', $route15);
-
-        $route16 = new Route('/route16/{name}', array('var1' => 'val'), array(), array(), null);
-        $collection1->add('route16', $route16);
-
-        $route17 = new Route('/route17', array(), array(), array(), null);
-        $collection1->add('route17', $route17);
-
-        $collection->addCollection($collection1);
-
-        // multiple sub-collections with a single route and a prefix each
-        $collection1 = new RouteCollection();
-        $collection1->add('a', new Route('/a...'));
-        $collection2 = new RouteCollection();
-        $collection2->add('b', new Route('/{var}'));
-        $collection3 = new RouteCollection();
-        $collection3->add('c', new Route('/{var}'));
-        $collection3->addPrefix('/c');
-        $collection2->addCollection($collection3);
-        $collection2->addPrefix('/b');
-        $collection1->addCollection($collection2);
-        $collection1->addPrefix('/a');
-        $collection->addCollection($collection1);
-
-        /* test case 2 */
-
-        $redirectCollection = clone $collection;
-
-        // force HTTPS redirection
-        $redirectCollection->add('secure', new Route(
-            '/secure',
-            array(),
-            array('_scheme' => 'https')
-        ));
-
-        // force HTTP redirection
-        $redirectCollection->add('nonsecure', new Route(
-            '/nonsecure',
-            array(),
-            array('_scheme' => 'http')
-        ));
-
-        /* test case 3 */
-
-        $rootprefixCollection = new RouteCollection();
-        $rootprefixCollection->add('static', new Route('/test'));
-        $rootprefixCollection->add('dynamic', new Route('/{var}'));
-        $rootprefixCollection->addPrefix('rootprefix');
-        $route = new Route('/with-condition');
-        $route->setCondition('context.getMethod() == "GET"');
-        $rootprefixCollection->add('with-condition', $route);
-
-        return array(
-           array($collection, 'url_matcher1.php', array()),
-           array($redirectCollection, 'url_matcher2.php', array('base_class' => 'Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher')),
-           array($rootprefixCollection, 'url_matcher3.php', array()),
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
deleted file mode 100644
index f42b7f2..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Matcher\ApacheUrlMatcher;
-
-/**
- * @group legacy
- */
-class LegacyApacheUrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    protected $server;
-
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-        $this->server = $_SERVER;
-    }
-
-    protected function tearDown()
-    {
-        $_SERVER = $this->server;
-    }
-
-    /**
-     * @dataProvider getMatchData
-     */
-    public function testMatch($name, $pathinfo, $server, $expect)
-    {
-        $collection = new RouteCollection();
-        $context = new RequestContext();
-        $matcher = new ApacheUrlMatcher($collection, $context);
-
-        $_SERVER = $server;
-
-        $result = $matcher->match($pathinfo);
-        $this->assertSame(var_export($expect, true), var_export($result, true));
-    }
-
-    public function getMatchData()
-    {
-        return array(
-            array(
-                'Simple route',
-                '/hello/world',
-                array(
-                    '_ROUTING_route' => 'hello',
-                    '_ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    '_ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'Route with params and defaults',
-                '/hello/hugo',
-                array(
-                    '_ROUTING_route' => 'hello',
-                    '_ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    '_ROUTING_param_name' => 'hugo',
-                    '_ROUTING_default_name' => 'world',
-                ),
-                array(
-                    'name' => 'hugo',
-                    '_controller' => 'AcmeBundle:Default:index',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'Route with defaults only',
-                '/hello',
-                array(
-                    '_ROUTING_route' => 'hello',
-                    '_ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    '_ROUTING_default_name' => 'world',
-                ),
-                array(
-                    'name' => 'world',
-                    '_controller' => 'AcmeBundle:Default:index',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'Redirect with many ignored attributes',
-                '/legacy/{cat1}/{cat2}/{id}.html',
-                array(
-                    '_ROUTING_route' => 'product_view',
-                    '_ROUTING_param__controller' => 'FrameworkBundle:Redirect:redirect',
-                    '_ROUTING_default_ignoreAttributes[0]' => 'attr_a',
-                    '_ROUTING_default_ignoreAttributes[1]' => 'attr_b',
-                ),
-                array(
-                    'ignoreAttributes' => array('attr_a', 'attr_b'),
-                    '_controller' => 'FrameworkBundle:Redirect:redirect',
-                    '_route' => 'product_view',
-                ),
-            ),
-            array(
-                'REDIRECT_ envs',
-                '/hello/world',
-                array(
-                    'REDIRECT__ROUTING_route' => 'hello',
-                    'REDIRECT__ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    'REDIRECT__ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'REDIRECT_REDIRECT_ envs',
-                '/hello/world',
-                array(
-                    'REDIRECT_REDIRECT__ROUTING_route' => 'hello',
-                    'REDIRECT_REDIRECT__ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    'REDIRECT_REDIRECT__ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'REDIRECT_REDIRECT_ envs',
-                '/hello/world',
-                array(
-                    'REDIRECT_REDIRECT__ROUTING_route' => 'hello',
-                    'REDIRECT_REDIRECT__ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    'REDIRECT_REDIRECT__ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php
deleted file mode 100644
index 5cbb605..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-
-class RedirectableUrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRedirectWhenNoSlash()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/'));
-
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext()));
-        $matcher->expects($this->once())->method('redirect');
-        $matcher->match('/foo');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testRedirectWhenNoSlashForNonSafeMethod()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/'));
-
-        $context = new RequestContext();
-        $context->setMethod('POST');
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, $context));
-        $matcher->match('/foo');
-    }
-
-    public function testSchemeRedirectBC()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_scheme' => 'https')));
-
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext()));
-        $matcher
-            ->expects($this->once())
-            ->method('redirect')
-            ->with('/foo', 'foo', 'https')
-            ->will($this->returnValue(array('_route' => 'foo')))
-        ;
-        $matcher->match('/foo');
-    }
-
-    public function testSchemeRedirectRedirectsToFirstScheme()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array(), array(), '', array('FTP', 'HTTPS')));
-
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext()));
-        $matcher
-            ->expects($this->once())
-            ->method('redirect')
-            ->with('/foo', 'foo', 'ftp')
-            ->will($this->returnValue(array('_route' => 'foo')))
-        ;
-        $matcher->match('/foo');
-    }
-
-    public function testNoSchemaRedirectIfOnOfMultipleSchemesMatches()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array(), array(), '', array('https', 'http')));
-
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext()));
-        $matcher
-            ->expects($this->never())
-            ->method('redirect')
-        ;
-        $matcher->match('/foo');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php
deleted file mode 100644
index 969ab0a..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Matcher\TraceableUrlMatcher;
-
-class TraceableUrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function test()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_method' => 'POST')));
-        $coll->add('bar', new Route('/bar/{id}', array(), array('id' => '\d+')));
-        $coll->add('bar1', new Route('/bar/{name}', array(), array('id' => '\w+', '_method' => 'POST')));
-        $coll->add('bar2', new Route('/foo', array(), array(), array(), 'baz'));
-        $coll->add('bar3', new Route('/foo1', array(), array(), array(), 'baz'));
-        $coll->add('bar4', new Route('/foo2', array(), array(), array(), 'baz', array(), array(), 'context.getMethod() == "GET"'));
-
-        $context = new RequestContext();
-        $context->setHost('baz');
-
-        $matcher = new TraceableUrlMatcher($coll, $context);
-        $traces = $matcher->getTraces('/babar');
-        $this->assertEquals(array(0, 0, 0, 0, 0, 0), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/foo');
-        $this->assertEquals(array(1, 0, 0, 2), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/bar/12');
-        $this->assertEquals(array(0, 2), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/bar/dd');
-        $this->assertEquals(array(0, 1, 1, 0, 0, 0), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/foo1');
-        $this->assertEquals(array(0, 0, 0, 0, 2), $this->getLevels($traces));
-
-        $context->setMethod('POST');
-        $traces = $matcher->getTraces('/foo');
-        $this->assertEquals(array(2), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/bar/dd');
-        $this->assertEquals(array(0, 1, 2), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/foo2');
-        $this->assertEquals(array(0, 0, 0, 0, 0, 1), $this->getLevels($traces));
-    }
-
-    public function testMatchRouteOnMultipleHosts()
-    {
-        $routes = new RouteCollection();
-        $routes->add('first', new Route(
-            '/mypath/',
-            array('_controller' => 'MainBundle:Info:first'),
-            array(),
-            array(),
-            'some.example.com'
-        ));
-
-        $routes->add('second', new Route(
-            '/mypath/',
-            array('_controller' => 'MainBundle:Info:second'),
-            array(),
-            array(),
-            'another.example.com'
-        ));
-
-        $context = new RequestContext();
-        $context->setHost('baz');
-
-        $matcher = new TraceableUrlMatcher($routes, $context);
-
-        $traces = $matcher->getTraces('/mypath/');
-        $this->assertEquals(
-            array(TraceableUrlMatcher::ROUTE_ALMOST_MATCHES, TraceableUrlMatcher::ROUTE_ALMOST_MATCHES),
-            $this->getLevels($traces)
-        );
-    }
-
-    public function getLevels($traces)
-    {
-        $levels = array();
-        foreach ($traces as $trace) {
-            $levels[] = $trace['level'];
-        }
-
-        return $levels;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php
deleted file mode 100644
index 99f2bc3..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php
+++ /dev/null
@@ -1,429 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\Matcher\UrlMatcher;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-
-class UrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function testNoMethodSoAllowed()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $matcher->match('/foo');
-    }
-
-    public function testMethodNotAllowed()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_method' => 'post')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        try {
-            $matcher->match('/foo');
-            $this->fail();
-        } catch (MethodNotAllowedException $e) {
-            $this->assertEquals(array('POST'), $e->getAllowedMethods());
-        }
-    }
-
-    public function testHeadAllowedWhenRequirementContainsGet()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_method' => 'get')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'head'));
-        $matcher->match('/foo');
-    }
-
-    public function testMethodNotAllowedAggregatesAllowedMethods()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo1', new Route('/foo', array(), array('_method' => 'post')));
-        $coll->add('foo2', new Route('/foo', array(), array('_method' => 'put|delete')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        try {
-            $matcher->match('/foo');
-            $this->fail();
-        } catch (MethodNotAllowedException $e) {
-            $this->assertEquals(array('POST', 'PUT', 'DELETE'), $e->getAllowedMethods());
-        }
-    }
-
-    public function testMatch()
-    {
-        // test the patterns are matched and parameters are returned
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo/{bar}'));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        try {
-            $matcher->match('/no-match');
-            $this->fail();
-        } catch (ResourceNotFoundException $e) {
-        }
-        $this->assertEquals(array('_route' => 'foo', 'bar' => 'baz'), $matcher->match('/foo/baz'));
-
-        // test that defaults are merged
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo/{bar}', array('def' => 'test')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'bar' => 'baz', 'def' => 'test'), $matcher->match('/foo/baz'));
-
-        // test that route "method" is ignored if no method is given in the context
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo', array(), array('_method' => 'GET|head')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertInternalType('array', $matcher->match('/foo'));
-
-        // route does not match with POST method context
-        $matcher = new UrlMatcher($collection, new RequestContext('', 'post'));
-        try {
-            $matcher->match('/foo');
-            $this->fail();
-        } catch (MethodNotAllowedException $e) {
-        }
-
-        // route does match with GET or HEAD method context
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertInternalType('array', $matcher->match('/foo'));
-        $matcher = new UrlMatcher($collection, new RequestContext('', 'head'));
-        $this->assertInternalType('array', $matcher->match('/foo'));
-
-        // route with an optional variable as the first segment
-        $collection = new RouteCollection();
-        $collection->add('bar', new Route('/{bar}/foo', array('bar' => 'bar'), array('bar' => 'foo|bar')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'bar'), $matcher->match('/bar/foo'));
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'foo'), $matcher->match('/foo/foo'));
-
-        $collection = new RouteCollection();
-        $collection->add('bar', new Route('/{bar}', array('bar' => 'bar'), array('bar' => 'foo|bar')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'foo'), $matcher->match('/foo'));
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'bar'), $matcher->match('/'));
-
-        // route with only optional variables
-        $collection = new RouteCollection();
-        $collection->add('bar', new Route('/{foo}/{bar}', array('foo' => 'foo', 'bar' => 'bar'), array()));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar', 'foo' => 'foo', 'bar' => 'bar'), $matcher->match('/'));
-        $this->assertEquals(array('_route' => 'bar', 'foo' => 'a', 'bar' => 'bar'), $matcher->match('/a'));
-        $this->assertEquals(array('_route' => 'bar', 'foo' => 'a', 'bar' => 'b'), $matcher->match('/a/b'));
-    }
-
-    public function testMatchWithPrefixes()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/{foo}'));
-        $collection->addPrefix('/b');
-        $collection->addPrefix('/a');
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'foo' => 'foo'), $matcher->match('/a/b/foo'));
-    }
-
-    public function testMatchWithDynamicPrefix()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/{foo}'));
-        $collection->addPrefix('/b');
-        $collection->addPrefix('/{_locale}');
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_locale' => 'fr', '_route' => 'foo', 'foo' => 'foo'), $matcher->match('/fr/b/foo'));
-    }
-
-    public function testMatchSpecialRouteName()
-    {
-        $collection = new RouteCollection();
-        $collection->add('$péß^a|', new Route('/bar'));
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => '$péß^a|'), $matcher->match('/bar'));
-    }
-
-    public function testMatchNonAlpha()
-    {
-        $collection = new RouteCollection();
-        $chars = '!"$%éà &\'()*+,./:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\[]^_`abcdefghijklmnopqrstuvwxyz{|}~-';
-        $collection->add('foo', new Route('/{foo}/bar', array(), array('foo' => '['.preg_quote($chars).']+')));
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'foo' => $chars), $matcher->match('/'.rawurlencode($chars).'/bar'));
-        $this->assertEquals(array('_route' => 'foo', 'foo' => $chars), $matcher->match('/'.strtr($chars, array('%' => '%25')).'/bar'));
-    }
-
-    public function testMatchWithDotMetacharacterInRequirements()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/{foo}/bar', array(), array('foo' => '.+')));
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'foo' => "\n"), $matcher->match('/'.urlencode("\n").'/bar'), 'linefeed character is matched');
-    }
-
-    public function testMatchOverriddenRoute()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/foo1'));
-
-        $collection->addCollection($collection1);
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-
-        $this->assertEquals(array('_route' => 'foo'), $matcher->match('/foo1'));
-        $this->setExpectedException('Symfony\Component\Routing\Exception\ResourceNotFoundException');
-        $this->assertEquals(array(), $matcher->match('/foo'));
-    }
-
-    public function testMatchRegression()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}'));
-        $coll->add('bar', new Route('/foo/bar/{foo}'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'bar'), $matcher->match('/foo/bar/bar'));
-
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/{bar}'));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        try {
-            $matcher->match('/');
-            $this->fail();
-        } catch (ResourceNotFoundException $e) {
-        }
-    }
-
-    public function testDefaultRequirementForOptionalVariables()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}', array('page' => 'index', '_format' => 'html')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('page' => 'my-page', '_format' => 'xml', '_route' => 'test'), $matcher->match('/my-page.xml'));
-    }
-
-    public function testMatchingIsEager()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{foo}-{bar}-', array(), array('foo' => '.+', 'bar' => '.+')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('foo' => 'text1-text2-text3', 'bar' => 'text4', '_route' => 'test'), $matcher->match('/text1-text2-text3-text4-'));
-    }
-
-    public function testAdjacentVariables()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{w}{x}{y}{z}.{_format}', array('z' => 'default-z', '_format' => 'html'), array('y' => 'y|Y')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        // 'w' eagerly matches as much as possible and the other variables match the remaining chars.
-        // This also shows that the variables w-z must all exclude the separating char (the dot '.' in this case) by default requirement.
-        // Otherwise they would also consume '.xml' and _format would never match as it's an optional variable.
-        $this->assertEquals(array('w' => 'wwwww', 'x' => 'x', 'y' => 'Y', 'z' => 'Z', '_format' => 'xml', '_route' => 'test'), $matcher->match('/wwwwwxYZ.xml'));
-        // As 'y' has custom requirement and can only be of value 'y|Y', it will leave  'ZZZ' to variable z.
-        // So with carefully chosen requirements adjacent variables, can be useful.
-        $this->assertEquals(array('w' => 'wwwww', 'x' => 'x', 'y' => 'y', 'z' => 'ZZZ', '_format' => 'html', '_route' => 'test'), $matcher->match('/wwwwwxyZZZ'));
-        // z and _format are optional.
-        $this->assertEquals(array('w' => 'wwwww', 'x' => 'x', 'y' => 'y', 'z' => 'default-z', '_format' => 'html', '_route' => 'test'), $matcher->match('/wwwwwxy'));
-
-        $this->setExpectedException('Symfony\Component\Routing\Exception\ResourceNotFoundException');
-        $matcher->match('/wxy.html');
-    }
-
-    public function testOptionalVariableWithNoRealSeparator()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/get{what}', array('what' => 'All')));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $this->assertEquals(array('what' => 'All', '_route' => 'test'), $matcher->match('/get'));
-        $this->assertEquals(array('what' => 'Sites', '_route' => 'test'), $matcher->match('/getSites'));
-
-        // Usually the character in front of an optional parameter can be left out, e.g. with pattern '/get/{what}' just '/get' would match.
-        // But here the 't' in 'get' is not a separating character, so it makes no sense to match without it.
-        $this->setExpectedException('Symfony\Component\Routing\Exception\ResourceNotFoundException');
-        $matcher->match('/ge');
-    }
-
-    public function testRequiredVariableWithNoRealSeparator()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/get{what}Suffix'));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $this->assertEquals(array('what' => 'Sites', '_route' => 'test'), $matcher->match('/getSitesSuffix'));
-    }
-
-    public function testDefaultRequirementOfVariable()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}'));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $this->assertEquals(array('page' => 'index', '_format' => 'mobile.html', '_route' => 'test'), $matcher->match('/index.mobile.html'));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testDefaultRequirementOfVariableDisallowsSlash()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}'));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $matcher->match('/index.sl/ash');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testDefaultRequirementOfVariableDisallowsNextSeparator()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}', array(), array('_format' => 'html|xml')));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $matcher->match('/do.t.html');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testSchemeRequirementBC()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_scheme' => 'https')));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $matcher->match('/foo');
-    }
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testSchemeRequirement()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array(), array(), '', array('https')));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $matcher->match('/foo');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testCondition()
-    {
-        $coll = new RouteCollection();
-        $route = new Route('/foo');
-        $route->setCondition('context.getMethod() == "POST"');
-        $coll->add('foo', $route);
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $matcher->match('/foo');
-    }
-
-    public function testDecodeOnce()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('foo' => 'bar%23', '_route' => 'foo'), $matcher->match('/foo/bar%2523'));
-    }
-
-    public function testCannotRelyOnPrefix()
-    {
-        $coll = new RouteCollection();
-
-        $subColl = new RouteCollection();
-        $subColl->add('bar', new Route('/bar'));
-        $subColl->addPrefix('/prefix');
-        // overwrite the pattern, so the prefix is not valid anymore for this route in the collection
-        $subColl->get('bar')->setPath('/new');
-
-        $coll->addCollection($subColl);
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar'), $matcher->match('/new'));
-    }
-
-    public function testWithHost()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}', array(), array(), array(), '{locale}.example.com'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'en.example.com'));
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'foo', 'locale' => 'en'), $matcher->match('/foo/bar'));
-    }
-
-    public function testWithHostOnRouteCollection()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}'));
-        $coll->add('bar', new Route('/bar/{foo}', array(), array(), array(), '{locale}.example.net'));
-        $coll->setHost('{locale}.example.com');
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'en.example.com'));
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'foo', 'locale' => 'en'), $matcher->match('/foo/bar'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'en.example.com'));
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'bar', 'locale' => 'en'), $matcher->match('/bar/bar'));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testWithOutHostHostDoesNotMatch()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}', array(), array(), array(), '{locale}.example.com'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'example.com'));
-        $matcher->match('/foo/bar');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testPathIsCaseSensitive()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/locale', array(), array('locale' => 'EN|FR|DE')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $matcher->match('/en');
-    }
-
-    public function testHostIsCaseInsensitive()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/', array(), array('locale' => 'EN|FR|DE'), array(), '{locale}.example.com'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'en.example.com'));
-        $this->assertEquals(array('_route' => 'foo', 'locale' => 'en'), $matcher->match('/'));
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RequestContextTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RequestContextTest.php
deleted file mode 100644
index 5861268..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RequestContextTest.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\Routing\RequestContext;
-
-class RequestContextTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstruct()
-    {
-        $requestContext = new RequestContext(
-            'foo',
-            'post',
-            'foo.bar',
-            'HTTPS',
-            8080,
-            444,
-            '/baz',
-            'bar=foobar'
-        );
-
-        $this->assertEquals('foo', $requestContext->getBaseUrl());
-        $this->assertEquals('POST', $requestContext->getMethod());
-        $this->assertEquals('foo.bar', $requestContext->getHost());
-        $this->assertEquals('https', $requestContext->getScheme());
-        $this->assertSame(8080, $requestContext->getHttpPort());
-        $this->assertSame(444, $requestContext->getHttpsPort());
-        $this->assertEquals('/baz', $requestContext->getPathInfo());
-        $this->assertEquals('bar=foobar', $requestContext->getQueryString());
-    }
-
-    public function testFromRequest()
-    {
-        $request = Request::create('https://test.com:444/foo?bar=baz');
-        $requestContext = new RequestContext();
-        $requestContext->setHttpPort(123);
-        $requestContext->fromRequest($request);
-
-        $this->assertEquals('', $requestContext->getBaseUrl());
-        $this->assertEquals('GET', $requestContext->getMethod());
-        $this->assertEquals('test.com', $requestContext->getHost());
-        $this->assertEquals('https', $requestContext->getScheme());
-        $this->assertEquals('/foo', $requestContext->getPathInfo());
-        $this->assertEquals('bar=baz', $requestContext->getQueryString());
-        $this->assertSame(123, $requestContext->getHttpPort());
-        $this->assertSame(444, $requestContext->getHttpsPort());
-
-        $request = Request::create('http://test.com:8080/foo?bar=baz');
-        $requestContext = new RequestContext();
-        $requestContext->setHttpsPort(567);
-        $requestContext->fromRequest($request);
-
-        $this->assertSame(8080, $requestContext->getHttpPort());
-        $this->assertSame(567, $requestContext->getHttpsPort());
-    }
-
-    public function testGetParameters()
-    {
-        $requestContext = new RequestContext();
-        $this->assertEquals(array(), $requestContext->getParameters());
-
-        $requestContext->setParameters(array('foo' => 'bar'));
-        $this->assertEquals(array('foo' => 'bar'), $requestContext->getParameters());
-    }
-
-    public function testHasParameter()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setParameters(array('foo' => 'bar'));
-
-        $this->assertTrue($requestContext->hasParameter('foo'));
-        $this->assertFalse($requestContext->hasParameter('baz'));
-    }
-
-    public function testGetParameter()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setParameters(array('foo' => 'bar'));
-
-        $this->assertEquals('bar', $requestContext->getParameter('foo'));
-        $this->assertNull($requestContext->getParameter('baz'));
-    }
-
-    public function testSetParameter()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setParameter('foo', 'bar');
-
-        $this->assertEquals('bar', $requestContext->getParameter('foo'));
-    }
-
-    public function testMethod()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setMethod('post');
-
-        $this->assertSame('POST', $requestContext->getMethod());
-    }
-
-    public function testScheme()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setScheme('HTTPS');
-
-        $this->assertSame('https', $requestContext->getScheme());
-    }
-
-    public function testHost()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setHost('eXampLe.com');
-
-        $this->assertSame('example.com', $requestContext->getHost());
-    }
-
-    public function testQueryString()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setQueryString(null);
-
-        $this->assertSame('', $requestContext->getQueryString());
-    }
-
-    public function testPort()
-    {
-        $requestContext = new RequestContext();
-        $requestContext->setHttpPort('123');
-        $requestContext->setHttpsPort('456');
-
-        $this->assertSame(123, $requestContext->getHttpPort());
-        $this->assertSame(456, $requestContext->getHttpsPort());
-    }
-
-    public function testFluentInterface()
-    {
-        $requestContext = new RequestContext();
-
-        $this->assertSame($requestContext, $requestContext->setBaseUrl('/app.php'));
-        $this->assertSame($requestContext, $requestContext->setPathInfo('/index'));
-        $this->assertSame($requestContext, $requestContext->setMethod('POST'));
-        $this->assertSame($requestContext, $requestContext->setScheme('https'));
-        $this->assertSame($requestContext, $requestContext->setHost('example.com'));
-        $this->assertSame($requestContext, $requestContext->setQueryString('foo=bar'));
-        $this->assertSame($requestContext, $requestContext->setHttpPort(80));
-        $this->assertSame($requestContext, $requestContext->setHttpsPort(443));
-        $this->assertSame($requestContext, $requestContext->setParameters(array()));
-        $this->assertSame($requestContext, $requestContext->setParameter('foo', 'bar'));
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php
deleted file mode 100644
index ad2d0e0..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php
+++ /dev/null
@@ -1,304 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Config\Resource\FileResource;
-
-class RouteCollectionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRoute()
-    {
-        $collection = new RouteCollection();
-        $route = new Route('/foo');
-        $collection->add('foo', $route);
-        $this->assertEquals(array('foo' => $route), $collection->all(), '->add() adds a route');
-        $this->assertEquals($route, $collection->get('foo'), '->get() returns a route by name');
-        $this->assertNull($collection->get('bar'), '->get() returns null if a route does not exist');
-    }
-
-    public function testOverriddenRoute()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-        $collection->add('foo', new Route('/foo1'));
-
-        $this->assertEquals('/foo1', $collection->get('foo')->getPath());
-    }
-
-    public function testDeepOverriddenRoute()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/foo1'));
-
-        $collection2 = new RouteCollection();
-        $collection2->add('foo', new Route('/foo2'));
-
-        $collection1->addCollection($collection2);
-        $collection->addCollection($collection1);
-
-        $this->assertEquals('/foo2', $collection1->get('foo')->getPath());
-        $this->assertEquals('/foo2', $collection->get('foo')->getPath());
-    }
-
-    public function testIterator()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('bar', $bar = new Route('/bar'));
-        $collection1->add('foo', $foo = new Route('/foo-new'));
-        $collection->addCollection($collection1);
-        $collection->add('last', $last = new Route('/last'));
-
-        $this->assertInstanceOf('\ArrayIterator', $collection->getIterator());
-        $this->assertSame(array('bar' => $bar, 'foo' => $foo, 'last' => $last), $collection->getIterator()->getArrayCopy());
-    }
-
-    public function testCount()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('bar', new Route('/bar'));
-        $collection->addCollection($collection1);
-
-        $this->assertCount(2, $collection);
-    }
-
-    public function testAddCollection()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('bar', $bar = new Route('/bar'));
-        $collection1->add('foo', $foo = new Route('/foo-new'));
-
-        $collection2 = new RouteCollection();
-        $collection2->add('grandchild', $grandchild = new Route('/grandchild'));
-
-        $collection1->addCollection($collection2);
-        $collection->addCollection($collection1);
-        $collection->add('last', $last = new Route('/last'));
-
-        $this->assertSame(array('bar' => $bar, 'foo' => $foo, 'grandchild' => $grandchild, 'last' => $last), $collection->all(),
-            '->addCollection() imports routes of another collection, overrides if necessary and adds them at the end');
-    }
-
-    public function testAddCollectionWithResources()
-    {
-        $collection = new RouteCollection();
-        $collection->addResource($foo = new FileResource(__DIR__.'/Fixtures/foo.xml'));
-        $collection1 = new RouteCollection();
-        $collection1->addResource($foo1 = new FileResource(__DIR__.'/Fixtures/foo1.xml'));
-        $collection->addCollection($collection1);
-        $this->assertEquals(array($foo, $foo1), $collection->getResources(), '->addCollection() merges resources');
-    }
-
-    public function testAddDefaultsAndRequirementsAndOptions()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/{placeholder}'));
-        $collection1 = new RouteCollection();
-        $collection1->add('bar', new Route('/{placeholder}',
-            array('_controller' => 'fixed', 'placeholder' => 'default'), array('placeholder' => '.+'), array('option' => 'value'))
-        );
-        $collection->addCollection($collection1);
-
-        $collection->addDefaults(array('placeholder' => 'new-default'));
-        $this->assertEquals(array('placeholder' => 'new-default'), $collection->get('foo')->getDefaults(), '->addDefaults() adds defaults to all routes');
-        $this->assertEquals(array('_controller' => 'fixed', 'placeholder' => 'new-default'), $collection->get('bar')->getDefaults(),
-            '->addDefaults() adds defaults to all routes and overwrites existing ones');
-
-        $collection->addRequirements(array('placeholder' => '\d+'));
-        $this->assertEquals(array('placeholder' => '\d+'), $collection->get('foo')->getRequirements(), '->addRequirements() adds requirements to all routes');
-        $this->assertEquals(array('placeholder' => '\d+'), $collection->get('bar')->getRequirements(),
-            '->addRequirements() adds requirements to all routes and overwrites existing ones');
-
-        $collection->addOptions(array('option' => 'new-value'));
-        $this->assertEquals(
-            array('option' => 'new-value', 'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler'),
-            $collection->get('bar')->getOptions(), '->addOptions() adds options to all routes and overwrites existing ones'
-        );
-    }
-
-    public function testAddPrefix()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', $foo = new Route('/foo'));
-        $collection2 = new RouteCollection();
-        $collection2->add('bar', $bar = new Route('/bar'));
-        $collection->addCollection($collection2);
-        $collection->addPrefix(' / ');
-        $this->assertSame('/foo', $collection->get('foo')->getPath(), '->addPrefix() trims the prefix and a single slash has no effect');
-        $collection->addPrefix('/{admin}', array('admin' => 'admin'), array('admin' => '\d+'));
-        $this->assertEquals('/{admin}/foo', $collection->get('foo')->getPath(), '->addPrefix() adds a prefix to all routes');
-        $this->assertEquals('/{admin}/bar', $collection->get('bar')->getPath(), '->addPrefix() adds a prefix to all routes');
-        $this->assertEquals(array('admin' => 'admin'), $collection->get('foo')->getDefaults(), '->addPrefix() adds defaults to all routes');
-        $this->assertEquals(array('admin' => 'admin'), $collection->get('bar')->getDefaults(), '->addPrefix() adds defaults to all routes');
-        $this->assertEquals(array('admin' => '\d+'), $collection->get('foo')->getRequirements(), '->addPrefix() adds requirements to all routes');
-        $this->assertEquals(array('admin' => '\d+'), $collection->get('bar')->getRequirements(), '->addPrefix() adds requirements to all routes');
-        $collection->addPrefix('0');
-        $this->assertEquals('/0/{admin}/foo', $collection->get('foo')->getPath(), '->addPrefix() ensures a prefix must start with a slash and must not end with a slash');
-        $collection->addPrefix('/ /');
-        $this->assertSame('/ /0/{admin}/foo', $collection->get('foo')->getPath(), '->addPrefix() can handle spaces if desired');
-        $this->assertSame('/ /0/{admin}/bar', $collection->get('bar')->getPath(), 'the route pattern of an added collection is in synch with the added prefix');
-    }
-
-    public function testAddPrefixOverridesDefaultsAndRequirements()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', $foo = new Route('/foo'));
-        $collection->add('bar', $bar = new Route('/bar', array(), array('_scheme' => 'http')));
-        $collection->addPrefix('/admin', array(), array('_scheme' => 'https'));
-
-        $this->assertEquals('https', $collection->get('foo')->getRequirement('_scheme'), '->addPrefix() overrides existing requirements');
-        $this->assertEquals('https', $collection->get('bar')->getRequirement('_scheme'), '->addPrefix() overrides existing requirements');
-    }
-
-    public function testResource()
-    {
-        $collection = new RouteCollection();
-        $collection->addResource($foo = new FileResource(__DIR__.'/Fixtures/foo.xml'));
-        $collection->addResource($bar = new FileResource(__DIR__.'/Fixtures/bar.xml'));
-        $collection->addResource(new FileResource(__DIR__.'/Fixtures/foo.xml'));
-
-        $this->assertEquals(array($foo, $bar), $collection->getResources(),
-            '->addResource() adds a resource and getResources() only returns unique ones by comparing the string representation');
-    }
-
-    public function testUniqueRouteWithGivenName()
-    {
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/old'));
-        $collection2 = new RouteCollection();
-        $collection3 = new RouteCollection();
-        $collection3->add('foo', $new = new Route('/new'));
-
-        $collection2->addCollection($collection3);
-        $collection1->addCollection($collection2);
-
-        $this->assertSame($new, $collection1->get('foo'), '->get() returns new route that overrode previous one');
-        // size of 1 because collection1 contains /new but not /old anymore
-        $this->assertCount(1, $collection1->getIterator(), '->addCollection() removes previous routes when adding new routes with the same name');
-    }
-
-    public function testGet()
-    {
-        $collection1 = new RouteCollection();
-        $collection1->add('a', $a = new Route('/a'));
-        $collection2 = new RouteCollection();
-        $collection2->add('b', $b = new Route('/b'));
-        $collection1->addCollection($collection2);
-        $collection1->add('$péß^a|', $c = new Route('/special'));
-
-        $this->assertSame($b, $collection1->get('b'), '->get() returns correct route in child collection');
-        $this->assertSame($c, $collection1->get('$péß^a|'), '->get() can handle special characters');
-        $this->assertNull($collection2->get('a'), '->get() does not return the route defined in parent collection');
-        $this->assertNull($collection1->get('non-existent'), '->get() returns null when route does not exist');
-        $this->assertNull($collection1->get(0), '->get() does not disclose internal child RouteCollection');
-    }
-
-    public function testRemove()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', $foo = new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('bar', $bar = new Route('/bar'));
-        $collection->addCollection($collection1);
-        $collection->add('last', $last = new Route('/last'));
-
-        $collection->remove('foo');
-        $this->assertSame(array('bar' => $bar, 'last' => $last), $collection->all(), '->remove() can remove a single route');
-        $collection->remove(array('bar', 'last'));
-        $this->assertSame(array(), $collection->all(), '->remove() accepts an array and can remove multiple routes at once');
-    }
-
-    public function testSetHost()
-    {
-        $collection = new RouteCollection();
-        $routea = new Route('/a');
-        $routeb = new Route('/b', array(), array(), array(), '{locale}.example.net');
-        $collection->add('a', $routea);
-        $collection->add('b', $routeb);
-
-        $collection->setHost('{locale}.example.com');
-
-        $this->assertEquals('{locale}.example.com', $routea->getHost());
-        $this->assertEquals('{locale}.example.com', $routeb->getHost());
-    }
-
-    public function testSetCondition()
-    {
-        $collection = new RouteCollection();
-        $routea = new Route('/a');
-        $routeb = new Route('/b', array(), array(), array(), '{locale}.example.net', array(), array(), 'context.getMethod() == "GET"');
-        $collection->add('a', $routea);
-        $collection->add('b', $routeb);
-
-        $collection->setCondition('context.getMethod() == "POST"');
-
-        $this->assertEquals('context.getMethod() == "POST"', $routea->getCondition());
-        $this->assertEquals('context.getMethod() == "POST"', $routeb->getCondition());
-    }
-
-    public function testClone()
-    {
-        $collection = new RouteCollection();
-        $collection->add('a', new Route('/a'));
-        $collection->add('b', new Route('/b', array('placeholder' => 'default'), array('placeholder' => '.+')));
-
-        $clonedCollection = clone $collection;
-
-        $this->assertCount(2, $clonedCollection);
-        $this->assertEquals($collection->get('a'), $clonedCollection->get('a'));
-        $this->assertNotSame($collection->get('a'), $clonedCollection->get('a'));
-        $this->assertEquals($collection->get('b'), $clonedCollection->get('b'));
-        $this->assertNotSame($collection->get('b'), $clonedCollection->get('b'));
-    }
-
-    public function testSetSchemes()
-    {
-        $collection = new RouteCollection();
-        $routea = new Route('/a', array(), array(), array(), '', 'http');
-        $routeb = new Route('/b');
-        $collection->add('a', $routea);
-        $collection->add('b', $routeb);
-
-        $collection->setSchemes(array('http', 'https'));
-
-        $this->assertEquals(array('http', 'https'), $routea->getSchemes());
-        $this->assertEquals(array('http', 'https'), $routeb->getSchemes());
-    }
-
-    public function testSetMethods()
-    {
-        $collection = new RouteCollection();
-        $routea = new Route('/a', array(), array(), array(), '', array(), array('GET', 'POST'));
-        $routeb = new Route('/b');
-        $collection->add('a', $routea);
-        $collection->add('b', $routeb);
-
-        $collection->setMethods('PUT');
-
-        $this->assertEquals(array('PUT'), $routea->getMethods());
-        $this->assertEquals(array('PUT'), $routeb->getMethods());
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php
deleted file mode 100644
index 2b7c17f..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php
+++ /dev/null
@@ -1,253 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\Route;
-
-class RouteCompilerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideCompileData
-     */
-    public function testCompile($name, $arguments, $prefix, $regex, $variables, $tokens)
-    {
-        $r = new \ReflectionClass('Symfony\\Component\\Routing\\Route');
-        $route = $r->newInstanceArgs($arguments);
-
-        $compiled = $route->compile();
-        $this->assertEquals($prefix, $compiled->getStaticPrefix(), $name.' (static prefix)');
-        $this->assertEquals($regex, $compiled->getRegex(), $name.' (regex)');
-        $this->assertEquals($variables, $compiled->getVariables(), $name.' (variables)');
-        $this->assertEquals($tokens, $compiled->getTokens(), $name.' (tokens)');
-    }
-
-    public function provideCompileData()
-    {
-        return array(
-            array(
-                'Static route',
-                array('/foo'),
-                '/foo', '#^/foo$#s', array(), array(
-                    array('text', '/foo'),
-                ),),
-
-            array(
-                'Route with a variable',
-                array('/foo/{bar}'),
-                '/foo', '#^/foo/(?P<bar>[^/]++)$#s', array('bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                ),),
-
-            array(
-                'Route with a variable that has a default value',
-                array('/foo/{bar}', array('bar' => 'bar')),
-                '/foo', '#^/foo(?:/(?P<bar>[^/]++))?$#s', array('bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                ),),
-
-            array(
-                'Route with several variables',
-                array('/foo/{bar}/{foobar}'),
-                '/foo', '#^/foo/(?P<bar>[^/]++)/(?P<foobar>[^/]++)$#s', array('bar', 'foobar'), array(
-                    array('variable', '/', '[^/]++', 'foobar'),
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                ),),
-
-            array(
-                'Route with several variables that have default values',
-                array('/foo/{bar}/{foobar}', array('bar' => 'bar', 'foobar' => '')),
-                '/foo', '#^/foo(?:/(?P<bar>[^/]++)(?:/(?P<foobar>[^/]++))?)?$#s', array('bar', 'foobar'), array(
-                    array('variable', '/', '[^/]++', 'foobar'),
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                ),),
-
-            array(
-                'Route with several variables but some of them have no default values',
-                array('/foo/{bar}/{foobar}', array('bar' => 'bar')),
-                '/foo', '#^/foo/(?P<bar>[^/]++)/(?P<foobar>[^/]++)$#s', array('bar', 'foobar'), array(
-                    array('variable', '/', '[^/]++', 'foobar'),
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                ),),
-
-            array(
-                'Route with an optional variable as the first segment',
-                array('/{bar}', array('bar' => 'bar')),
-                '', '#^/(?P<bar>[^/]++)?$#s', array('bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                ),),
-
-            array(
-                'Route with a requirement of 0',
-                array('/{bar}', array('bar' => null), array('bar' => '0')),
-                '', '#^/(?P<bar>0)?$#s', array('bar'), array(
-                    array('variable', '/', '0', 'bar'),
-                ),),
-
-            array(
-                'Route with an optional variable as the first segment with requirements',
-                array('/{bar}', array('bar' => 'bar'), array('bar' => '(foo|bar)')),
-                '', '#^/(?P<bar>(foo|bar))?$#s', array('bar'), array(
-                    array('variable', '/', '(foo|bar)', 'bar'),
-                ),),
-
-            array(
-                'Route with only optional variables',
-                array('/{foo}/{bar}', array('foo' => 'foo', 'bar' => 'bar')),
-                '', '#^/(?P<foo>[^/]++)?(?:/(?P<bar>[^/]++))?$#s', array('foo', 'bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('variable', '/', '[^/]++', 'foo'),
-                ),),
-
-            array(
-                'Route with a variable in last position',
-                array('/foo-{bar}'),
-                '/foo', '#^/foo\-(?P<bar>[^/]++)$#s', array('bar'), array(
-                array('variable', '-', '[^/]++', 'bar'),
-                array('text', '/foo'),
-            ),),
-
-            array(
-                'Route with nested placeholders',
-                array('/{static{var}static}'),
-                '/{static', '#^/\{static(?P<var>[^/]+)static\}$#s', array('var'), array(
-                array('text', 'static}'),
-                array('variable', '', '[^/]+', 'var'),
-                array('text', '/{static'),
-            ),),
-
-            array(
-                'Route without separator between variables',
-                array('/{w}{x}{y}{z}.{_format}', array('z' => 'default-z', '_format' => 'html'), array('y' => '(y|Y)')),
-                '', '#^/(?P<w>[^/\.]+)(?P<x>[^/\.]+)(?P<y>(y|Y))(?:(?P<z>[^/\.]++)(?:\.(?P<_format>[^/]++))?)?$#s', array('w', 'x', 'y', 'z', '_format'), array(
-                array('variable', '.', '[^/]++', '_format'),
-                array('variable', '', '[^/\.]++', 'z'),
-                array('variable', '', '(y|Y)', 'y'),
-                array('variable', '', '[^/\.]+', 'x'),
-                array('variable', '/', '[^/\.]+', 'w'),
-            ),),
-
-            array(
-                'Route with a format',
-                array('/foo/{bar}.{_format}'),
-                '/foo', '#^/foo/(?P<bar>[^/\.]++)\.(?P<_format>[^/]++)$#s', array('bar', '_format'), array(
-                array('variable', '.', '[^/]++', '_format'),
-                array('variable', '/', '[^/\.]++', 'bar'),
-                array('text', '/foo'),
-            ),),
-        );
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testRouteWithSameVariableTwice()
-    {
-        $route = new Route('/{name}/{name}');
-
-        $compiled = $route->compile();
-    }
-
-    /**
-     * @dataProvider getNumericVariableNames
-     * @expectedException \DomainException
-     */
-    public function testRouteWithNumericVariableName($name)
-    {
-        $route = new Route('/{'.$name.'}');
-        $route->compile();
-    }
-
-    public function getNumericVariableNames()
-    {
-        return array(
-           array('09'),
-           array('123'),
-           array('1e2'),
-        );
-    }
-
-    /**
-     * @dataProvider provideCompileWithHostData
-     */
-    public function testCompileWithHost($name, $arguments, $prefix, $regex, $variables, $pathVariables, $tokens, $hostRegex, $hostVariables, $hostTokens)
-    {
-        $r = new \ReflectionClass('Symfony\\Component\\Routing\\Route');
-        $route = $r->newInstanceArgs($arguments);
-
-        $compiled = $route->compile();
-        $this->assertEquals($prefix, $compiled->getStaticPrefix(), $name.' (static prefix)');
-        $this->assertEquals($regex, str_replace(array("\n", ' '), '', $compiled->getRegex()), $name.' (regex)');
-        $this->assertEquals($variables, $compiled->getVariables(), $name.' (variables)');
-        $this->assertEquals($pathVariables, $compiled->getPathVariables(), $name.' (path variables)');
-        $this->assertEquals($tokens, $compiled->getTokens(), $name.' (tokens)');
-        $this->assertEquals($hostRegex, str_replace(array("\n", ' '), '', $compiled->getHostRegex()), $name.' (host regex)');
-        $this->assertEquals($hostVariables, $compiled->getHostVariables(), $name.' (host variables)');
-        $this->assertEquals($hostTokens, $compiled->getHostTokens(), $name.' (host tokens)');
-    }
-
-    public function provideCompileWithHostData()
-    {
-        return array(
-            array(
-                'Route with host pattern',
-                array('/hello', array(), array(), array(), 'www.example.com'),
-                '/hello', '#^/hello$#s', array(), array(), array(
-                    array('text', '/hello'),
-                ),
-                '#^www\.example\.com$#si', array(), array(
-                    array('text', 'www.example.com'),
-                ),
-            ),
-            array(
-                'Route with host pattern and some variables',
-                array('/hello/{name}', array(), array(), array(), 'www.example.{tld}'),
-                '/hello', '#^/hello/(?P<name>[^/]++)$#s', array('tld', 'name'), array('name'), array(
-                    array('variable', '/', '[^/]++', 'name'),
-                    array('text', '/hello'),
-                ),
-                '#^www\.example\.(?P<tld>[^\.]++)$#si', array('tld'), array(
-                    array('variable', '.', '[^\.]++', 'tld'),
-                    array('text', 'www.example'),
-                ),
-            ),
-            array(
-                'Route with variable at beginning of host',
-                array('/hello', array(), array(), array(), '{locale}.example.{tld}'),
-                '/hello', '#^/hello$#s', array('locale', 'tld'), array(), array(
-                    array('text', '/hello'),
-                ),
-                '#^(?P<locale>[^\.]++)\.example\.(?P<tld>[^\.]++)$#si', array('locale', 'tld'), array(
-                    array('variable', '.', '[^\.]++', 'tld'),
-                    array('text', '.example'),
-                    array('variable', '', '[^\.]++', 'locale'),
-                ),
-            ),
-            array(
-                'Route with host variables that has a default value',
-                array('/hello', array('locale' => 'a', 'tld' => 'b'), array(), array(), '{locale}.example.{tld}'),
-                '/hello', '#^/hello$#s', array('locale', 'tld'), array(), array(
-                    array('text', '/hello'),
-                ),
-                '#^(?P<locale>[^\.]++)\.example\.(?P<tld>[^\.]++)$#si', array('locale', 'tld'), array(
-                    array('variable', '.', '[^\.]++', 'tld'),
-                    array('text', '.example'),
-                    array('variable', '', '[^\.]++', 'locale'),
-                ),
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php
deleted file mode 100644
index 224a6dc..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\Route;
-
-class RouteTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructor()
-    {
-        $route = new Route('/{foo}', array('foo' => 'bar'), array('foo' => '\d+'), array('foo' => 'bar'), '{locale}.example.com');
-        $this->assertEquals('/{foo}', $route->getPath(), '__construct() takes a path as its first argument');
-        $this->assertEquals(array('foo' => 'bar'), $route->getDefaults(), '__construct() takes defaults as its second argument');
-        $this->assertEquals(array('foo' => '\d+'), $route->getRequirements(), '__construct() takes requirements as its third argument');
-        $this->assertEquals('bar', $route->getOption('foo'), '__construct() takes options as its fourth argument');
-        $this->assertEquals('{locale}.example.com', $route->getHost(), '__construct() takes a host pattern as its fifth argument');
-
-        $route = new Route('/', array(), array(), array(), '', array('Https'), array('POST', 'put'), 'context.getMethod() == "GET"');
-        $this->assertEquals(array('https'), $route->getSchemes(), '__construct() takes schemes as its sixth argument and lowercases it');
-        $this->assertEquals(array('POST', 'PUT'), $route->getMethods(), '__construct() takes methods as its seventh argument and uppercases it');
-        $this->assertEquals('context.getMethod() == "GET"', $route->getCondition(), '__construct() takes a condition as its eight argument');
-
-        $route = new Route('/', array(), array(), array(), '', 'Https', 'Post');
-        $this->assertEquals(array('https'), $route->getSchemes(), '__construct() takes a single scheme as its sixth argument');
-        $this->assertEquals(array('POST'), $route->getMethods(), '__construct() takes a single method as its seventh argument');
-    }
-
-    public function testPath()
-    {
-        $route = new Route('/{foo}');
-        $route->setPath('/{bar}');
-        $this->assertEquals('/{bar}', $route->getPath(), '->setPath() sets the path');
-        $route->setPath('');
-        $this->assertEquals('/', $route->getPath(), '->setPath() adds a / at the beginning of the path if needed');
-        $route->setPath('bar');
-        $this->assertEquals('/bar', $route->getPath(), '->setPath() adds a / at the beginning of the path if needed');
-        $this->assertEquals($route, $route->setPath(''), '->setPath() implements a fluent interface');
-        $route->setPath('//path');
-        $this->assertEquals('/path', $route->getPath(), '->setPath() does not allow two slashes "//" at the beginning of the path as it would be confused with a network path when generating the path from the route');
-    }
-
-    public function testOptions()
-    {
-        $route = new Route('/{foo}');
-        $route->setOptions(array('foo' => 'bar'));
-        $this->assertEquals(array_merge(array(
-        'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler',
-        ), array('foo' => 'bar')), $route->getOptions(), '->setOptions() sets the options');
-        $this->assertEquals($route, $route->setOptions(array()), '->setOptions() implements a fluent interface');
-
-        $route->setOptions(array('foo' => 'foo'));
-        $route->addOptions(array('bar' => 'bar'));
-        $this->assertEquals($route, $route->addOptions(array()), '->addOptions() implements a fluent interface');
-        $this->assertEquals(array('foo' => 'foo', 'bar' => 'bar', 'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler'), $route->getOptions(), '->addDefaults() keep previous defaults');
-    }
-
-    public function testOption()
-    {
-        $route = new Route('/{foo}');
-        $this->assertFalse($route->hasOption('foo'), '->hasOption() return false if option is not set');
-        $this->assertEquals($route, $route->setOption('foo', 'bar'), '->setOption() implements a fluent interface');
-        $this->assertEquals('bar', $route->getOption('foo'), '->setOption() sets the option');
-        $this->assertTrue($route->hasOption('foo'), '->hasOption() return true if option is set');
-    }
-
-    public function testDefaults()
-    {
-        $route = new Route('/{foo}');
-        $route->setDefaults(array('foo' => 'bar'));
-        $this->assertEquals(array('foo' => 'bar'), $route->getDefaults(), '->setDefaults() sets the defaults');
-        $this->assertEquals($route, $route->setDefaults(array()), '->setDefaults() implements a fluent interface');
-
-        $route->setDefault('foo', 'bar');
-        $this->assertEquals('bar', $route->getDefault('foo'), '->setDefault() sets a default value');
-
-        $route->setDefault('foo2', 'bar2');
-        $this->assertEquals('bar2', $route->getDefault('foo2'), '->getDefault() return the default value');
-        $this->assertNull($route->getDefault('not_defined'), '->getDefault() return null if default value is not set');
-
-        $route->setDefault('_controller', $closure = function () { return 'Hello'; });
-        $this->assertEquals($closure, $route->getDefault('_controller'), '->setDefault() sets a default value');
-
-        $route->setDefaults(array('foo' => 'foo'));
-        $route->addDefaults(array('bar' => 'bar'));
-        $this->assertEquals($route, $route->addDefaults(array()), '->addDefaults() implements a fluent interface');
-        $this->assertEquals(array('foo' => 'foo', 'bar' => 'bar'), $route->getDefaults(), '->addDefaults() keep previous defaults');
-    }
-
-    public function testRequirements()
-    {
-        $route = new Route('/{foo}');
-        $route->setRequirements(array('foo' => '\d+'));
-        $this->assertEquals(array('foo' => '\d+'), $route->getRequirements(), '->setRequirements() sets the requirements');
-        $this->assertEquals('\d+', $route->getRequirement('foo'), '->getRequirement() returns a requirement');
-        $this->assertNull($route->getRequirement('bar'), '->getRequirement() returns null if a requirement is not defined');
-        $route->setRequirements(array('foo' => '^\d+$'));
-        $this->assertEquals('\d+', $route->getRequirement('foo'), '->getRequirement() removes ^ and $ from the path');
-        $this->assertEquals($route, $route->setRequirements(array()), '->setRequirements() implements a fluent interface');
-
-        $route->setRequirements(array('foo' => '\d+'));
-        $route->addRequirements(array('bar' => '\d+'));
-        $this->assertEquals($route, $route->addRequirements(array()), '->addRequirements() implements a fluent interface');
-        $this->assertEquals(array('foo' => '\d+', 'bar' => '\d+'), $route->getRequirements(), '->addRequirement() keep previous requirements');
-    }
-
-    public function testRequirement()
-    {
-        $route = new Route('/{foo}');
-        $this->assertFalse($route->hasRequirement('foo'), '->hasRequirement() return false if requirement is not set');
-        $route->setRequirement('foo', '^\d+$');
-        $this->assertEquals('\d+', $route->getRequirement('foo'), '->setRequirement() removes ^ and $ from the path');
-        $this->assertTrue($route->hasRequirement('foo'), '->hasRequirement() return true if requirement is set');
-    }
-
-    /**
-     * @dataProvider getInvalidRequirements
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetInvalidRequirement($req)
-    {
-        $route = new Route('/{foo}');
-        $route->setRequirement('foo', $req);
-    }
-
-    public function getInvalidRequirements()
-    {
-        return array(
-           array(''),
-           array(array()),
-           array('^$'),
-           array('^'),
-           array('$'),
-        );
-    }
-
-    public function testHost()
-    {
-        $route = new Route('/');
-        $route->setHost('{locale}.example.net');
-        $this->assertEquals('{locale}.example.net', $route->getHost(), '->setHost() sets the host pattern');
-    }
-
-    public function testScheme()
-    {
-        $route = new Route('/');
-        $this->assertEquals(array(), $route->getSchemes(), 'schemes is initialized with array()');
-        $this->assertFalse($route->hasScheme('http'));
-        $route->setSchemes('hTTp');
-        $this->assertEquals(array('http'), $route->getSchemes(), '->setSchemes() accepts a single scheme string and lowercases it');
-        $this->assertTrue($route->hasScheme('htTp'));
-        $this->assertFalse($route->hasScheme('httpS'));
-        $route->setSchemes(array('HttpS', 'hTTp'));
-        $this->assertEquals(array('https', 'http'), $route->getSchemes(), '->setSchemes() accepts an array of schemes and lowercases them');
-        $this->assertTrue($route->hasScheme('htTp'));
-        $this->assertTrue($route->hasScheme('httpS'));
-    }
-
-    public function testSchemeIsBC()
-    {
-        $route = new Route('/');
-        $route->setRequirement('_scheme', 'http|https');
-        $this->assertEquals('http|https', $route->getRequirement('_scheme'));
-        $this->assertEquals(array('http', 'https'), $route->getSchemes());
-        $this->assertTrue($route->hasScheme('https'));
-        $this->assertTrue($route->hasScheme('http'));
-        $this->assertFalse($route->hasScheme('ftp'));
-        $route->setSchemes(array('hTTp'));
-        $this->assertEquals('http', $route->getRequirement('_scheme'));
-        $route->setSchemes(array());
-        $this->assertNull($route->getRequirement('_scheme'));
-    }
-
-    public function testMethod()
-    {
-        $route = new Route('/');
-        $this->assertEquals(array(), $route->getMethods(), 'methods is initialized with array()');
-        $route->setMethods('gEt');
-        $this->assertEquals(array('GET'), $route->getMethods(), '->setMethods() accepts a single method string and uppercases it');
-        $route->setMethods(array('gEt', 'PosT'));
-        $this->assertEquals(array('GET', 'POST'), $route->getMethods(), '->setMethods() accepts an array of methods and uppercases them');
-    }
-
-    public function testMethodIsBC()
-    {
-        $route = new Route('/');
-        $route->setRequirement('_method', 'GET|POST');
-        $this->assertEquals('GET|POST', $route->getRequirement('_method'));
-        $this->assertEquals(array('GET', 'POST'), $route->getMethods());
-        $route->setMethods(array('gEt'));
-        $this->assertEquals('GET', $route->getRequirement('_method'));
-        $route->setMethods(array());
-        $this->assertNull($route->getRequirement('_method'));
-    }
-
-    public function testCondition()
-    {
-        $route = new Route('/');
-        $this->assertSame('', $route->getCondition());
-        $route->setCondition('context.getMethod() == "GET"');
-        $this->assertSame('context.getMethod() == "GET"', $route->getCondition());
-    }
-
-    public function testCompile()
-    {
-        $route = new Route('/{foo}');
-        $this->assertInstanceOf('Symfony\Component\Routing\CompiledRoute', $compiled = $route->compile(), '->compile() returns a compiled route');
-        $this->assertSame($compiled, $route->compile(), '->compile() only compiled the route once if unchanged');
-        $route->setRequirement('foo', '.*');
-        $this->assertNotSame($compiled, $route->compile(), '->compile() recompiles if the route was modified');
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyPattern()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $route = new Route('/{foo}');
-        $this->assertEquals('/{foo}', $route->getPattern());
-
-        $route->setPattern('/bar');
-        $this->assertEquals('/bar', $route->getPattern());
-    }
-
-    public function testSerialize()
-    {
-        $route = new Route('/prefix/{foo}', array('foo' => 'default'), array('foo' => '\d+'));
-
-        $serialized = serialize($route);
-        $unserialized = unserialize($serialized);
-
-        $this->assertEquals($route, $unserialized);
-        $this->assertNotSame($route, $unserialized);
-    }
-
-    /**
-     * Tests that the compiled version is also serialized to prevent the overhead
-     * of compiling it again after unserialize.
-     */
-    public function testSerializeWhenCompiled()
-    {
-        $route = new Route('/prefix/{foo}', array('foo' => 'default'), array('foo' => '\d+'));
-        $route->setHost('{locale}.example.net');
-        $route->compile();
-
-        $serialized = serialize($route);
-        $unserialized = unserialize($serialized);
-
-        $this->assertEquals($route, $unserialized);
-        $this->assertNotSame($route, $unserialized);
-    }
-
-    /**
-     * Tests that the serialized representation of a route in one symfony version
-     * also works in later symfony versions, i.e. the unserialized route is in the
-     * same state as another, semantically equivalent, route.
-     */
-    public function testSerializedRepresentationKeepsWorking()
-    {
-        $serialized = 'C:31:"Symfony\Component\Routing\Route":934:{a:8:{s:4:"path";s:13:"/prefix/{foo}";s:4:"host";s:20:"{locale}.example.net";s:8:"defaults";a:1:{s:3:"foo";s:7:"default";}s:12:"requirements";a:1:{s:3:"foo";s:3:"\d+";}s:7:"options";a:1:{s:14:"compiler_class";s:39:"Symfony\Component\Routing\RouteCompiler";}s:7:"schemes";a:0:{}s:7:"methods";a:0:{}s:8:"compiled";C:39:"Symfony\Component\Routing\CompiledRoute":569:{a:8:{s:4:"vars";a:2:{i:0;s:6:"locale";i:1;s:3:"foo";}s:11:"path_prefix";s:7:"/prefix";s:10:"path_regex";s:30:"#^/prefix(?:/(?P<foo>\d+))?$#s";s:11:"path_tokens";a:2:{i:0;a:4:{i:0;s:8:"variable";i:1;s:1:"/";i:2;s:3:"\d+";i:3;s:3:"foo";}i:1;a:2:{i:0;s:4:"text";i:1;s:7:"/prefix";}}s:9:"path_vars";a:1:{i:0;s:3:"foo";}s:10:"host_regex";s:39:"#^(?P<locale>[^\.]++)\.example\.net$#si";s:11:"host_tokens";a:2:{i:0;a:2:{i:0;s:4:"text";i:1;s:12:".example.net";}i:1;a:4:{i:0;s:8:"variable";i:1;s:0:"";i:2;s:7:"[^\.]++";i:3;s:6:"locale";}}s:9:"host_vars";a:1:{i:0;s:6:"locale";}}}}}';
-        $unserialized = unserialize($serialized);
-
-        $route = new Route('/prefix/{foo}', array('foo' => 'default'), array('foo' => '\d+'));
-        $route->setHost('{locale}.example.net');
-        $route->compile();
-
-        $this->assertEquals($route, $unserialized);
-        $this->assertNotSame($route, $unserialized);
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouterTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouterTest.php
deleted file mode 100644
index 9a1c568..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouterTest.php
+++ /dev/null
@@ -1,161 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\Router;
-use Symfony\Component\HttpFoundation\Request;
-
-class RouterTest extends \PHPUnit_Framework_TestCase
-{
-    private $router = null;
-
-    private $loader = null;
-
-    protected function setUp()
-    {
-        $this->loader = $this->getMock('Symfony\Component\Config\Loader\LoaderInterface');
-        $this->router = new Router($this->loader, 'routing.yml');
-    }
-
-    public function testSetOptionsWithSupportedOptions()
-    {
-        $this->router->setOptions(array(
-            'cache_dir' => './cache',
-            'debug' => true,
-            'resource_type' => 'ResourceType',
-        ));
-
-        $this->assertSame('./cache', $this->router->getOption('cache_dir'));
-        $this->assertTrue($this->router->getOption('debug'));
-        $this->assertSame('ResourceType', $this->router->getOption('resource_type'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage The Router does not support the following options: "option_foo", "option_bar"
-     */
-    public function testSetOptionsWithUnsupportedOptions()
-    {
-        $this->router->setOptions(array(
-            'cache_dir' => './cache',
-            'option_foo' => true,
-            'option_bar' => 'baz',
-            'resource_type' => 'ResourceType',
-        ));
-    }
-
-    public function testSetOptionWithSupportedOption()
-    {
-        $this->router->setOption('cache_dir', './cache');
-
-        $this->assertSame('./cache', $this->router->getOption('cache_dir'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage The Router does not support the "option_foo" option
-     */
-    public function testSetOptionWithUnsupportedOption()
-    {
-        $this->router->setOption('option_foo', true);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage The Router does not support the "option_foo" option
-     */
-    public function testGetOptionWithUnsupportedOption()
-    {
-        $this->router->getOption('option_foo', true);
-    }
-
-    public function testThatRouteCollectionIsLoaded()
-    {
-        $this->router->setOption('resource_type', 'ResourceType');
-
-        $routeCollection = $this->getMock('Symfony\Component\Routing\RouteCollection');
-
-        $this->loader->expects($this->once())
-            ->method('load')->with('routing.yml', 'ResourceType')
-            ->will($this->returnValue($routeCollection));
-
-        $this->assertSame($routeCollection, $this->router->getRouteCollection());
-    }
-
-    /**
-     * @dataProvider provideMatcherOptionsPreventingCaching
-     */
-    public function testMatcherIsCreatedIfCacheIsNotConfigured($option)
-    {
-        $this->router->setOption($option, null);
-
-        $this->loader->expects($this->once())
-            ->method('load')->with('routing.yml', null)
-            ->will($this->returnValue($this->getMock('Symfony\Component\Routing\RouteCollection')));
-
-        $this->assertInstanceOf('Symfony\\Component\\Routing\\Matcher\\UrlMatcher', $this->router->getMatcher());
-    }
-
-    public function provideMatcherOptionsPreventingCaching()
-    {
-        return array(
-            array('cache_dir'),
-            array('matcher_cache_class'),
-        );
-    }
-
-    /**
-     * @dataProvider provideGeneratorOptionsPreventingCaching
-     */
-    public function testGeneratorIsCreatedIfCacheIsNotConfigured($option)
-    {
-        $this->router->setOption($option, null);
-
-        $this->loader->expects($this->once())
-            ->method('load')->with('routing.yml', null)
-            ->will($this->returnValue($this->getMock('Symfony\Component\Routing\RouteCollection')));
-
-        $this->assertInstanceOf('Symfony\\Component\\Routing\\Generator\\UrlGenerator', $this->router->getGenerator());
-    }
-
-    public function provideGeneratorOptionsPreventingCaching()
-    {
-        return array(
-            array('cache_dir'),
-            array('generator_cache_class'),
-        );
-    }
-
-    public function testMatchRequestWithUrlMatcherInterface()
-    {
-        $matcher = $this->getMock('Symfony\Component\Routing\Matcher\UrlMatcherInterface');
-        $matcher->expects($this->once())->method('match');
-
-        $p = new \ReflectionProperty($this->router, 'matcher');
-        $p->setAccessible(true);
-        $p->setValue($this->router, $matcher);
-
-        $this->router->matchRequest(Request::create('/'));
-    }
-
-    public function testMatchRequestWithRequestMatcherInterface()
-    {
-        $matcher = $this->getMock('Symfony\Component\Routing\Matcher\RequestMatcherInterface');
-        $matcher->expects($this->once())->method('matchRequest');
-
-        $p = new \ReflectionProperty($this->router, 'matcher');
-        $p->setAccessible(true);
-        $p->setValue($this->router, $matcher);
-
-        $this->router->matchRequest(Request::create('/'));
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json b/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json
deleted file mode 100644
index 7c274c5..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    "name": "symfony/routing",
-    "type": "library",
-    "description": "Symfony Routing Component",
-    "keywords": ["routing", "router", "URL", "URI"],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7",
-        "symfony/config": "~2.2",
-        "symfony/http-foundation": "~2.3",
-        "symfony/yaml": "~2.0,>=2.0.5",
-        "symfony/expression-language": "~2.4",
-        "doctrine/annotations": "~1.0",
-        "doctrine/common": "~2.2",
-        "psr/log": "~1.0"
-    },
-    "suggest": {
-        "symfony/config": "For using the all-in-one router or any loader",
-        "symfony/yaml": "For using the YAML loader",
-        "symfony/expression-language": "For using expression matching",
-        "doctrine/annotations": "For using the annotation loader"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\Routing\\": "" }
-    },
-    "target-dir": "Symfony/Component/Routing",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist b/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist
deleted file mode 100644
index fae243c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist
+++ /dev/null
@@ -1,27 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony Routing Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./vendor</directory>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitignore b/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md b/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md
deleted file mode 100644
index 45e6201..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md
+++ /dev/null
@@ -1,79 +0,0 @@
-CHANGELOG
-=========
-
-2.6.0
------
-
- * added a new serializer: `PropertyNormalizer`. Like `GetSetMethodNormalizer`,
-   this normalizer will map an object's properties to an array.
- * added circular references handling for `GetSetMethodNormalizer`
-
-2.5.0
------
-
- * added support for `is.*` getters in `GetSetMethodNormalizer`
-
-2.4.0
------
-
- * added `$context` support for XMLEncoder.
- * [DEPRECATION] JsonEncode and JsonDecode where modified to throw
-   an exception if error found. No need for get*Error() functions
-
-2.3.0
------
-
- * added `GetSetMethodNormalizer::setCamelizedAttributes` to allow calling
-   camel cased methods for underscored properties
-
-2.2.0
------
-
- * [BC BREAK] All Serializer, Normalizer and Encoder interfaces have been
-   modified to include an optional `$context` array parameter.
- * The XML Root name can now be configured with the `xml_root_name`
-   parameter in the context option to the `XmlEncoder`.
- * Options to `json_encode` and `json_decode` can be passed through
-   the context options of `JsonEncode` and `JsonDecode` encoder/decoders.
-
-2.1.0
------
-
- * added DecoderInterface::supportsDecoding(),
-   EncoderInterface::supportsEncoding()
- * removed NormalizableInterface::denormalize(),
-   NormalizerInterface::denormalize(),
-   NormalizerInterface::supportsDenormalization()
- * removed normalize() denormalize() encode() decode() supportsSerialization()
-   supportsDeserialization() supportsEncoding() supportsDecoding()
-   getEncoder() from SerializerInterface
- * Serializer now implements NormalizerInterface, DenormalizerInterface,
-   EncoderInterface, DecoderInterface in addition to SerializerInterface
- * added DenormalizableInterface and DenormalizerInterface
- * [BC BREAK] changed `GetSetMethodNormalizer`'s key names from all lowercased
-   to camelCased (e.g. `mypropertyvalue` to `myPropertyValue`)
- * [BC BREAK] convert the `item` XML tag to an array
-
-    ``` xml
-    <?xml version="1.0"?>
-    <response>
-        <item><title><![CDATA[title1]]></title></item><item><title><![CDATA[title2]]></title></item>
-    </response>
-    ```
-
-    Before:
-
-        Array()
-
-    After:
-
-        Array(
-            [item] => Array(
-                [0] => Array(
-                    [title] => title1
-                )
-                [1] => Array(
-                    [title] => title2
-                )
-            )
-        )
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php
deleted file mode 100644
index f8f17b4..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\Exception\RuntimeException;
-
-/**
- * Decoder delegating the decoding to a chain of decoders.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- * @author Lukas Kahwe Smith <smith@pooteeweet.org>
- */
-class ChainDecoder implements DecoderInterface
-{
-    protected $decoders = array();
-    protected $decoderByFormat = array();
-
-    public function __construct(array $decoders = array())
-    {
-        $this->decoders = $decoders;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    final public function decode($data, $format, array $context = array())
-    {
-        return $this->getDecoder($format)->decode($data, $format, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDecoding($format)
-    {
-        try {
-            $this->getDecoder($format);
-        } catch (RuntimeException $e) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Gets the decoder supporting the format.
-     *
-     * @param string $format
-     *
-     * @return DecoderInterface
-     *
-     * @throws RuntimeException if no decoder is found
-     */
-    private function getDecoder($format)
-    {
-        if (isset($this->decoderByFormat[$format])
-            && isset($this->decoders[$this->decoderByFormat[$format]])
-        ) {
-            return $this->decoders[$this->decoderByFormat[$format]];
-        }
-
-        foreach ($this->decoders as $i => $decoder) {
-            if ($decoder->supportsDecoding($format)) {
-                $this->decoderByFormat[$format] = $i;
-
-                return $decoder;
-            }
-        }
-
-        throw new RuntimeException(sprintf('No decoder found for format "%s".', $format));
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php
deleted file mode 100644
index 5ee352a..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\Exception\RuntimeException;
-
-/**
- * Encoder delegating the decoding to a chain of encoders.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- * @author Lukas Kahwe Smith <smith@pooteeweet.org>
- */
-class ChainEncoder implements EncoderInterface
-{
-    protected $encoders = array();
-    protected $encoderByFormat = array();
-
-    public function __construct(array $encoders = array())
-    {
-        $this->encoders = $encoders;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    final public function encode($data, $format, array $context = array())
-    {
-        return $this->getEncoder($format)->encode($data, $format, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsEncoding($format)
-    {
-        try {
-            $this->getEncoder($format);
-        } catch (RuntimeException $e) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Checks whether the normalization is needed for the given format.
-     *
-     * @param string $format
-     *
-     * @return bool
-     */
-    public function needsNormalization($format)
-    {
-        $encoder = $this->getEncoder($format);
-
-        if (!$encoder instanceof NormalizationAwareInterface) {
-            return true;
-        }
-
-        if ($encoder instanceof self) {
-            return $encoder->needsNormalization($format);
-        }
-
-        return false;
-    }
-
-    /**
-     * Gets the encoder supporting the format.
-     *
-     * @param string $format
-     *
-     * @return EncoderInterface
-     *
-     * @throws RuntimeException if no encoder is found
-     */
-    private function getEncoder($format)
-    {
-        if (isset($this->encoderByFormat[$format])
-            && isset($this->encoders[$this->encoderByFormat[$format]])
-        ) {
-            return $this->encoders[$this->encoderByFormat[$format]];
-        }
-
-        foreach ($this->encoders as $i => $encoder) {
-            if ($encoder->supportsEncoding($format)) {
-                $this->encoderByFormat[$format] = $i;
-
-                return $encoder;
-            }
-        }
-
-        throw new RuntimeException(sprintf('No encoder found for format "%s".', $format));
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php
deleted file mode 100644
index 910f4ce..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-
-/**
- * Defines the interface of decoders.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface DecoderInterface
-{
-    /**
-     * Decodes a string into PHP data.
-     *
-     * @param string $data    Data to decode
-     * @param string $format  Format name
-     * @param array  $context options that decoders have access to.
-     *
-     * The format parameter specifies which format the data is in; valid values
-     * depend on the specific implementation. Authors implementing this interface
-     * are encouraged to document which formats they support in a non-inherited
-     * phpdoc comment.
-     *
-     * @return mixed
-     *
-     * @throws UnexpectedValueException
-     */
-    public function decode($data, $format, array $context = array());
-
-    /**
-     * Checks whether the deserializer can decode from given format.
-     *
-     * @param string $format format name
-     *
-     * @return bool
-     */
-    public function supportsDecoding($format);
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php
deleted file mode 100644
index fe7e777..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-
-/**
- * Defines the interface of encoders.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface EncoderInterface
-{
-    /**
-     * Encodes data into the given format.
-     *
-     * @param mixed  $data    Data to encode
-     * @param string $format  Format name
-     * @param array  $context options that normalizers/encoders have access to.
-     *
-     * @return scalar
-     *
-     * @throws UnexpectedValueException
-     */
-    public function encode($data, $format, array $context = array());
-
-    /**
-     * Checks whether the serializer can encode to given format.
-     *
-     * @param string $format format name
-     *
-     * @return bool
-     */
-    public function supportsEncoding($format);
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php
deleted file mode 100644
index 4bb5b43..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-
-/**
- * Decodes JSON data.
- *
- * @author Sander Coolen <sander@jibber.nl>
- */
-class JsonDecode implements DecoderInterface
-{
-    /**
-     * Specifies if the returned result should be an associative array or a nested stdClass object hierarchy.
-     *
-     * @var bool
-     */
-    private $associative;
-
-    /**
-     * Specifies the recursion depth.
-     *
-     * @var int
-     */
-    private $recursionDepth;
-
-    private $lastError = JSON_ERROR_NONE;
-
-    protected $serializer;
-
-    /**
-     * Constructs a new JsonDecode instance.
-     *
-     * @param bool $associative True to return the result associative array, false for a nested stdClass hierarchy
-     * @param int  $depth       Specifies the recursion depth
-     */
-    public function __construct($associative = false, $depth = 512)
-    {
-        $this->associative = $associative;
-        $this->recursionDepth = (int) $depth;
-    }
-
-    /**
-     * Returns the last decoding error (if any).
-     *
-     * @return int
-     *
-     * @deprecated since 2.5, decode() throws an exception if error found, will be removed in 3.0
-     *
-     * @see http://php.net/manual/en/function.json-last-error.php json_last_error
-     */
-    public function getLastError()
-    {
-        return $this->lastError;
-    }
-
-    /**
-     * Decodes data.
-     *
-     * @param string $data    The encoded JSON string to decode
-     * @param string $format  Must be set to JsonEncoder::FORMAT
-     * @param array  $context An optional set of options for the JSON decoder; see below
-     *
-     * The $context array is a simple key=>value array, with the following supported keys:
-     *
-     * json_decode_associative: boolean
-     *      If true, returns the object as associative array.
-     *      If false, returns the object as nested stdClass
-     *      If not specified, this method will use the default set in JsonDecode::__construct
-     *
-     * json_decode_recursion_depth: integer
-     *      Specifies the maximum recursion depth
-     *      If not specified, this method will use the default set in JsonDecode::__construct
-     *
-     * json_decode_options: integer
-     *      Specifies additional options as per documentation for json_decode. Only supported with PHP 5.4.0 and higher
-     *
-     * @return mixed
-     *
-     * @throws UnexpectedValueException
-     *
-     * @see http://php.net/json_decode json_decode
-     */
-    public function decode($data, $format, array $context = array())
-    {
-        $context = $this->resolveContext($context);
-
-        $associative = $context['json_decode_associative'];
-        $recursionDepth = $context['json_decode_recursion_depth'];
-        $options = $context['json_decode_options'];
-
-        if (PHP_VERSION_ID >= 50400) {
-            $decodedData = json_decode($data, $associative, $recursionDepth, $options);
-        } else {
-            $decodedData = json_decode($data, $associative, $recursionDepth);
-        }
-
-        if (JSON_ERROR_NONE !== $this->lastError = json_last_error()) {
-            throw new UnexpectedValueException(JsonEncoder::getLastErrorMessage());
-        }
-
-        return $decodedData;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDecoding($format)
-    {
-        return JsonEncoder::FORMAT === $format;
-    }
-
-    /**
-     * Merges the default options of the Json Decoder with the passed context.
-     *
-     * @param array $context
-     *
-     * @return array
-     */
-    private function resolveContext(array $context)
-    {
-        $defaultOptions = array(
-            'json_decode_associative' => $this->associative,
-            'json_decode_recursion_depth' => $this->recursionDepth,
-            'json_decode_options' => 0,
-        );
-
-        return array_merge($defaultOptions, $context);
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php
deleted file mode 100644
index ff377db..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-
-/**
- * Encodes JSON data.
- *
- * @author Sander Coolen <sander@jibber.nl>
- */
-class JsonEncode implements EncoderInterface
-{
-    private $options;
-    private $lastError = JSON_ERROR_NONE;
-
-    public function __construct($bitmask = 0)
-    {
-        $this->options = $bitmask;
-    }
-
-    /**
-     * Returns the last encoding error (if any).
-     *
-     * @return int
-     *
-     * @deprecated since 2.5, encode() throws an exception if error found, will be removed in 3.0
-     *
-     * @see http://php.net/manual/en/function.json-last-error.php json_last_error
-     */
-    public function getLastError()
-    {
-        return $this->lastError;
-    }
-
-    /**
-     * Encodes PHP data to a JSON string.
-     *
-     * {@inheritdoc}
-     */
-    public function encode($data, $format, array $context = array())
-    {
-        $context = $this->resolveContext($context);
-
-        $encodedJson = json_encode($data, $context['json_encode_options']);
-
-        if (JSON_ERROR_NONE !== $this->lastError = json_last_error()) {
-            throw new UnexpectedValueException(JsonEncoder::getLastErrorMessage());
-        }
-
-        return $encodedJson;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsEncoding($format)
-    {
-        return JsonEncoder::FORMAT === $format;
-    }
-
-    /**
-     * Merge default json encode options with context.
-     *
-     * @param array $context
-     *
-     * @return array
-     */
-    private function resolveContext(array $context = array())
-    {
-        return array_merge(array('json_encode_options' => $this->options), $context);
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php
deleted file mode 100644
index 2231dd6..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-/**
- * Encodes JSON data.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class JsonEncoder implements EncoderInterface, DecoderInterface
-{
-    const FORMAT = 'json';
-
-    /**
-     * @var JsonEncode
-     */
-    protected $encodingImpl;
-
-    /**
-     * @var JsonDecode
-     */
-    protected $decodingImpl;
-
-    public function __construct(JsonEncode $encodingImpl = null, JsonDecode $decodingImpl = null)
-    {
-        $this->encodingImpl = $encodingImpl ?: new JsonEncode();
-        $this->decodingImpl = $decodingImpl ?: new JsonDecode(true);
-    }
-
-    /**
-     * Returns the last encoding error (if any).
-     *
-     * @return int
-     *
-     * @deprecated since 2.5, JsonEncode throws exception if an error is found, will be removed in 3.0
-     */
-    public function getLastEncodingError()
-    {
-        return $this->encodingImpl->getLastError();
-    }
-
-    /**
-     * Returns the last decoding error (if any).
-     *
-     * @return int
-     *
-     * @deprecated since 2.5, JsonDecode throws exception if an error is found, will be removed in 3.0
-     */
-    public function getLastDecodingError()
-    {
-        return $this->decodingImpl->getLastError();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function encode($data, $format, array $context = array())
-    {
-        return $this->encodingImpl->encode($data, self::FORMAT, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function decode($data, $format, array $context = array())
-    {
-        return $this->decodingImpl->decode($data, self::FORMAT, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsEncoding($format)
-    {
-        return self::FORMAT === $format;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDecoding($format)
-    {
-        return self::FORMAT === $format;
-    }
-
-    /**
-     * Resolves json_last_error message.
-     *
-     * @return string
-     */
-    public static function getLastErrorMessage()
-    {
-        if (function_exists('json_last_error_msg')) {
-            return json_last_error_msg();
-        }
-
-        switch (json_last_error()) {
-            case JSON_ERROR_DEPTH:
-                return 'Maximum stack depth exceeded';
-            case JSON_ERROR_STATE_MISMATCH:
-                return 'Underflow or the modes mismatch';
-            case JSON_ERROR_CTRL_CHAR:
-                return 'Unexpected control character found';
-            case JSON_ERROR_SYNTAX:
-                return 'Syntax error, malformed JSON';
-            case JSON_ERROR_UTF8:
-                return 'Malformed UTF-8 characters, possibly incorrectly encoded';
-            default:
-                return 'Unknown error';
-        }
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/NormalizationAwareInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/NormalizationAwareInterface.php
deleted file mode 100644
index c066bd7..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/NormalizationAwareInterface.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-/**
- * Defines the interface of encoders that will normalize data themselves.
- *
- * Implementing this interface essentially just tells the Serializer that the
- * data should not be pre-normalized before being passed to this Encoder.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface NormalizationAwareInterface
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/SerializerAwareEncoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/SerializerAwareEncoder.php
deleted file mode 100644
index a3d8ff3..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/SerializerAwareEncoder.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\SerializerInterface;
-use Symfony\Component\Serializer\SerializerAwareInterface;
-
-/**
- * SerializerAware Encoder implementation.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-abstract class SerializerAwareEncoder implements SerializerAwareInterface
-{
-    protected $serializer;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setSerializer(SerializerInterface $serializer)
-    {
-        $this->serializer = $serializer;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php
deleted file mode 100644
index 68ccc59..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php
+++ /dev/null
@@ -1,533 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Encoder;
-
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-
-/**
- * Encodes XML data.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author John Wards <jwards@whiteoctober.co.uk>
- * @author Fabian Vogler <fabian@equivalence.ch>
- */
-class XmlEncoder extends SerializerAwareEncoder implements EncoderInterface, DecoderInterface, NormalizationAwareInterface
-{
-    /**
-     * @var \DOMDocument
-     */
-    private $dom;
-    private $format;
-    private $context;
-    private $rootNodeName = 'response';
-
-    /**
-     * Construct new XmlEncoder and allow to change the root node element name.
-     *
-     * @param string $rootNodeName
-     */
-    public function __construct($rootNodeName = 'response')
-    {
-        $this->rootNodeName = $rootNodeName;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function encode($data, $format, array $context = array())
-    {
-        if ($data instanceof \DOMDocument) {
-            return $data->saveXML();
-        }
-
-        $xmlRootNodeName = $this->resolveXmlRootName($context);
-
-        $this->dom = $this->createDomDocument($context);
-        $this->format = $format;
-        $this->context = $context;
-
-        if (null !== $data && !is_scalar($data)) {
-            $root = $this->dom->createElement($xmlRootNodeName);
-            $this->dom->appendChild($root);
-            $this->buildXml($root, $data, $xmlRootNodeName);
-        } else {
-            $this->appendNode($this->dom, $data, $xmlRootNodeName);
-        }
-
-        return $this->dom->saveXML();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function decode($data, $format, array $context = array())
-    {
-        if ('' === trim($data)) {
-            throw new UnexpectedValueException('Invalid XML data, it can not be empty.');
-        }
-
-        $internalErrors = libxml_use_internal_errors(true);
-        $disableEntities = libxml_disable_entity_loader(true);
-        libxml_clear_errors();
-
-        $dom = new \DOMDocument();
-        $dom->loadXML($data, LIBXML_NONET | LIBXML_NOBLANKS);
-
-        libxml_use_internal_errors($internalErrors);
-        libxml_disable_entity_loader($disableEntities);
-
-        if ($error = libxml_get_last_error()) {
-            libxml_clear_errors();
-
-            throw new UnexpectedValueException($error->message);
-        }
-
-        foreach ($dom->childNodes as $child) {
-            if ($child->nodeType === XML_DOCUMENT_TYPE_NODE) {
-                throw new UnexpectedValueException('Document types are not allowed.');
-            }
-        }
-
-        $rootNode = $dom->firstChild;
-
-        // todo: throw an exception if the root node name is not correctly configured (bc)
-
-        if ($rootNode->hasChildNodes()) {
-            $xpath = new \DOMXPath($dom);
-            $data = array();
-            foreach ($xpath->query('namespace::*', $dom->documentElement) as $nsNode) {
-                $data['@'.$nsNode->nodeName] = $nsNode->nodeValue;
-            }
-
-            unset($data['@xmlns:xml']);
-
-            if (empty($data)) {
-                return $this->parseXml($rootNode);
-            }
-
-            return array_merge($data, (array) $this->parseXml($rootNode));
-        }
-
-        if (!$rootNode->hasAttributes()) {
-            return $rootNode->nodeValue;
-        }
-
-        $data = array();
-
-        foreach ($rootNode->attributes as $attrKey => $attr) {
-            $data['@'.$attrKey] = $attr->nodeValue;
-        }
-
-        $data['#'] = $rootNode->nodeValue;
-
-        return $data;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsEncoding($format)
-    {
-        return 'xml' === $format;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDecoding($format)
-    {
-        return 'xml' === $format;
-    }
-
-    /**
-     * Sets the root node name.
-     *
-     * @param string $name root node name
-     */
-    public function setRootNodeName($name)
-    {
-        $this->rootNodeName = $name;
-    }
-
-    /**
-     * Returns the root node name.
-     *
-     * @return string
-     */
-    public function getRootNodeName()
-    {
-        return $this->rootNodeName;
-    }
-
-    /**
-     * @param \DOMNode $node
-     * @param string   $val
-     *
-     * @return bool
-     */
-    final protected function appendXMLString(\DOMNode $node, $val)
-    {
-        if (strlen($val) > 0) {
-            $frag = $this->dom->createDocumentFragment();
-            $frag->appendXML($val);
-            $node->appendChild($frag);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * @param \DOMNode $node
-     * @param string   $val
-     *
-     * @return bool
-     */
-    final protected function appendText(\DOMNode $node, $val)
-    {
-        $nodeText = $this->dom->createTextNode($val);
-        $node->appendChild($nodeText);
-
-        return true;
-    }
-
-    /**
-     * @param \DOMNode $node
-     * @param string   $val
-     *
-     * @return bool
-     */
-    final protected function appendCData(\DOMNode $node, $val)
-    {
-        $nodeText = $this->dom->createCDATASection($val);
-        $node->appendChild($nodeText);
-
-        return true;
-    }
-
-    /**
-     * @param \DOMNode             $node
-     * @param \DOMDocumentFragment $fragment
-     *
-     * @return bool
-     */
-    final protected function appendDocumentFragment(\DOMNode $node, $fragment)
-    {
-        if ($fragment instanceof \DOMDocumentFragment) {
-            $node->appendChild($fragment);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Checks the name is a valid xml element name.
-     *
-     * @param string $name
-     *
-     * @return bool
-     */
-    final protected function isElementNameValid($name)
-    {
-        return $name &&
-            false === strpos($name, ' ') &&
-            preg_match('#^[\pL_][\pL0-9._:-]*$#ui', $name);
-    }
-
-    /**
-     * Parse the input DOMNode into an array or a string.
-     *
-     * @param \DOMNode $node xml to parse
-     *
-     * @return array|string
-     */
-    private function parseXml(\DOMNode $node)
-    {
-        $data = $this->parseXmlAttributes($node);
-
-        $value = $this->parseXmlValue($node);
-
-        if (!count($data)) {
-            return $value;
-        }
-
-        if (!is_array($value)) {
-            $data['#'] = $value;
-
-            return $data;
-        }
-
-        if (1 === count($value) && key($value)) {
-            $data[key($value)] = current($value);
-
-            return $data;
-        }
-
-        foreach ($value as $key => $val) {
-            $data[$key] = $val;
-        }
-
-        return $data;
-    }
-
-    /**
-     * Parse the input DOMNode attributes into an array.
-     *
-     * @param \DOMNode $node xml to parse
-     *
-     * @return array
-     */
-    private function parseXmlAttributes(\DOMNode $node)
-    {
-        if (!$node->hasAttributes()) {
-            return array();
-        }
-
-        $data = array();
-
-        foreach ($node->attributes as $attr) {
-            if (ctype_digit($attr->nodeValue)) {
-                $data['@'.$attr->nodeName] = (int) $attr->nodeValue;
-            } else {
-                $data['@'.$attr->nodeName] = $attr->nodeValue;
-            }
-        }
-
-        return $data;
-    }
-
-    /**
-     * Parse the input DOMNode value (content and children) into an array or a string.
-     *
-     * @param \DOMNode $node xml to parse
-     *
-     * @return array|string
-     */
-    private function parseXmlValue(\DOMNode $node)
-    {
-        if (!$node->hasChildNodes()) {
-            return $node->nodeValue;
-        }
-
-        if (1 === $node->childNodes->length && in_array($node->firstChild->nodeType, array(XML_TEXT_NODE, XML_CDATA_SECTION_NODE))) {
-            return $node->firstChild->nodeValue;
-        }
-
-        $value = array();
-
-        foreach ($node->childNodes as $subnode) {
-            $val = $this->parseXml($subnode);
-
-            if ('item' === $subnode->nodeName && isset($val['@key'])) {
-                if (isset($val['#'])) {
-                    $value[$val['@key']] = $val['#'];
-                } else {
-                    $value[$val['@key']] = $val;
-                }
-            } else {
-                $value[$subnode->nodeName][] = $val;
-            }
-        }
-
-        foreach ($value as $key => $val) {
-            if (is_array($val) && 1 === count($val)) {
-                $value[$key] = current($val);
-            }
-        }
-
-        return $value;
-    }
-
-    /**
-     * Parse the data and convert it to DOMElements.
-     *
-     * @param \DOMNode     $parentNode
-     * @param array|object $data
-     * @param string|null  $xmlRootNodeName
-     *
-     * @return bool
-     *
-     * @throws UnexpectedValueException
-     */
-    private function buildXml(\DOMNode $parentNode, $data, $xmlRootNodeName = null)
-    {
-        $append = true;
-
-        if (is_array($data) || $data instanceof \Traversable) {
-            foreach ($data as $key => $data) {
-                //Ah this is the magic @ attribute types.
-                if (0 === strpos($key, '@') && is_scalar($data) && $this->isElementNameValid($attributeName = substr($key, 1))) {
-                    $parentNode->setAttribute($attributeName, $data);
-                } elseif ($key === '#') {
-                    $append = $this->selectNodeType($parentNode, $data);
-                } elseif (is_array($data) && false === is_numeric($key)) {
-                    // Is this array fully numeric keys?
-                    if (ctype_digit(implode('', array_keys($data)))) {
-                        /*
-                         * Create nodes to append to $parentNode based on the $key of this array
-                         * Produces <xml><item>0</item><item>1</item></xml>
-                         * From array("item" => array(0,1));.
-                         */
-                        foreach ($data as $subData) {
-                            $append = $this->appendNode($parentNode, $subData, $key);
-                        }
-                    } else {
-                        $append = $this->appendNode($parentNode, $data, $key);
-                    }
-                } elseif (is_numeric($key) || !$this->isElementNameValid($key)) {
-                    $append = $this->appendNode($parentNode, $data, 'item', $key);
-                } else {
-                    $append = $this->appendNode($parentNode, $data, $key);
-                }
-            }
-
-            return $append;
-        }
-
-        if (is_object($data)) {
-            $data = $this->serializer->normalize($data, $this->format, $this->context);
-            if (null !== $data && !is_scalar($data)) {
-                return $this->buildXml($parentNode, $data, $xmlRootNodeName);
-            }
-
-            // top level data object was normalized into a scalar
-            if (!$parentNode->parentNode->parentNode) {
-                $root = $parentNode->parentNode;
-                $root->removeChild($parentNode);
-
-                return $this->appendNode($root, $data, $xmlRootNodeName);
-            }
-
-            return $this->appendNode($parentNode, $data, 'data');
-        }
-
-        throw new UnexpectedValueException(sprintf('An unexpected value could not be serialized: %s', var_export($data, true)));
-    }
-
-    /**
-     * Selects the type of node to create and appends it to the parent.
-     *
-     * @param \DOMNode     $parentNode
-     * @param array|object $data
-     * @param string       $nodeName
-     * @param string       $key
-     *
-     * @return bool
-     */
-    private function appendNode(\DOMNode $parentNode, $data, $nodeName, $key = null)
-    {
-        $node = $this->dom->createElement($nodeName);
-        if (null !== $key) {
-            $node->setAttribute('key', $key);
-        }
-        $appendNode = $this->selectNodeType($node, $data);
-        // we may have decided not to append this node, either in error or if its $nodeName is not valid
-        if ($appendNode) {
-            $parentNode->appendChild($node);
-        }
-
-        return $appendNode;
-    }
-
-    /**
-     * Checks if a value contains any characters which would require CDATA wrapping.
-     *
-     * @param string $val
-     *
-     * @return bool
-     */
-    private function needsCdataWrapping($val)
-    {
-        return preg_match('/[<>&]/', $val);
-    }
-
-    /**
-     * Tests the value being passed and decide what sort of element to create.
-     *
-     * @param \DOMNode $node
-     * @param mixed    $val
-     *
-     * @return bool
-     */
-    private function selectNodeType(\DOMNode $node, $val)
-    {
-        if (is_array($val)) {
-            return $this->buildXml($node, $val);
-        } elseif ($val instanceof \SimpleXMLElement) {
-            $child = $this->dom->importNode(dom_import_simplexml($val), true);
-            $node->appendChild($child);
-        } elseif ($val instanceof \Traversable) {
-            $this->buildXml($node, $val);
-        } elseif (is_object($val)) {
-            return $this->buildXml($node, $this->serializer->normalize($val, $this->format, $this->context));
-        } elseif (is_numeric($val)) {
-            return $this->appendText($node, (string) $val);
-        } elseif (is_string($val) && $this->needsCdataWrapping($val)) {
-            return $this->appendCData($node, $val);
-        } elseif (is_string($val)) {
-            return $this->appendText($node, $val);
-        } elseif (is_bool($val)) {
-            return $this->appendText($node, (int) $val);
-        } elseif ($val instanceof \DOMNode) {
-            $child = $this->dom->importNode($val, true);
-            $node->appendChild($child);
-        }
-
-        return true;
-    }
-
-    /**
-     * Get real XML root node name, taking serializer options into account.
-     *
-     * @param array $context
-     *
-     * @return string
-     */
-    private function resolveXmlRootName(array $context = array())
-    {
-        return isset($context['xml_root_node_name'])
-            ? $context['xml_root_node_name']
-            : $this->rootNodeName;
-    }
-
-    /**
-     * Create a DOM document, taking serializer options into account.
-     *
-     * @param array $context options that the encoder has access to.
-     *
-     * @return \DOMDocument
-     */
-    private function createDomDocument(array $context)
-    {
-        $document = new \DOMDocument();
-
-        // Set an attribute on the DOM document specifying, as part of the XML declaration,
-        $xmlOptions = array(
-            // the version number of the document
-            'xml_version' => 'xmlVersion',
-            // the encoding of the document
-            'xml_encoding' => 'encoding',
-            // whether the document is standalone
-            'xml_standalone' => 'xmlStandalone',
-        );
-        foreach ($xmlOptions as $xmlOption => $documentProperty) {
-            if (isset($context[$xmlOption])) {
-                $document->$documentProperty = $context[$xmlOption];
-            }
-        }
-
-        return $document;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/CircularReferenceException.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/CircularReferenceException.php
deleted file mode 100644
index b2977b9..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/CircularReferenceException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Exception;
-
-/**
- * CircularReferenceException
- *
- * @author Kévin Dunglas <dunglas@gmail.com>
- */
-class CircularReferenceException extends RuntimeException
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/Exception.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/Exception.php
deleted file mode 100644
index dc2b8fd..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/Exception.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Exception;
-
-/**
- * Base exception.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-interface Exception
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/InvalidArgumentException.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/InvalidArgumentException.php
deleted file mode 100644
index 8cad373..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/InvalidArgumentException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Exception;
-
-/**
- * InvalidArgumentException.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class InvalidArgumentException extends \InvalidArgumentException implements Exception
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/LogicException.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/LogicException.php
deleted file mode 100644
index a372bf9..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/LogicException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Exception;
-
-/**
- * LogicException.
- *
- * @author Lukas Kahwe Smith <smith@pooteeweet.org>
- */
-class LogicException extends \LogicException implements Exception
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/RuntimeException.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/RuntimeException.php
deleted file mode 100644
index 0272865..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/RuntimeException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Exception;
-
-/**
- * RuntimeException.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class RuntimeException extends \RuntimeException implements Exception
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnexpectedValueException.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnexpectedValueException.php
deleted file mode 100644
index 86cf204..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnexpectedValueException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Exception;
-
-/**
- * UnexpectedValueException.
- *
- * @author Lukas Kahwe Smith <smith@pooteeweet.org>
- */
-class UnexpectedValueException extends \UnexpectedValueException implements Exception
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnsupportedException.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnsupportedException.php
deleted file mode 100644
index 7dc44ee..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnsupportedException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Exception;
-
-/**
- * UnsupportedException.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class UnsupportedException extends InvalidArgumentException
-{
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE b/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php
deleted file mode 100644
index 83c3c14..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-/**
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class CustomNormalizer extends SerializerAwareNormalizer implements NormalizerInterface, DenormalizerInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function normalize($object, $format = null, array $context = array())
-    {
-        return $object->normalize($this->serializer, $format, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function denormalize($data, $class, $format = null, array $context = array())
-    {
-        $object = new $class();
-        $object->denormalize($this->serializer, $data, $format, $context);
-
-        return $object;
-    }
-
-    /**
-     * Checks if the given class implements the NormalizableInterface.
-     *
-     * @param mixed  $data   Data to normalize.
-     * @param string $format The format being (de-)serialized from or into.
-     *
-     * @return bool
-     */
-    public function supportsNormalization($data, $format = null)
-    {
-        return $data instanceof NormalizableInterface;
-    }
-
-    /**
-     * Checks if the given class implements the NormalizableInterface.
-     *
-     * @param mixed  $data   Data to denormalize from.
-     * @param string $type   The class to which the data should be denormalized.
-     * @param string $format The format being deserialized from.
-     *
-     * @return bool
-     */
-    public function supportsDenormalization($data, $type, $format = null)
-    {
-        $class = new \ReflectionClass($type);
-
-        return $class->isSubclassOf('Symfony\Component\Serializer\Normalizer\DenormalizableInterface');
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php
deleted file mode 100644
index 86c2702..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-/**
- * Defines the most basic interface a class must implement to be denormalizable.
- *
- * If a denormalizer is registered for the class and it doesn't implement
- * the Denormalizable interfaces, the normalizer will be used instead
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface DenormalizableInterface
-{
-    /**
-     * Denormalizes the object back from an array of scalars|arrays.
-     *
-     * It is important to understand that the denormalize() call should denormalize
-     * recursively all child objects of the implementor.
-     *
-     * @param DenormalizerInterface $denormalizer The denormalizer is given so that you
-     *                                            can use it to denormalize objects contained within this object
-     * @param array|scalar          $data         The data from which to re-create the object.
-     * @param string|null           $format       The format is optionally given to be able to denormalize differently
-     *                                            based on different input formats
-     * @param array                 $context      options for denormalizing
-     */
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array());
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php
deleted file mode 100644
index 8b6c233..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-/**
- * Defines the interface of denormalizers.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface DenormalizerInterface
-{
-    /**
-     * Denormalizes data back into an object of the given class.
-     *
-     * @param mixed  $data    data to restore
-     * @param string $class   the expected class to instantiate
-     * @param string $format  format the given data was extracted from
-     * @param array  $context options available to the denormalizer
-     *
-     * @return object
-     */
-    public function denormalize($data, $class, $format = null, array $context = array());
-
-    /**
-     * Checks whether the given class is supported for denormalization by this normalizer.
-     *
-     * @param mixed  $data   Data to denormalize from.
-     * @param string $type   The class to which the data should be denormalized.
-     * @param string $format The format being deserialized from.
-     *
-     * @return bool
-     */
-    public function supportsDenormalization($data, $type, $format = null);
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
deleted file mode 100644
index a588713..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
+++ /dev/null
@@ -1,318 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-use Symfony\Component\Serializer\Exception\CircularReferenceException;
-use Symfony\Component\Serializer\Exception\InvalidArgumentException;
-use Symfony\Component\Serializer\Exception\LogicException;
-use Symfony\Component\Serializer\Exception\RuntimeException;
-
-/**
- * Converts between objects with getter and setter methods and arrays.
- *
- * The normalization process looks at all public methods and calls the ones
- * which have a name starting with get and take no parameters. The result is a
- * map from property names (method name stripped of the get prefix and converted
- * to lower case) to property values. Property values are normalized through the
- * serializer.
- *
- * The denormalization first looks at the constructor of the given class to see
- * if any of the parameters have the same name as one of the properties. The
- * constructor is then called with all parameters or an exception is thrown if
- * any required parameters were not present as properties. Then the denormalizer
- * walks through the given map of property names to property values to see if a
- * setter method exists for any of the properties. If a setter exists it is
- * called with the property value. No automatic denormalization of the value
- * takes place.
- *
- * @author Nils Adermann <naderman@naderman.de>
- * @author Kévin Dunglas <dunglas@gmail.com>
- */
-class GetSetMethodNormalizer extends SerializerAwareNormalizer implements NormalizerInterface, DenormalizerInterface
-{
-    protected $circularReferenceLimit = 1;
-    protected $circularReferenceHandler;
-    protected $callbacks = array();
-    protected $ignoredAttributes = array();
-    protected $camelizedAttributes = array();
-
-    /**
-     * Set circular reference limit.
-     *
-     * @param $circularReferenceLimit limit of iterations for the same object
-     *
-     * @return self
-     */
-    public function setCircularReferenceLimit($circularReferenceLimit)
-    {
-        $this->circularReferenceLimit = $circularReferenceLimit;
-
-        return $this;
-    }
-
-    /**
-     * Set circular reference handler.
-     *
-     * @param callable $circularReferenceHandler
-     *
-     * @return self
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setCircularReferenceHandler($circularReferenceHandler)
-    {
-        if (!is_callable($circularReferenceHandler)) {
-            throw new InvalidArgumentException('The given circular reference handler is not callable.');
-        }
-
-        $this->circularReferenceHandler = $circularReferenceHandler;
-
-        return $this;
-    }
-
-    /**
-     * Set normalization callbacks.
-     *
-     * @param callable[] $callbacks help normalize the result
-     *
-     * @throws InvalidArgumentException if a non-callable callback is set
-     *
-     * @return self
-     */
-    public function setCallbacks(array $callbacks)
-    {
-        foreach ($callbacks as $attribute => $callback) {
-            if (!is_callable($callback)) {
-                throw new InvalidArgumentException(sprintf('The given callback for attribute "%s" is not callable.', $attribute));
-            }
-        }
-        $this->callbacks = $callbacks;
-
-        return $this;
-    }
-
-    /**
-     * Set ignored attributes for normalization.
-     *
-     * @param array $ignoredAttributes
-     *
-     * @return self
-     */
-    public function setIgnoredAttributes(array $ignoredAttributes)
-    {
-        $this->ignoredAttributes = $ignoredAttributes;
-
-        return $this;
-    }
-
-    /**
-     * Set attributes to be camelized on denormalize.
-     *
-     * @param array $camelizedAttributes
-     *
-     * @return self
-     */
-    public function setCamelizedAttributes(array $camelizedAttributes)
-    {
-        $this->camelizedAttributes = $camelizedAttributes;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function normalize($object, $format = null, array $context = array())
-    {
-        $objectHash = spl_object_hash($object);
-
-        if (isset($context['circular_reference_limit'][$objectHash])) {
-            if ($context['circular_reference_limit'][$objectHash] >= $this->circularReferenceLimit) {
-                unset($context['circular_reference_limit'][$objectHash]);
-
-                if ($this->circularReferenceHandler) {
-                    return call_user_func($this->circularReferenceHandler, $object);
-                }
-
-                throw new CircularReferenceException(sprintf('A circular reference has been detected (configured limit: %d).', $this->circularReferenceLimit));
-            }
-
-            $context['circular_reference_limit'][$objectHash]++;
-        } else {
-            $context['circular_reference_limit'][$objectHash] = 1;
-        }
-
-        $reflectionObject = new \ReflectionObject($object);
-        $reflectionMethods = $reflectionObject->getMethods(\ReflectionMethod::IS_PUBLIC);
-
-        $attributes = array();
-        foreach ($reflectionMethods as $method) {
-            if ($this->isGetMethod($method)) {
-                $attributeName = lcfirst(substr($method->name, 0 === strpos($method->name, 'is') ? 2 : 3));
-
-                if (in_array($attributeName, $this->ignoredAttributes)) {
-                    continue;
-                }
-
-                $attributeValue = $method->invoke($object);
-                if (array_key_exists($attributeName, $this->callbacks)) {
-                    $attributeValue = call_user_func($this->callbacks[$attributeName], $attributeValue);
-                }
-                if (null !== $attributeValue && !is_scalar($attributeValue)) {
-                    if (!$this->serializer instanceof NormalizerInterface) {
-                        throw new LogicException(sprintf('Cannot normalize attribute "%s" because injected serializer is not a normalizer', $attributeName));
-                    }
-
-                    $attributeValue = $this->serializer->normalize($attributeValue, $format, $context);
-                }
-
-                $attributes[$attributeName] = $attributeValue;
-            }
-        }
-
-        return $attributes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function denormalize($data, $class, $format = null, array $context = array())
-    {
-        if (is_array($data) || is_object($data) && $data instanceof \ArrayAccess) {
-            $normalizedData = $data;
-        } elseif (is_object($data)) {
-            $normalizedData = array();
-
-            foreach ($data as $attribute => $value) {
-                $normalizedData[$attribute] = $value;
-            }
-        } else {
-            $normalizedData = array();
-        }
-
-        $reflectionClass = new \ReflectionClass($class);
-        $constructor = $reflectionClass->getConstructor();
-
-        if ($constructor) {
-            $constructorParameters = $constructor->getParameters();
-
-            $params = array();
-            foreach ($constructorParameters as $constructorParameter) {
-                $paramName = lcfirst($this->formatAttribute($constructorParameter->name));
-
-                if (isset($normalizedData[$paramName])) {
-                    $params[] = $normalizedData[$paramName];
-                    // don't run set for a parameter passed to the constructor
-                    unset($normalizedData[$paramName]);
-                } elseif ($constructorParameter->isOptional()) {
-                    $params[] = $constructorParameter->getDefaultValue();
-                } else {
-                    throw new RuntimeException(
-                        'Cannot create an instance of '.$class.
-                        ' from serialized data because its constructor requires '.
-                        'parameter "'.$constructorParameter->name.
-                        '" to be present.');
-                }
-            }
-
-            $object = $reflectionClass->newInstanceArgs($params);
-        } else {
-            $object = new $class();
-        }
-
-        foreach ($normalizedData as $attribute => $value) {
-            $setter = 'set'.$this->formatAttribute($attribute);
-
-            if (method_exists($object, $setter)) {
-                $object->$setter($value);
-            }
-        }
-
-        return $object;
-    }
-
-    /**
-     * Format attribute name to access parameters or methods
-     * As option, if attribute name is found on camelizedAttributes array
-     * returns attribute name in camelcase format.
-     *
-     * @param string $attributeName
-     *
-     * @return string
-     */
-    protected function formatAttribute($attributeName)
-    {
-        if (in_array($attributeName, $this->camelizedAttributes)) {
-            return preg_replace_callback(
-                '/(^|_|\.)+(.)/', function ($match) {
-                    return ('.' === $match[1] ? '_' : '').strtoupper($match[2]);
-                }, $attributeName
-            );
-        }
-
-        return $attributeName;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsNormalization($data, $format = null)
-    {
-        return is_object($data) && $this->supports(get_class($data));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDenormalization($data, $type, $format = null)
-    {
-        return $this->supports($type);
-    }
-
-    /**
-     * Checks if the given class has any get{Property} method.
-     *
-     * @param string $class
-     *
-     * @return bool
-     */
-    private function supports($class)
-    {
-        $class = new \ReflectionClass($class);
-        $methods = $class->getMethods(\ReflectionMethod::IS_PUBLIC);
-        foreach ($methods as $method) {
-            if ($this->isGetMethod($method)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Checks if a method's name is get.* or is.*, and can be called without parameters.
-     *
-     * @param \ReflectionMethod $method the method to check
-     *
-     * @return bool whether the method is a getter or boolean getter.
-     */
-    private function isGetMethod(\ReflectionMethod $method)
-    {
-        $methodLength = strlen($method->name);
-
-        return (
-            ((0 === strpos($method->name, 'get') && 3 < $methodLength) ||
-            (0 === strpos($method->name, 'is') && 2 < $methodLength)) &&
-            0 === $method->getNumberOfRequiredParameters()
-        );
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php
deleted file mode 100644
index b9fefe8..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-/**
- * Defines the most basic interface a class must implement to be normalizable.
- *
- * If a normalizer is registered for the class and it doesn't implement
- * the Normalizable interfaces, the normalizer will be used instead.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface NormalizableInterface
-{
-    /**
-     * Normalizes the object into an array of scalars|arrays.
-     *
-     * It is important to understand that the normalize() call should normalize
-     * recursively all child objects of the implementor.
-     *
-     * @param NormalizerInterface $normalizer The normalizer is given so that you
-     *                                        can use it to normalize objects contained within this object.
-     * @param string|null         $format     The format is optionally given to be able to normalize differently
-     *                                        based on different output formats.
-     * @param array               $context    Options for normalizing this object
-     *
-     * @return array|string|bool|int|float|null
-     */
-    public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array());
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php
deleted file mode 100644
index 2a51d63..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-/**
- * Defines the interface of normalizers.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface NormalizerInterface
-{
-    /**
-     * Normalizes an object into a set of arrays/scalars.
-     *
-     * @param object $object  object to normalize
-     * @param string $format  format the normalization result will be encoded as
-     * @param array  $context Context options for the normalizer
-     *
-     * @return array|string|bool|int|float|null
-     */
-    public function normalize($object, $format = null, array $context = array());
-
-    /**
-     * Checks whether the given class is supported for normalization by this normalizer.
-     *
-     * @param mixed  $data   Data to normalize.
-     * @param string $format The format being (de-)serialized from or into.
-     *
-     * @return bool
-     */
-    public function supportsNormalization($data, $format = null);
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
deleted file mode 100644
index b48b54a..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
+++ /dev/null
@@ -1,223 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-use Symfony\Component\Serializer\Exception\InvalidArgumentException;
-use Symfony\Component\Serializer\Exception\LogicException;
-use Symfony\Component\Serializer\Exception\RuntimeException;
-
-/**
- * Converts between objects and arrays by mapping properties.
- *
- * The normalization process looks for all the object's properties (public and private).
- * The result is a map from property names to property values. Property values
- * are normalized through the serializer.
- *
- * The denormalization first looks at the constructor of the given class to see
- * if any of the parameters have the same name as one of the properties. The
- * constructor is then called with all parameters or an exception is thrown if
- * any required parameters were not present as properties. Then the denormalizer
- * walks through the given map of property names to property values to see if a
- * property with the corresponding name exists. If found, the property gets the value.
- *
- * @author Matthieu Napoli <matthieu@mnapoli.fr>
- */
-class PropertyNormalizer extends SerializerAwareNormalizer implements NormalizerInterface, DenormalizerInterface
-{
-    private $callbacks = array();
-    private $ignoredAttributes = array();
-    private $camelizedAttributes = array();
-
-    /**
-     * Set normalization callbacks
-     *
-     * @param array $callbacks help normalize the result
-     *
-     * @throws InvalidArgumentException if a non-callable callback is set
-     */
-    public function setCallbacks(array $callbacks)
-    {
-        foreach ($callbacks as $attribute => $callback) {
-            if (!is_callable($callback)) {
-                throw new InvalidArgumentException(sprintf(
-                    'The given callback for attribute "%s" is not callable.',
-                    $attribute
-                ));
-            }
-        }
-        $this->callbacks = $callbacks;
-    }
-
-    /**
-     * Set ignored attributes for normalization.
-     *
-     * @param array $ignoredAttributes
-     */
-    public function setIgnoredAttributes(array $ignoredAttributes)
-    {
-        $this->ignoredAttributes = $ignoredAttributes;
-    }
-
-    /**
-     * Set attributes to be camelized on denormalize
-     *
-     * @param array $camelizedAttributes
-     */
-    public function setCamelizedAttributes(array $camelizedAttributes)
-    {
-        $this->camelizedAttributes = $camelizedAttributes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function normalize($object, $format = null, array $context = array())
-    {
-        $reflectionObject = new \ReflectionObject($object);
-        $attributes = array();
-
-        foreach ($reflectionObject->getProperties() as $property) {
-            if (in_array($property->name, $this->ignoredAttributes)) {
-                continue;
-            }
-
-            // Override visibility
-            if (! $property->isPublic()) {
-                $property->setAccessible(true);
-            }
-
-            $attributeValue = $property->getValue($object);
-
-            if (array_key_exists($property->name, $this->callbacks)) {
-                $attributeValue = call_user_func($this->callbacks[$property->name], $attributeValue);
-            }
-            if (null !== $attributeValue && !is_scalar($attributeValue)) {
-                if (!$this->serializer instanceof NormalizerInterface) {
-                    throw new LogicException(sprintf('Cannot normalize attribute "%s" because injected serializer is not a normalizer', $property->name));
-                }
-
-                $attributeValue = $this->serializer->normalize($attributeValue, $format);
-            }
-
-            $attributes[$property->name] = $attributeValue;
-        }
-
-        return $attributes;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function denormalize($data, $class, $format = null, array $context = array())
-    {
-        $reflectionClass = new \ReflectionClass($class);
-        $constructor = $reflectionClass->getConstructor();
-
-        if ($constructor) {
-            $constructorParameters = $constructor->getParameters();
-
-            $params = array();
-            foreach ($constructorParameters as $constructorParameter) {
-                $paramName = lcfirst($this->formatAttribute($constructorParameter->name));
-
-                if (isset($data[$paramName])) {
-                    $params[] = $data[$paramName];
-                    // don't run set for a parameter passed to the constructor
-                    unset($data[$paramName]);
-                } elseif (!$constructorParameter->isOptional()) {
-                    throw new RuntimeException(sprintf(
-                        'Cannot create an instance of %s from serialized data because '.
-                        'its constructor requires parameter "%s" to be present.',
-                        $class,
-                        $constructorParameter->name
-                    ));
-                }
-            }
-
-            $object = $reflectionClass->newInstanceArgs($params);
-        } else {
-            $object = new $class();
-        }
-
-        foreach ($data as $propertyName => $value) {
-            $propertyName = lcfirst($this->formatAttribute($propertyName));
-
-            if ($reflectionClass->hasProperty($propertyName)) {
-                $property = $reflectionClass->getProperty($propertyName);
-
-                // Override visibility
-                if (! $property->isPublic()) {
-                    $property->setAccessible(true);
-                }
-
-                $property->setValue($object, $value);
-            }
-        }
-
-        return $object;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsNormalization($data, $format = null)
-    {
-        return is_object($data) && $this->supports(get_class($data));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDenormalization($data, $type, $format = null)
-    {
-        return $this->supports($type);
-    }
-
-    /**
-     * Format an attribute name, for example to convert a snake_case name to camelCase.
-     *
-     * @param string $attributeName
-     *
-     * @return string
-     */
-    protected function formatAttribute($attributeName)
-    {
-        if (in_array($attributeName, $this->camelizedAttributes)) {
-            return preg_replace_callback('/(^|_|\.)+(.)/', function ($match) {
-                return ('.' === $match[1] ? '_' : '').strtoupper($match[2]);
-            }, $attributeName);
-        }
-
-        return $attributeName;
-    }
-
-    /**
-     * Checks if the given class has any non-static property.
-     *
-     * @param string $class
-     *
-     * @return bool
-     */
-    private function supports($class)
-    {
-        $class = new \ReflectionClass($class);
-
-        // We look for at least one non-static property
-        foreach ($class->getProperties() as $property) {
-            if (! $property->isStatic()) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/SerializerAwareNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/SerializerAwareNormalizer.php
deleted file mode 100644
index 3956857..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/SerializerAwareNormalizer.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Normalizer;
-
-use Symfony\Component\Serializer\SerializerInterface;
-use Symfony\Component\Serializer\SerializerAwareInterface;
-
-/**
- * SerializerAware Normalizer implementation.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-abstract class SerializerAwareNormalizer implements SerializerAwareInterface
-{
-    /**
-     * @var SerializerInterface
-     */
-    protected $serializer;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setSerializer(SerializerInterface $serializer)
-    {
-        $this->serializer = $serializer;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/README.md b/core/vendor/symfony/serializer/Symfony/Component/Serializer/README.md
deleted file mode 100644
index 4d8ab01..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-Serializer Component
-====================
-
-With the Serializer component its possible to handle serializing data structures,
-including object graphs, into array structures or other formats like XML and JSON.
-It can also handle deserializing XML and JSON back to object graphs.
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/Serializer/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php
deleted file mode 100644
index 09ec771..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php
+++ /dev/null
@@ -1,300 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer;
-
-use Symfony\Component\Serializer\Encoder\ChainDecoder;
-use Symfony\Component\Serializer\Encoder\ChainEncoder;
-use Symfony\Component\Serializer\Encoder\EncoderInterface;
-use Symfony\Component\Serializer\Encoder\DecoderInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-use Symfony\Component\Serializer\Exception\LogicException;
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-
-/**
- * Serializer serializes and deserializes data.
- *
- * objects are turned into arrays by normalizers.
- * arrays are turned into various output formats by encoders.
- *
- * $serializer->serialize($obj, 'xml')
- * $serializer->decode($data, 'xml')
- * $serializer->denormalize($data, 'Class', 'xml')
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- * @author Lukas Kahwe Smith <smith@pooteeweet.org>
- */
-class Serializer implements SerializerInterface, NormalizerInterface, DenormalizerInterface, EncoderInterface, DecoderInterface
-{
-    /**
-     * @var Encoder\ChainEncoder
-     */
-    protected $encoder;
-    /**
-     * @var Encoder\ChainDecoder
-     */
-    protected $decoder;
-    /**
-     * @var array
-     */
-    protected $normalizers = array();
-    /**
-     * @var array
-     */
-    protected $normalizerCache = array();
-    /**
-     * @var array
-     */
-    protected $denormalizerCache = array();
-
-    public function __construct(array $normalizers = array(), array $encoders = array())
-    {
-        foreach ($normalizers as $normalizer) {
-            if ($normalizer instanceof SerializerAwareInterface) {
-                $normalizer->setSerializer($this);
-            }
-        }
-        $this->normalizers = $normalizers;
-
-        $decoders = array();
-        $realEncoders = array();
-        foreach ($encoders as $encoder) {
-            if ($encoder instanceof SerializerAwareInterface) {
-                $encoder->setSerializer($this);
-            }
-            if ($encoder instanceof DecoderInterface) {
-                $decoders[] = $encoder;
-            }
-            if ($encoder instanceof EncoderInterface) {
-                $realEncoders[] = $encoder;
-            }
-        }
-        $this->encoder = new ChainEncoder($realEncoders);
-        $this->decoder = new ChainDecoder($decoders);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    final public function serialize($data, $format, array $context = array())
-    {
-        if (!$this->supportsEncoding($format)) {
-            throw new UnexpectedValueException(sprintf('Serialization for the format %s is not supported', $format));
-        }
-
-        if ($this->encoder->needsNormalization($format)) {
-            $data = $this->normalize($data, $format, $context);
-        }
-
-        return $this->encode($data, $format, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    final public function deserialize($data, $type, $format, array $context = array())
-    {
-        if (!$this->supportsDecoding($format)) {
-            throw new UnexpectedValueException(sprintf('Deserialization for the format %s is not supported', $format));
-        }
-
-        $data = $this->decode($data, $format, $context);
-
-        return $this->denormalize($data, $type, $format, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function normalize($data, $format = null, array $context = array())
-    {
-        if (null === $data || is_scalar($data)) {
-            return $data;
-        }
-        if (is_object($data) && $this->supportsNormalization($data, $format)) {
-            return $this->normalizeObject($data, $format, $context);
-        }
-        if ($data instanceof \Traversable) {
-            $normalized = array();
-            foreach ($data as $key => $val) {
-                $normalized[$key] = $this->normalize($val, $format, $context);
-            }
-
-            return $normalized;
-        }
-        if (is_object($data)) {
-            return $this->normalizeObject($data, $format, $context);
-        }
-        if (is_array($data)) {
-            foreach ($data as $key => $val) {
-                $data[$key] = $this->normalize($val, $format, $context);
-            }
-
-            return $data;
-        }
-        throw new UnexpectedValueException(sprintf('An unexpected value could not be normalized: %s', var_export($data, true)));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function denormalize($data, $type, $format = null, array $context = array())
-    {
-        return $this->denormalizeObject($data, $type, $format, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsNormalization($data, $format = null)
-    {
-        return null !== $this->getNormalizer($data, $format);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDenormalization($data, $type, $format = null)
-    {
-        return null !== $this->getDenormalizer($data, $type, $format);
-    }
-
-    /**
-     * Returns a matching normalizer.
-     *
-     * @param object $data   The object to get the serializer for
-     * @param string $format format name, present to give the option to normalizers to act differently based on formats
-     *
-     * @return NormalizerInterface|null
-     */
-    private function getNormalizer($data, $format)
-    {
-        $class = get_class($data);
-        if (isset($this->normalizerCache[$class][$format])) {
-            return $this->normalizerCache[$class][$format];
-        }
-
-        foreach ($this->normalizers as $normalizer) {
-            if ($normalizer instanceof NormalizerInterface && $normalizer->supportsNormalization($data, $format)) {
-                $this->normalizerCache[$class][$format] = $normalizer;
-
-                return $normalizer;
-            }
-        }
-    }
-
-    /**
-     * Returns a matching denormalizer.
-     *
-     * @param mixed  $data   data to restore
-     * @param string $class  the expected class to instantiate
-     * @param string $format format name, present to give the option to normalizers to act differently based on formats
-     *
-     * @return DenormalizerInterface|null
-     */
-    private function getDenormalizer($data, $class, $format)
-    {
-        if (isset($this->denormalizerCache[$class][$format])) {
-            return $this->denormalizerCache[$class][$format];
-        }
-
-        foreach ($this->normalizers as $normalizer) {
-            if ($normalizer instanceof DenormalizerInterface && $normalizer->supportsDenormalization($data, $class, $format)) {
-                $this->denormalizerCache[$class][$format] = $normalizer;
-
-                return $normalizer;
-            }
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    final public function encode($data, $format, array $context = array())
-    {
-        return $this->encoder->encode($data, $format, $context);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    final public function decode($data, $format, array $context = array())
-    {
-        return $this->decoder->decode($data, $format, $context);
-    }
-
-    /**
-     * Normalizes an object into a set of arrays/scalars.
-     *
-     * @param object $object  object to normalize
-     * @param string $format  format name, present to give the option to normalizers to act differently based on formats
-     * @param array  $context The context data for this particular normalization
-     *
-     * @return array|string|bool|int|float|null
-     *
-     * @throws LogicException
-     * @throws UnexpectedValueException
-     */
-    private function normalizeObject($object, $format, array $context = array())
-    {
-        if (!$this->normalizers) {
-            throw new LogicException('You must register at least one normalizer to be able to normalize objects.');
-        }
-
-        if ($normalizer = $this->getNormalizer($object, $format)) {
-            return $normalizer->normalize($object, $format, $context);
-        }
-        throw new UnexpectedValueException(sprintf('Could not normalize object of type %s, no supporting normalizer found.', get_class($object)));
-    }
-
-    /**
-     * Denormalizes data back into an object of the given class.
-     *
-     * @param mixed  $data    data to restore
-     * @param string $class   the expected class to instantiate
-     * @param string $format  format name, present to give the option to normalizers to act differently based on formats
-     * @param array  $context The context data for this particular denormalization
-     *
-     * @return object
-     *
-     * @throws LogicException
-     * @throws UnexpectedValueException
-     */
-    private function denormalizeObject($data, $class, $format, array $context = array())
-    {
-        if (!$this->normalizers) {
-            throw new LogicException('You must register at least one normalizer to be able to denormalize objects.');
-        }
-
-        if ($normalizer = $this->getDenormalizer($data, $class, $format)) {
-            return $normalizer->denormalize($data, $class, $format, $context);
-        }
-        throw new UnexpectedValueException(sprintf('Could not denormalize object of type %s, no supporting normalizer found.', $class));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsEncoding($format)
-    {
-        return $this->encoder->supportsEncoding($format);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDecoding($format)
-    {
-        return $this->decoder->supportsDecoding($format);
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerAwareInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerAwareInterface.php
deleted file mode 100644
index dd0a62e..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerAwareInterface.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer;
-
-/**
- * Defines the interface of encoders.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface SerializerAwareInterface
-{
-    /**
-     * Sets the owning Serializer object.
-     *
-     * @param SerializerInterface $serializer
-     */
-    public function setSerializer(SerializerInterface $serializer);
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php
deleted file mode 100644
index c79db91..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer;
-
-/**
- * Defines the interface of the Serializer.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface SerializerInterface
-{
-    /**
-     * Serializes data in the appropriate format.
-     *
-     * @param mixed  $data    any data
-     * @param string $format  format name
-     * @param array  $context options normalizers/encoders have access to
-     *
-     * @return string
-     */
-    public function serialize($data, $format, array $context = array());
-
-    /**
-     * Deserializes data into the given type.
-     *
-     * @param mixed  $data
-     * @param string $type
-     * @param string $format
-     * @param array  $context
-     *
-     * @return object
-     */
-    public function deserialize($data, $type, $format, array $context = array());
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php
deleted file mode 100644
index c7bd11e..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Encoder;
-
-use Symfony\Component\Serializer\Encoder\JsonEncoder;
-use Symfony\Component\Serializer\Serializer;
-use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
-
-class JsonEncoderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->encoder = new JsonEncoder();
-        $this->serializer = new Serializer(array(new CustomNormalizer()), array('json' => new JsonEncoder()));
-    }
-
-    public function testEncodeScalar()
-    {
-        $obj = new \stdClass();
-        $obj->foo = 'foo';
-
-        $expected = '{"foo":"foo"}';
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'json'));
-    }
-
-    public function testComplexObject()
-    {
-        $obj = $this->getObject();
-
-        $expected = $this->getJsonSource();
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'json'));
-    }
-
-    public function testOptions()
-    {
-        $context = array('json_encode_options' => JSON_NUMERIC_CHECK);
-
-        $arr = array();
-        $arr['foo'] = '3';
-
-        $expected = '{"foo":3}';
-
-        $this->assertEquals($expected, $this->serializer->serialize($arr, 'json', $context));
-
-        $arr = array();
-        $arr['foo'] = '3';
-
-        $expected = '{"foo":"3"}';
-
-        $this->assertEquals($expected, $this->serializer->serialize($arr, 'json'), 'Context should not be persistent');
-    }
-
-    protected function getJsonSource()
-    {
-        return '{"foo":"foo","bar":["a","b"],"baz":{"key":"val","key2":"val","A B":"bar","item":[{"title":"title1"},{"title":"title2"}],"Barry":{"FooBar":{"Baz":"Ed","@id":1}}},"qux":"1"}';
-    }
-
-    protected function getObject()
-    {
-        $obj = new \stdClass();
-        $obj->foo = 'foo';
-        $obj->bar = array('a', 'b');
-        $obj->baz = array('key' => 'val', 'key2' => 'val', 'A B' => 'bar', 'item' => array(array('title' => 'title1'), array('title' => 'title2')), 'Barry' => array('FooBar' => array('Baz' => 'Ed', '@id' => 1)));
-        $obj->qux = '1';
-
-        return $obj;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php
deleted file mode 100644
index 67cf7ff..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php
+++ /dev/null
@@ -1,490 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Encoder;
-
-use Symfony\Component\Serializer\Tests\Fixtures\Dummy;
-use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy;
-use Symfony\Component\Serializer\Encoder\XmlEncoder;
-use Symfony\Component\Serializer\Serializer;
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
-
-class XmlEncoderTest extends \PHPUnit_Framework_TestCase
-{
-    private $encoder;
-
-    protected function setUp()
-    {
-        $this->encoder = new XmlEncoder();
-        $serializer = new Serializer(array(new CustomNormalizer()), array('xml' => new XmlEncoder()));
-        $this->encoder->setSerializer($serializer);
-    }
-
-    public function testEncodeScalar()
-    {
-        $obj = new ScalarDummy();
-        $obj->xmlFoo = 'foo';
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response>foo</response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testSetRootNodeName()
-    {
-        $obj = new ScalarDummy();
-        $obj->xmlFoo = 'foo';
-
-        $this->encoder->setRootNodeName('test');
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<test>foo</test>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    /**
-     * @expectedException        \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     * @expectedExceptionMessage Document types are not allowed.
-     */
-    public function testDocTypeIsNotAllowed()
-    {
-        $this->encoder->decode('<?xml version="1.0"?><!DOCTYPE foo><foo></foo>', 'foo');
-    }
-
-    public function testAttributes()
-    {
-        $obj = new ScalarDummy();
-        $obj->xmlFoo = array(
-            'foo-bar' => array(
-                '@id' => 1,
-                '@name' => 'Bar',
-            ),
-            'Foo' => array(
-                'Bar' => 'Test',
-                '@Type' => 'test',
-            ),
-            'föo_bär' => 'a',
-            'Bar' => array(1,2,3),
-            'a' => 'b',
-        );
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<foo-bar id="1" name="Bar"/>'.
-            '<Foo Type="test"><Bar>Test</Bar></Foo>'.
-            '<föo_bär>a</föo_bär>'.
-            '<Bar>1</Bar>'.
-            '<Bar>2</Bar>'.
-            '<Bar>3</Bar>'.
-            '<a>b</a>'.
-            '</response>'."\n";
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testElementNameValid()
-    {
-        $obj = new ScalarDummy();
-        $obj->xmlFoo = array(
-            'foo-bar' => 'a',
-            'foo_bar' => 'a',
-            'föo_bär' => 'a',
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<foo-bar>a</foo-bar>'.
-            '<foo_bar>a</foo_bar>'.
-            '<föo_bär>a</föo_bär>'.
-            '</response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testEncodeSimpleXML()
-    {
-        $xml = simplexml_load_string('<firstname>Peter</firstname>');
-        $array = array('person' => $xml);
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response><person><firstname>Peter</firstname></person></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeXmlAttributes()
-    {
-        $xml = simplexml_load_string('<firstname>Peter</firstname>');
-        $array = array('person' => $xml);
-
-        $expected = '<?xml version="1.1" encoding="utf-8" standalone="yes"?>'."\n".
-            '<response><person><firstname>Peter</firstname></person></response>'."\n";
-
-        $context = array(
-            'xml_version' => '1.1',
-            'xml_encoding' => 'utf-8',
-            'xml_standalone' => true,
-        );
-
-        $this->assertSame($expected, $this->encoder->encode($array, 'xml', $context));
-    }
-
-    public function testEncodeScalarRootAttributes()
-    {
-        $array = array(
-          '#' => 'Paul',
-          '@gender' => 'm',
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response gender="m">Paul</response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeRootAttributes()
-    {
-        $array = array(
-          'firstname' => 'Paul',
-          '@gender' => 'm',
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response gender="m"><firstname>Paul</firstname></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeCdataWrapping()
-    {
-        $array = array(
-          'firstname' => 'Paul <or Me>',
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response><firstname><![CDATA[Paul <or Me>]]></firstname></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeScalarWithAttribute()
-    {
-        $array = array(
-            'person' => array('@gender' => 'M', '#' => 'Peter'),
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response><person gender="M">Peter</person></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testDecodeScalar()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<response>foo</response>'."\n";
-
-        $this->assertEquals('foo', $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testEncode()
-    {
-        $source = $this->getXmlSource();
-        $obj = $this->getObject();
-
-        $this->assertEquals($source, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testEncodeWithNamespace()
-    {
-        $source = $this->getNamespacedXmlSource();
-        $array = $this->getNamespacedArray();
-
-        $this->assertEquals($source, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeSerializerXmlRootNodeNameOption()
-    {
-        $options = array('xml_root_node_name' => 'test');
-        $this->encoder = new XmlEncoder();
-        $serializer = new Serializer(array(), array('xml' => new XmlEncoder()));
-        $this->encoder->setSerializer($serializer);
-
-        $array = array(
-            'person' => array('@gender' => 'M', '#' => 'Peter'),
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<test><person gender="M">Peter</person></test>'."\n";
-
-        $this->assertEquals($expected, $serializer->serialize($array, 'xml', $options));
-    }
-
-    public function testDecode()
-    {
-        $source = $this->getXmlSource();
-        $obj = $this->getObject();
-
-        $this->assertEquals(get_object_vars($obj), $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeCdataWrapping()
-    {
-        $expected = array(
-            'firstname' => 'Paul <or Me>',
-        );
-
-        $xml = '<?xml version="1.0"?>'."\n".
-            '<response><firstname><![CDATA[Paul <or Me>]]></firstname></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->decode($xml, 'xml'));
-    }
-
-    public function testDecodeCdataWrappingAndWhitespace()
-    {
-        $expected = array(
-            'firstname' => 'Paul <or Me>',
-        );
-
-        $xml = '<?xml version="1.0"?>'."\n".
-            '<response><firstname>'."\n".
-                '<![CDATA[Paul <or Me>]]></firstname></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->decode($xml, 'xml'));
-    }
-
-    public function testDecodeWithNamespace()
-    {
-        $source = $this->getNamespacedXmlSource();
-        $array = $this->getNamespacedArray();
-
-        $this->assertEquals($array, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeScalarWithAttribute()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<response><person gender="M">Peter</person></response>'."\n";
-
-        $expected = array(
-            'person' => array('@gender' => 'M', '#' => 'Peter'),
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeScalarRootAttributes()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<person gender="M">Peter</person>'."\n";
-
-        $expected = array(
-            '#' => 'Peter',
-            '@gender' => 'M',
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeRootAttributes()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<person gender="M"><firstname>Peter</firstname><lastname>Mac Calloway</lastname></person>'."\n";
-
-        $expected = array(
-            'firstname' => 'Peter',
-            'lastname' => 'Mac Calloway',
-            '@gender' => 'M',
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeArray()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<people>'.
-            '<person><firstname>Benjamin</firstname><lastname>Alexandre</lastname></person>'.
-            '<person><firstname>Damien</firstname><lastname>Clay</lastname></person>'.
-            '</people>'.
-            '</response>'."\n";
-
-        $expected = array(
-            'people' => array('person' => array(
-                array('firstname' => 'Benjamin', 'lastname' => 'Alexandre'),
-                array('firstname' => 'Damien', 'lastname' => 'Clay'),
-            )),
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeIgnoreWhiteSpace()
-    {
-        $source = <<<XML
-<?xml version="1.0"?>
-<people>
-    <person>
-        <firstname>Benjamin</firstname>
-        <lastname>Alexandre</lastname>
-    </person>
-    <person>
-        <firstname>Damien</firstname>
-        <lastname>Clay</lastname>
-    </person>
-</people>
-XML;
-        $expected = array('person' => array(
-            array('firstname' => 'Benjamin', 'lastname' => 'Alexandre'),
-            array('firstname' => 'Damien', 'lastname' => 'Clay'),
-        ));
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeWithoutItemHash()
-    {
-        $obj = new ScalarDummy();
-        $obj->xmlFoo = array(
-            'foo-bar' => array(
-                '@key' => 'value',
-                'item' => array('@key' => 'key', 'key-val' => 'val'),
-            ),
-            'Foo' => array(
-                'Bar' => 'Test',
-                '@Type' => 'test',
-            ),
-            'föo_bär' => 'a',
-            'Bar' => array(1,2,3),
-            'a' => 'b',
-        );
-        $expected = array(
-            'foo-bar' => array(
-                '@key' => 'value',
-                'key' => array('@key' => 'key', 'key-val' => 'val'),
-            ),
-            'Foo' => array(
-                'Bar' => 'Test',
-                '@Type' => 'test',
-            ),
-            'föo_bär' => 'a',
-            'Bar' => array(1,2,3),
-            'a' => 'b',
-        );
-        $xml = $this->encoder->encode($obj, 'xml');
-        $this->assertEquals($expected, $this->encoder->decode($xml, 'xml'));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDecodeInvalidXml()
-    {
-        $this->encoder->decode('<?xml version="1.0"?><invalid><xml>', 'xml');
-    }
-
-    public function testPreventsComplexExternalEntities()
-    {
-        $oldCwd = getcwd();
-        chdir(__DIR__);
-
-        try {
-            $this->encoder->decode('<?xml version="1.0"?><!DOCTYPE scan[<!ENTITY test SYSTEM "php://filter/read=convert.base64-encode/resource=XmlEncoderTest.php">]><scan>&test;</scan>', 'xml');
-            chdir($oldCwd);
-
-            $this->fail('No exception was thrown.');
-        } catch (\Exception $e) {
-            chdir($oldCwd);
-
-            if (!$e instanceof UnexpectedValueException) {
-                $this->fail('Expected UnexpectedValueException');
-            }
-        }
-    }
-
-    public function testDecodeEmptyXml()
-    {
-        $this->setExpectedException('Symfony\Component\Serializer\Exception\UnexpectedValueException', 'Invalid XML data, it can not be empty.');
-        $this->encoder->decode(' ', 'xml');
-    }
-
-    protected function getXmlSource()
-    {
-        return '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<foo>foo</foo>'.
-            '<bar>a</bar><bar>b</bar>'.
-            '<baz><key>val</key><key2>val</key2><item key="A B">bar</item>'.
-            '<item><title>title1</title></item><item><title>title2</title></item>'.
-            '<Barry><FooBar id="1"><Baz>Ed</Baz></FooBar></Barry></baz>'.
-            '<qux>1</qux>'.
-            '</response>'."\n";
-    }
-
-    protected function getNamespacedXmlSource()
-    {
-        return '<?xml version="1.0"?>'."\n".
-            '<response xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:media="http://search.yahoo.com/mrss/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:yt="http://gdata.youtube.com/schemas/2007">'.
-            '<qux>1</qux>'.
-            '<app:foo>foo</app:foo>'.
-            '<yt:bar>a</yt:bar><yt:bar>b</yt:bar>'.
-            '<media:baz><media:key>val</media:key><media:key2>val</media:key2><item key="A B">bar</item>'.
-            '<item><title>title1</title></item><item><title>title2</title></item>'.
-            '<Barry size="large"><FooBar gd:id="1"><Baz>Ed</Baz></FooBar></Barry></media:baz>'.
-            '</response>'."\n";
-    }
-
-    protected function getNamespacedArray()
-    {
-        return array(
-            '@xmlns' => 'http://www.w3.org/2005/Atom',
-            '@xmlns:app' => 'http://www.w3.org/2007/app',
-            '@xmlns:media' => 'http://search.yahoo.com/mrss/',
-            '@xmlns:gd' => 'http://schemas.google.com/g/2005',
-            '@xmlns:yt' => 'http://gdata.youtube.com/schemas/2007',
-            'qux' => "1",
-            'app:foo' => "foo",
-            'yt:bar' => array("a", "b"),
-            'media:baz' => array(
-                'media:key' => "val",
-                'media:key2' => "val",
-                'A B' => "bar",
-                'item' => array(
-                    array(
-                        'title' => 'title1',
-                    ),
-                    array(
-                        'title' => 'title2',
-                    ),
-                ),
-                'Barry' => array(
-                    '@size' => 'large',
-                    'FooBar' => array(
-                        'Baz' => 'Ed',
-                        '@gd:id' => 1,
-                    ),
-                ),
-            ),
-        );
-    }
-
-    protected function getObject()
-    {
-        $obj = new Dummy();
-        $obj->foo = 'foo';
-        $obj->bar = array('a', 'b');
-        $obj->baz = array('key' => 'val', 'key2' => 'val', 'A B' => 'bar', 'item' => array(array('title' => 'title1'), array('title' => 'title2')), 'Barry' => array('FooBar' => array('Baz' => 'Ed', '@id' => 1)));
-        $obj->qux = '1';
-
-        return $obj;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/CircularReferenceDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/CircularReferenceDummy.php
deleted file mode 100644
index cc07015..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/CircularReferenceDummy.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-/**
- * @author Kévin Dunglas <dunglas@gmail.com>
- */
-class CircularReferenceDummy
-{
-    public function getMe()
-    {
-        return $this;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php
deleted file mode 100644
index d78f34a..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class DenormalizableDummy implements DenormalizableInterface
-{
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array())
-    {
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php
deleted file mode 100644
index 6b33e84..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class Dummy implements NormalizableInterface, DenormalizableInterface
-{
-    public $foo;
-    public $bar;
-    public $baz;
-    public $qux;
-
-    public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array())
-    {
-        return array(
-            'foo' => $this->foo,
-            'bar' => $this->bar,
-            'baz' => $this->baz,
-            'qux' => $this->qux,
-        );
-    }
-
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array())
-    {
-        $this->foo = $data['foo'];
-        $this->bar = $data['bar'];
-        $this->baz = $data['baz'];
-        $this->qux = $data['qux'];
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php
deleted file mode 100644
index 3ac2fe3..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class NormalizableTraversableDummy extends TraversableDummy implements NormalizableInterface, DenormalizableInterface
-{
-    public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array())
-    {
-        return array(
-            'foo' => 'normalizedFoo',
-            'bar' => 'normalizedBar',
-        );
-    }
-
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array())
-    {
-        return array(
-            'foo' => 'denormalizedFoo',
-            'bar' => 'denormalizedBar',
-        );
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php
deleted file mode 100644
index e9db238..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class ScalarDummy implements NormalizableInterface, DenormalizableInterface
-{
-    public $foo;
-    public $xmlFoo;
-
-    public function normalize(NormalizerInterface $normalizer, $format = null, array $context = array())
-    {
-        return $format === 'xml' ? $this->xmlFoo : $this->foo;
-    }
-
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null, array $context = array())
-    {
-        if ($format === 'xml') {
-            $this->xmlFoo = $data;
-        } else {
-            $this->foo = $data;
-        }
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/SiblingHolder.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/SiblingHolder.php
deleted file mode 100644
index b2efd62..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/SiblingHolder.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-/**
- * @author Kévin Dunglas <dunglas@gmail.com>
- */
-class SiblingHolder
-{
-    private $sibling0;
-    private $sibling1;
-    private $sibling2;
-
-    public function __construct()
-    {
-        $sibling = new Sibling();
-        $this->sibling0 = $sibling;
-        $this->sibling1 = $sibling;
-        $this->sibling2 = $sibling;
-    }
-
-    public function getSibling0()
-    {
-        return $this->sibling0;
-    }
-
-    public function getSibling1()
-    {
-        return $this->sibling1;
-    }
-
-    public function getSibling2()
-    {
-        return $this->sibling2;
-    }
-}
-
-/**
- * @author Kévin Dunglas <dunglas@gmail.com>
- */
-class Sibling
-{
-    public function getCoopTilleuls()
-    {
-        return 'Les-Tilleuls.coop';
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php
deleted file mode 100644
index bcf46e5..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-class TraversableDummy implements \IteratorAggregate
-{
-    public $foo = 'foo';
-    public $bar = 'bar';
-
-    public function getIterator()
-    {
-        return new \ArrayIterator(get_object_vars($this));
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php
deleted file mode 100644
index 0aeaba4..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Normalizer;
-
-use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy;
-use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
-use Symfony\Component\Serializer\Serializer;
-
-class CustomNormalizerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->normalizer = new CustomNormalizer();
-        $this->normalizer->setSerializer(new Serializer());
-    }
-
-    public function testSerialize()
-    {
-        $obj = new ScalarDummy();
-        $obj->foo = 'foo';
-        $obj->xmlFoo = 'xml';
-        $this->assertEquals('foo', $this->normalizer->normalize($obj, 'json'));
-        $this->assertEquals('xml', $this->normalizer->normalize($obj, 'xml'));
-    }
-
-    public function testDeserialize()
-    {
-        $obj = $this->normalizer->denormalize('foo', get_class(new ScalarDummy()), 'xml');
-        $this->assertEquals('foo', $obj->xmlFoo);
-        $this->assertNull($obj->foo);
-
-        $obj = $this->normalizer->denormalize('foo', get_class(new ScalarDummy()), 'json');
-        $this->assertEquals('foo', $obj->foo);
-        $this->assertNull($obj->xmlFoo);
-    }
-
-    public function testSupportsNormalization()
-    {
-        $this->assertTrue($this->normalizer->supportsNormalization(new ScalarDummy()));
-        $this->assertFalse($this->normalizer->supportsNormalization(new \stdClass()));
-    }
-
-    public function testSupportsDenormalization()
-    {
-        $this->assertTrue($this->normalizer->supportsDenormalization(array(), 'Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy'));
-        $this->assertFalse($this->normalizer->supportsDenormalization(array(), 'stdClass'));
-        $this->assertTrue($this->normalizer->supportsDenormalization(array(), 'Symfony\Component\Serializer\Tests\Fixtures\DenormalizableDummy'));
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
deleted file mode 100644
index 7127117..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
+++ /dev/null
@@ -1,461 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Normalizer;
-
-use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
-use Symfony\Component\Serializer\Serializer;
-use Symfony\Component\Serializer\SerializerInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Tests\Fixtures\CircularReferenceDummy;
-use Symfony\Component\Serializer\Tests\Fixtures\SiblingHolder;
-
-class GetSetMethodNormalizerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var GetSetMethodNormalizer
-     */
-    private $normalizer;
-
-    protected function setUp()
-    {
-        $this->serializer = $this->getMock(__NAMESPACE__.'\SerializerNormalizer');
-        $this->normalizer = new GetSetMethodNormalizer();
-        $this->normalizer->setSerializer($this->serializer);
-    }
-
-    public function testNormalize()
-    {
-        $obj = new GetSetDummy();
-        $object = new \stdClass();
-        $obj->setFoo('foo');
-        $obj->setBar('bar');
-        $obj->setBaz(true);
-        $obj->setCamelCase('camelcase');
-        $obj->setObject($object);
-
-        $this->serializer
-            ->expects($this->once())
-            ->method('normalize')
-            ->with($object, 'any')
-            ->will($this->returnValue('string_object'))
-        ;
-
-        $this->assertEquals(
-            array(
-                'foo' => 'foo',
-                'bar' => 'bar',
-                'baz' => true,
-                'fooBar' => 'foobar',
-                'camelCase' => 'camelcase',
-                'object' => 'string_object',
-            ),
-            $this->normalizer->normalize($obj, 'any')
-        );
-    }
-
-    public function testDenormalize()
-    {
-        $obj = $this->normalizer->denormalize(
-            array('foo' => 'foo', 'bar' => 'bar', 'baz' => true, 'fooBar' => 'foobar'),
-            __NAMESPACE__.'\GetSetDummy',
-            'any'
-        );
-        $this->assertEquals('foo', $obj->getFoo());
-        $this->assertEquals('bar', $obj->getBar());
-        $this->assertTrue($obj->isBaz());
-    }
-
-    public function testDenormalizeWithObject()
-    {
-        $data = new \stdClass();
-        $data->foo = 'foo';
-        $data->bar = 'bar';
-        $data->fooBar = 'foobar';
-        $obj = $this->normalizer->denormalize($data, __NAMESPACE__.'\GetSetDummy', 'any');
-        $this->assertEquals('foo', $obj->getFoo());
-        $this->assertEquals('bar', $obj->getBar());
-    }
-
-    public function testDenormalizeOnCamelCaseFormat()
-    {
-        $this->normalizer->setCamelizedAttributes(array('camel_case'));
-        $obj = $this->normalizer->denormalize(
-            array('camel_case' => 'camelCase'),
-            __NAMESPACE__.'\GetSetDummy'
-        );
-        $this->assertEquals('camelCase', $obj->getCamelCase());
-    }
-
-    public function testDenormalizeNull()
-    {
-        $this->assertEquals(new GetSetDummy(), $this->normalizer->denormalize(null, __NAMESPACE__.'\GetSetDummy'));
-    }
-
-    /**
-     * @dataProvider attributeProvider
-     */
-    public function testFormatAttribute($attribute, $camelizedAttributes, $result)
-    {
-        $r = new \ReflectionObject($this->normalizer);
-        $m = $r->getMethod('formatAttribute');
-        $m->setAccessible(true);
-
-        $this->normalizer->setCamelizedAttributes($camelizedAttributes);
-        $this->assertEquals($m->invoke($this->normalizer, $attribute, $camelizedAttributes), $result);
-    }
-
-    public function attributeProvider()
-    {
-        return array(
-            array('attribute_test', array('attribute_test'),'AttributeTest'),
-            array('attribute_test', array('any'),'attribute_test'),
-            array('attribute', array('attribute'),'Attribute'),
-            array('attribute', array(), 'attribute'),
-        );
-    }
-
-    public function testConstructorDenormalize()
-    {
-        $obj = $this->normalizer->denormalize(
-            array('foo' => 'foo', 'bar' => 'bar', 'baz' => true, 'fooBar' => 'foobar'),
-            __NAMESPACE__.'\GetConstructorDummy', 'any');
-        $this->assertEquals('foo', $obj->getFoo());
-        $this->assertEquals('bar', $obj->getBar());
-        $this->assertTrue($obj->isBaz());
-    }
-
-    public function testConstructorDenormalizeWithMissingOptionalArgument()
-    {
-        $obj = $this->normalizer->denormalize(
-            array('foo' => 'test', 'baz' => array(1, 2, 3)),
-            __NAMESPACE__.'\GetConstructorOptionalArgsDummy', 'any');
-        $this->assertEquals('test', $obj->getFoo());
-        $this->assertEquals(array(), $obj->getBar());
-        $this->assertEquals(array(1, 2, 3), $obj->getBaz());
-    }
-
-    public function testConstructorWithObjectDenormalize()
-    {
-        $data = new \stdClass();
-        $data->foo = 'foo';
-        $data->bar = 'bar';
-        $data->baz = true;
-        $data->fooBar = 'foobar';
-        $obj = $this->normalizer->denormalize($data, __NAMESPACE__.'\GetConstructorDummy', 'any');
-        $this->assertEquals('foo', $obj->getFoo());
-        $this->assertEquals('bar', $obj->getBar());
-    }
-
-    /**
-     * @dataProvider provideCallbacks
-     */
-    public function testCallbacks($callbacks, $value, $result, $message)
-    {
-        $this->normalizer->setCallbacks($callbacks);
-
-        $obj = new GetConstructorDummy('', $value, true);
-
-        $this->assertEquals(
-            $result,
-            $this->normalizer->normalize($obj, 'any'),
-            $message
-        );
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testUncallableCallbacks()
-    {
-        $this->normalizer->setCallbacks(array('bar' => null));
-
-        $obj = new GetConstructorDummy('baz', 'quux', true);
-
-        $this->normalizer->normalize($obj, 'any');
-    }
-
-    public function testIgnoredAttributes()
-    {
-        $this->normalizer->setIgnoredAttributes(array('foo', 'bar', 'baz', 'camelCase', 'object'));
-
-        $obj = new GetSetDummy();
-        $obj->setFoo('foo');
-        $obj->setBar('bar');
-        $obj->setBaz(true);
-
-        $this->assertEquals(
-            array('fooBar' => 'foobar'),
-            $this->normalizer->normalize($obj, 'any')
-        );
-    }
-
-    public function provideCallbacks()
-    {
-        return array(
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return 'baz';
-                    },
-                ),
-                'baz',
-                array('foo' => '', 'bar' => 'baz', 'baz' => true),
-                'Change a string',
-            ),
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return;
-                    },
-                ),
-                'baz',
-                array('foo' => '', 'bar' => null, 'baz' => true),
-                'Null an item',
-            ),
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return $bar->format('d-m-Y H:i:s');
-                    },
-                ),
-                new \DateTime('2011-09-10 06:30:00'),
-                array('foo' => '', 'bar' => '10-09-2011 06:30:00', 'baz' => true),
-                'Format a date',
-            ),
-            array(
-                array(
-                    'bar' => function ($bars) {
-                        $foos = '';
-                        foreach ($bars as $bar) {
-                            $foos .= $bar->getFoo();
-                        }
-
-                        return $foos;
-                    },
-                ),
-                array(new GetConstructorDummy('baz', '', false), new GetConstructorDummy('quux', '', false)),
-                array('foo' => '', 'bar' => 'bazquux', 'baz' => true),
-                'Collect a property',
-            ),
-            array(
-                array(
-                    'bar' => function ($bars) {
-                        return count($bars);
-                    },
-                ),
-                array(new GetConstructorDummy('baz', '', false), new GetConstructorDummy('quux', '', false)),
-                array('foo' => '', 'bar' => 2, 'baz' => true),
-                'Count a property',
-            ),
-        );
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\LogicException
-     * @expectedExceptionMessage Cannot normalize attribute "object" because injected serializer is not a normalizer
-     */
-    public function testUnableToNormalizeObjectAttribute()
-    {
-        $serializer = $this->getMock('Symfony\Component\Serializer\SerializerInterface');
-        $this->normalizer->setSerializer($serializer);
-
-        $obj = new GetSetDummy();
-        $object = new \stdClass();
-        $obj->setObject($object);
-
-        $this->normalizer->normalize($obj, 'any');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\CircularReferenceException
-     */
-    public function testUnableToNormalizeCircularReference()
-    {
-        $serializer = new Serializer(array($this->normalizer));
-        $this->normalizer->setSerializer($serializer);
-        $this->normalizer->setCircularReferenceLimit(2);
-
-        $obj = new CircularReferenceDummy();
-
-        $this->normalizer->normalize($obj);
-    }
-
-    public function testSiblingReference()
-    {
-        $serializer = new Serializer(array($this->normalizer));
-        $this->normalizer->setSerializer($serializer);
-
-        $siblingHolder = new SiblingHolder();
-
-        $expected = array(
-            'sibling0' => array('coopTilleuls' => 'Les-Tilleuls.coop'),
-            'sibling1' => array('coopTilleuls' => 'Les-Tilleuls.coop'),
-            'sibling2' => array('coopTilleuls' => 'Les-Tilleuls.coop'),
-        );
-        $this->assertEquals($expected, $this->normalizer->normalize($siblingHolder));
-    }
-
-    public function testCircularReferenceHandler()
-    {
-        $serializer = new Serializer(array($this->normalizer));
-        $this->normalizer->setSerializer($serializer);
-        $this->normalizer->setCircularReferenceHandler(function ($obj) {
-            return get_class($obj);
-        });
-
-        $obj = new CircularReferenceDummy();
-
-        $expected = array('me' => 'Symfony\Component\Serializer\Tests\Fixtures\CircularReferenceDummy');
-        $this->assertEquals($expected, $this->normalizer->normalize($obj));
-    }
-}
-
-class GetSetDummy
-{
-    protected $foo;
-    private $bar;
-    private $baz;
-    protected $camelCase;
-    protected $object;
-
-    public function getFoo()
-    {
-        return $this->foo;
-    }
-
-    public function setFoo($foo)
-    {
-        $this->foo = $foo;
-    }
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-
-    public function setBar($bar)
-    {
-        $this->bar = $bar;
-    }
-
-    public function isBaz()
-    {
-        return $this->baz;
-    }
-
-    public function setBaz($baz)
-    {
-        $this->baz = $baz;
-    }
-
-    public function getFooBar()
-    {
-        return $this->foo.$this->bar;
-    }
-
-    public function getCamelCase()
-    {
-        return $this->camelCase;
-    }
-
-    public function setCamelCase($camelCase)
-    {
-        $this->camelCase = $camelCase;
-    }
-
-    public function otherMethod()
-    {
-        throw new \RuntimeException('Dummy::otherMethod() should not be called');
-    }
-
-    public function setObject($object)
-    {
-        $this->object = $object;
-    }
-
-    public function getObject()
-    {
-        return $this->object;
-    }
-}
-
-class GetConstructorDummy
-{
-    protected $foo;
-    private $bar;
-    private $baz;
-
-    public function __construct($foo, $bar, $baz)
-    {
-        $this->foo = $foo;
-        $this->bar = $bar;
-        $this->baz = $baz;
-    }
-
-    public function getFoo()
-    {
-        return $this->foo;
-    }
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-
-    public function isBaz()
-    {
-        return $this->baz;
-    }
-
-    public function otherMethod()
-    {
-        throw new \RuntimeException('Dummy::otherMethod() should not be called');
-    }
-}
-
-abstract class SerializerNormalizer implements SerializerInterface, NormalizerInterface
-{
-}
-
-class GetConstructorOptionalArgsDummy
-{
-    protected $foo;
-    private $bar;
-    private $baz;
-
-    public function __construct($foo, $bar = array(), $baz = array())
-    {
-        $this->foo = $foo;
-        $this->bar = $bar;
-        $this->baz = $baz;
-    }
-
-    public function getFoo()
-    {
-        return $this->foo;
-    }
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-
-    public function getBaz()
-    {
-        return $this->baz;
-    }
-
-    public function otherMethod()
-    {
-        throw new \RuntimeException('Dummy::otherMethod() should not be called');
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php
deleted file mode 100644
index a7ad7ca..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php
+++ /dev/null
@@ -1,263 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Normalizer;
-
-use Symfony\Component\Serializer\Normalizer\PropertyNormalizer;
-
-class PropertyNormalizerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var PropertyNormalizer
-     */
-    private $normalizer;
-
-    protected function setUp()
-    {
-        $this->normalizer = new PropertyNormalizer();
-        $this->normalizer->setSerializer($this->getMock('Symfony\Component\Serializer\Serializer'));
-    }
-
-    public function testNormalize()
-    {
-        $obj = new PropertyDummy();
-        $obj->foo = 'foo';
-        $obj->setBar('bar');
-        $obj->setCamelCase('camelcase');
-        $this->assertEquals(
-            array('foo' => 'foo', 'bar' => 'bar', 'camelCase' => 'camelcase'),
-            $this->normalizer->normalize($obj, 'any')
-        );
-    }
-
-    public function testDenormalize()
-    {
-        $obj = $this->normalizer->denormalize(
-            array('foo' => 'foo', 'bar' => 'bar'),
-            __NAMESPACE__.'\PropertyDummy',
-            'any'
-        );
-        $this->assertEquals('foo', $obj->foo);
-        $this->assertEquals('bar', $obj->getBar());
-    }
-
-    public function testDenormalizeOnCamelCaseFormat()
-    {
-        $this->normalizer->setCamelizedAttributes(array('camel_case'));
-        $obj = $this->normalizer->denormalize(
-            array('camel_case' => 'value'),
-            __NAMESPACE__.'\PropertyDummy'
-        );
-        $this->assertEquals('value', $obj->getCamelCase());
-    }
-
-    /**
-     * @dataProvider attributeProvider
-     */
-    public function testFormatAttribute($attribute, $camelizedAttributes, $result)
-    {
-        $r = new \ReflectionObject($this->normalizer);
-        $m = $r->getMethod('formatAttribute');
-        $m->setAccessible(true);
-
-        $this->normalizer->setCamelizedAttributes($camelizedAttributes);
-        $this->assertEquals($m->invoke($this->normalizer, $attribute, $camelizedAttributes), $result);
-    }
-
-    public function attributeProvider()
-    {
-        return array(
-            array('attribute_test', array('attribute_test'),'AttributeTest'),
-            array('attribute_test', array('any'),'attribute_test'),
-            array('attribute', array('attribute'),'Attribute'),
-            array('attribute', array(), 'attribute'),
-        );
-    }
-
-    public function testConstructorDenormalize()
-    {
-        $obj = $this->normalizer->denormalize(
-            array('foo' => 'foo', 'bar' => 'bar'),
-            __NAMESPACE__.'\PropertyConstructorDummy',
-            'any'
-        );
-        $this->assertEquals('foo', $obj->getFoo());
-        $this->assertEquals('bar', $obj->getBar());
-    }
-
-    /**
-     * @dataProvider provideCallbacks
-     */
-    public function testCallbacks($callbacks, $value, $result, $message)
-    {
-        $this->normalizer->setCallbacks($callbacks);
-
-        $obj = new PropertyConstructorDummy('', $value);
-
-        $this->assertEquals(
-            $result,
-            $this->normalizer->normalize($obj, 'any'),
-            $message
-        );
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testUncallableCallbacks()
-    {
-        $this->normalizer->setCallbacks(array('bar' => null));
-
-        $obj = new PropertyConstructorDummy('baz', 'quux');
-
-        $this->normalizer->normalize($obj, 'any');
-    }
-
-    public function testIgnoredAttributes()
-    {
-        $this->normalizer->setIgnoredAttributes(array('foo', 'bar', 'camelCase'));
-
-        $obj = new PropertyDummy();
-        $obj->foo = 'foo';
-        $obj->setBar('bar');
-
-        $this->assertEquals(
-            array(),
-            $this->normalizer->normalize($obj, 'any')
-        );
-    }
-
-    public function provideCallbacks()
-    {
-        return array(
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return 'baz';
-                    },
-                ),
-                'baz',
-                array('foo' => '', 'bar' => 'baz'),
-                'Change a string',
-            ),
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return;
-                    },
-                ),
-                'baz',
-                array('foo' => '', 'bar' => null),
-                'Null an item',
-            ),
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return $bar->format('d-m-Y H:i:s');
-                    },
-                ),
-                new \DateTime('2011-09-10 06:30:00'),
-                array('foo' => '', 'bar' => '10-09-2011 06:30:00'),
-                'Format a date',
-            ),
-            array(
-                array(
-                    'bar' => function ($bars) {
-                        $foos = '';
-                        foreach ($bars as $bar) {
-                            $foos .= $bar->getFoo();
-                        }
-
-                        return $foos;
-                    },
-                ),
-                array(new PropertyConstructorDummy('baz', ''), new PropertyConstructorDummy('quux', '')),
-                array('foo' => '', 'bar' => 'bazquux'),
-                'Collect a property',
-            ),
-            array(
-                array(
-                    'bar' => function ($bars) {
-                        return count($bars);
-                    },
-                ),
-                array(new PropertyConstructorDummy('baz', ''), new PropertyConstructorDummy('quux', '')),
-                array('foo' => '', 'bar' => 2),
-                'Count a property',
-            ),
-        );
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\LogicException
-     * @expectedExceptionMessage Cannot normalize attribute "bar" because injected serializer is not a normalizer
-     */
-    public function testUnableToNormalizeObjectAttribute()
-    {
-        $serializer = $this->getMock('Symfony\Component\Serializer\SerializerInterface');
-        $this->normalizer->setSerializer($serializer);
-
-        $obj = new PropertyDummy();
-        $object = new \stdClass();
-        $obj->setBar($object);
-
-        $this->normalizer->normalize($obj, 'any');
-    }
-}
-
-class PropertyDummy
-{
-    public $foo;
-    private $bar;
-    protected $camelCase;
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-
-    public function setBar($bar)
-    {
-        $this->bar = $bar;
-    }
-
-    public function getCamelCase()
-    {
-        return $this->camelCase;
-    }
-
-    public function setCamelCase($camelCase)
-    {
-        $this->camelCase = $camelCase;
-    }
-}
-
-class PropertyConstructorDummy
-{
-    protected $foo;
-    private $bar;
-
-    public function __construct($foo, $bar)
-    {
-        $this->foo = $foo;
-        $this->bar = $bar;
-    }
-
-    public function getFoo()
-    {
-        return $this->foo;
-    }
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestDenormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestDenormalizer.php
deleted file mode 100644
index 7525d5c..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestDenormalizer.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Normalizer;
-
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-/**
- * Provides a test Normalizer which only implements the DenormalizerInterface.
- *
- * @author Lin Clark <lin@lin-clark.com>
- */
-class TestDenormalizer implements DenormalizerInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function denormalize($data, $class, $format = null, array $context = array())
-    {
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDenormalization($data, $type, $format = null)
-    {
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestNormalizer.php
deleted file mode 100644
index 4b29e8f..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestNormalizer.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Normalizer;
-
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-
-/**
- * Provides a test Normalizer which only implements the NormalizerInterface.
- *
- * @author Lin Clark <lin@lin-clark.com>
- */
-class TestNormalizer implements NormalizerInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function normalize($object, $format = null, array $context = array())
-    {
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsNormalization($data, $format = null)
-    {
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php
deleted file mode 100644
index c2a231b..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php
+++ /dev/null
@@ -1,247 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests;
-
-use Symfony\Component\Serializer\Serializer;
-use Symfony\Component\Serializer\Encoder\JsonEncoder;
-use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
-use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
-use Symfony\Component\Serializer\Tests\Fixtures\TraversableDummy;
-use Symfony\Component\Serializer\Tests\Fixtures\NormalizableTraversableDummy;
-use Symfony\Component\Serializer\Tests\Normalizer\TestNormalizer;
-use Symfony\Component\Serializer\Tests\Normalizer\TestDenormalizer;
-
-class SerializerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testNormalizeNoMatch()
-    {
-        $this->serializer = new Serializer(array($this->getMock('Symfony\Component\Serializer\Normalizer\CustomNormalizer')));
-        $this->serializer->normalize(new \stdClass(), 'xml');
-    }
-
-    public function testNormalizeTraversable()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $result = $this->serializer->serialize(new TraversableDummy(), 'json');
-        $this->assertEquals('{"foo":"foo","bar":"bar"}', $result);
-    }
-
-    public function testNormalizeGivesPriorityToInterfaceOverTraversable()
-    {
-        $this->serializer = new Serializer(array(new CustomNormalizer()), array('json' => new JsonEncoder()));
-        $result = $this->serializer->serialize(new NormalizableTraversableDummy(), 'json');
-        $this->assertEquals('{"foo":"normalizedFoo","bar":"normalizedBar"}', $result);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testNormalizeOnDenormalizer()
-    {
-        $this->serializer = new Serializer(array(new TestDenormalizer()), array());
-        $this->assertTrue($this->serializer->normalize(new \stdClass(), 'json'));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDenormalizeNoMatch()
-    {
-        $this->serializer = new Serializer(array($this->getMock('Symfony\Component\Serializer\Normalizer\CustomNormalizer')));
-        $this->serializer->denormalize('foo', 'stdClass');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDenormalizeOnNormalizer()
-    {
-        $this->serializer = new Serializer(array(new TestNormalizer()), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->assertTrue($this->serializer->denormalize(json_encode($data), 'stdClass', 'json'));
-    }
-
-    public function testSerialize()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $result = $this->serializer->serialize(Model::fromArray($data), 'json');
-        $this->assertEquals(json_encode($data), $result);
-    }
-
-    public function testSerializeScalar()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $result = $this->serializer->serialize('foo', 'json');
-        $this->assertEquals('"foo"', $result);
-    }
-
-    public function testSerializeArrayOfScalars()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('foo', array(5, 3));
-        $result = $this->serializer->serialize($data, 'json');
-        $this->assertEquals(json_encode($data), $result);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testSerializeNoEncoder()
-    {
-        $this->serializer = new Serializer(array(), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->serialize($data, 'json');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\LogicException
-     */
-    public function testSerializeNoNormalizer()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->serialize(Model::fromArray($data), 'json');
-    }
-
-    public function testDeserialize()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $result = $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-        $this->assertEquals($data, $result->toArray());
-    }
-
-    public function testDeserializeUseCache()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-        $data = array('title' => 'bar', 'numbers' => array(2, 8));
-        $result = $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-        $this->assertEquals($data, $result->toArray());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\LogicException
-     */
-    public function testDeserializeNoNormalizer()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDeserializeWrongNormalizer()
-    {
-        $this->serializer = new Serializer(array(new CustomNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDeserializeNoEncoder()
-    {
-        $this->serializer = new Serializer(array(), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-    }
-
-    public function testDeserializeSupported()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->assertTrue($this->serializer->supportsDenormalization(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json'));
-    }
-
-    public function testDeserializeNotSupported()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->assertFalse($this->serializer->supportsDenormalization(json_encode($data), 'stdClass', 'json'));
-    }
-
-    public function testDeserializeNotSupportedMissing()
-    {
-        $this->serializer = new Serializer(array(), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->assertFalse($this->serializer->supportsDenormalization(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json'));
-    }
-
-    public function testEncode()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('foo', array(5, 3));
-        $result = $this->serializer->encode($data, 'json');
-        $this->assertEquals(json_encode($data), $result);
-    }
-
-    public function testDecode()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('foo', array(5, 3));
-        $result = $this->serializer->decode(json_encode($data), 'json');
-        $this->assertEquals($data, $result);
-    }
-}
-
-class Model
-{
-    private $title;
-    private $numbers;
-
-    public static function fromArray($array)
-    {
-        $model = new self();
-        if (isset($array['title'])) {
-            $model->setTitle($array['title']);
-        }
-        if (isset($array['numbers'])) {
-            $model->setNumbers($array['numbers']);
-        }
-
-        return $model;
-    }
-
-    public function getTitle()
-    {
-        return $this->title;
-    }
-
-    public function setTitle($title)
-    {
-        $this->title = $title;
-    }
-
-    public function getNumbers()
-    {
-        return $this->numbers;
-    }
-
-    public function setNumbers($numbers)
-    {
-        $this->numbers = $numbers;
-    }
-
-    public function toArray()
-    {
-        return array('title' => $this->title, 'numbers' => $this->numbers);
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/composer.json b/core/vendor/symfony/serializer/Symfony/Component/Serializer/composer.json
deleted file mode 100644
index e073e24..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/composer.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-    "name": "symfony/serializer",
-    "type": "library",
-    "description": "Symfony Serializer Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\Serializer\\": "" }
-    },
-    "target-dir": "Symfony/Component/Serializer",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist b/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist
deleted file mode 100644
index da05401..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist
+++ /dev/null
@@ -1,27 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony Serializer Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./vendor</directory>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/.gitignore b/core/vendor/symfony/validator/Symfony/Component/Validator/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/CHANGELOG.md b/core/vendor/symfony/validator/Symfony/Component/Validator/CHANGELOG.md
deleted file mode 100644
index 329eaf3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/CHANGELOG.md
+++ /dev/null
@@ -1,159 +0,0 @@
-CHANGELOG
-=========
-
-2.6.0
------
-
- * [BC BREAK] `FileValidator` disallow empty files
- * [BC BREAK] `UserPasswordValidator` source message change
- * [BC BREAK] added internal `ExecutionContextInterface::setConstraint()`
- * added `ConstraintViolation::getConstraint()`
- * [BC BREAK] The `ExpressionValidator` will now evaluate the Expression even when the property value is null or an empty string
- * deprecated `ClassMetadata::hasMemberMetadatas()`
- * deprecated `ClassMetadata::getMemberMetadatas()`
- * deprecated `ClassMetadata::addMemberMetadata()`
- * [BC BREAK] added `Mapping\MetadataInterface::getConstraints()`
- * added generic "payload" option to all constraints for attaching domain-specific data
- * [BC BREAK] added `ConstraintViolationBuilderInterface::setCause()`
-
-2.5.0
------
-
- * deprecated `ApcCache` in favor of `DoctrineCache`
- * added `DoctrineCache` to adapt any Doctrine cache
- * `GroupSequence` now implements `ArrayAccess`, `Countable` and `Traversable`
- * [BC BREAK] changed `ClassMetadata::getGroupSequence()` to return a `GroupSequence` instance instead of an array
- * `Callback` can now be put onto properties (useful when you pass a closure to the constraint)
- * deprecated `ClassBasedInterface`
- * deprecated `MetadataInterface`
- * deprecated `PropertyMetadataInterface`
- * deprecated `PropertyMetadataContainerInterface`
- * deprecated `Mapping\ElementMetadata`
- * added `Mapping\MetadataInterface`
- * added `Mapping\ClassMetadataInterface`
- * added `Mapping\PropertyMetadataInterface`
- * added `Mapping\GenericMetadata`
- * added `Mapping\CascadingStrategy`
- * added `Mapping\TraversalStrategy`
- * deprecated `Mapping\ClassMetadata::accept()`
- * deprecated `Mapping\MemberMetadata::accept()`
- * removed array type hint of `Mapping\ClassMetadata::setGroupSequence()`
- * deprecated `MetadataFactoryInterface`
- * deprecated `Mapping\BlackholeMetadataFactory`
- * deprecated `Mapping\ClassMetadataFactory`
- * added `Mapping\Factory\MetadataFactoryInterface`
- * added `Mapping\Factory\BlackHoleMetadataFactory`
- * added `Mapping\Factory\LazyLoadingMetadataFactory`
- * deprecated `ExecutionContextInterface`
- * deprecated `ExecutionContext`
- * deprecated `GlobalExecutionContextInterface`
- * added `Context\ExecutionContextInterface`
- * added `Context\ExecutionContext`
- * added `Context\ExecutionContextFactoryInterface`
- * added `Context\ExecutionContextFactory`
- * deprecated `ValidatorInterface`
- * deprecated `Validator`
- * deprecated `ValidationVisitorInterface`
- * deprecated `ValidationVisitor`
- * added `Validator\ValidatorInterface`
- * added `Validator\RecursiveValidator`
- * added `Validator\ContextualValidatorInterface`
- * added `Validator\RecursiveContextualValidator`
- * added `Violation\ConstraintViolationBuilderInterface`
- * added `Violation\ConstraintViolationBuilder`
- * added `ConstraintViolation::getParameters()`
- * added `ConstraintViolation::getPlural()`
- * added `Constraints\Traverse`
- * deprecated `$deep` property in `Constraints\Valid`
- * added `ValidatorBuilderInterface::setApiVersion()`
- * added `Validation::API_VERSION_2_4`
- * added `Validation::API_VERSION_2_5`
- * added `Exception\OutOfBoundsException`
- * added `Exception\UnsupportedMetadataException`
- * made `Exception\ValidatorException` extend `Exception\RuntimeException`
- * added `Util\PropertyPath`
- * made the PropertyAccess component an optional dependency
- * deprecated `ValidatorBuilder::setPropertyAccessor()`
-
-
-2.4.0
------
-
- * added a constraint the uses the expression language
- * added `minRatio`, `maxRatio`, `allowSquare`, `allowLandscape`, and `allowPortrait` to Image validator
-
-2.3.0
------
-
- * added the ISBN, ISSN, and IBAN validators
- * copied the constraints `Optional` and `Required` to the
-   `Symfony\Component\Validator\Constraints\` namespace and deprecated the original
-   classes.
- * added comparison validators (EqualTo, NotEqualTo, LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, IdenticalTo, NotIdenticalTo)
-
-2.2.0
------
-
- * added a CardScheme validator
- * added a Luhn validator
- * moved @api-tags from `Validator` to `ValidatorInterface`
- * moved @api-tags from `ConstraintViolation` to the new `ConstraintViolationInterface`
- * moved @api-tags from `ConstraintViolationList` to the new `ConstraintViolationListInterface`
- * moved @api-tags from `ExecutionContext` to the new `ExecutionContextInterface`
- * [BC BREAK] `ConstraintValidatorInterface::initialize` is now type hinted against `ExecutionContextInterface` instead of `ExecutionContext`
- * [BC BREAK] changed the visibility of the properties in `Validator` from protected to private
- * deprecated `ClassMetadataFactoryInterface` in favor of the new `MetadataFactoryInterface`
- * deprecated `ClassMetadataFactory::getClassMetadata` in favor of `getMetadataFor`
- * created `MetadataInterface`, `PropertyMetadataInterface`, `ClassBasedInterface` and `PropertyMetadataContainerInterface`
- * deprecated `GraphWalker` in favor of the new `ValidationVisitorInterface`
- * deprecated `ExecutionContext::addViolationAtPath`
- * deprecated `ExecutionContext::addViolationAtSubPath` in favor of `ExecutionContextInterface::addViolationAt`
- * deprecated `ExecutionContext::getCurrentClass` in favor of `ExecutionContextInterface::getClassName`
- * deprecated `ExecutionContext::getCurrentProperty` in favor of `ExecutionContextInterface::getPropertyName`
- * deprecated `ExecutionContext::getCurrentValue` in favor of `ExecutionContextInterface::getValue`
- * deprecated `ExecutionContext::getGraphWalker` in favor of `ExecutionContextInterface::validate` and `ExecutionContextInterface::validateValue`
- * improved `ValidatorInterface::validateValue` to accept arrays of constraints
- * changed `ValidatorInterface::getMetadataFactory` to return a `MetadataFactoryInterface` instead of a `ClassMetadataFactoryInterface`
- * removed `ClassMetadataFactoryInterface` type hint from `ValidatorBuilderInterface::setMetadataFactory`.
-   As of Symfony 2.3, this method will be typed against `MetadataFactoryInterface` instead.
- * [BC BREAK] the switches `traverse` and `deep` in the `Valid` constraint and in `GraphWalker::walkReference`
-   are ignored for arrays now. Arrays are always traversed recursively.
- * added dependency to Translation component
- * violation messages are now translated with a TranslatorInterface implementation
- * [BC BREAK] inserted argument `$message` in the constructor of `ConstraintViolation`
- * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `ExecutionContext`
- * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `GraphWalker`
- * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `ValidationVisitor`
- * [BC BREAK] inserted arguments `$translator` and `$translationDomain` in the constructor of `Validator`
- * [BC BREAK] added `setTranslator()` and `setTranslationDomain()` to `ValidatorBuilderInterface`
- * improved the Validator to support pluralized messages by default
- * [BC BREAK] changed the source of all pluralized messages in the translation files to the pluralized version
- * added ExceptionInterface, BadMethodCallException and InvalidArgumentException
-
-2.1.0
------
-
- * added support for `ctype_*` assertions in `TypeValidator`
- * improved the ImageValidator with min width, max width, min height, and max height constraints
- * added support for MIME with wildcard in FileValidator
- * changed Collection validator to add "missing" and "extra" errors to
-   individual fields
- * changed default value for `extraFieldsMessage` and `missingFieldsMessage`
-   in Collection constraint
- * made ExecutionContext immutable
- * deprecated Constraint methods `setMessage`, `getMessageTemplate` and
-   `getMessageParameters`
- * added support for dynamic group sequences with the GroupSequenceProvider pattern
- * [BC BREAK] ConstraintValidatorInterface method `isValid` has been renamed to
-   `validate`, its return value was dropped. ConstraintValidator still contains
-   `isValid` for BC
- * [BC BREAK] collections in fields annotated with `Valid` are not traversed
-   recursively anymore by default. `Valid` contains a new property `deep`
-   which enables the BC behavior.
- * added Count constraint
- * added Length constraint
- * added Range constraint
- * deprecated the Min and Max constraints
- * deprecated the MinLength and MaxLength constraints
- * added Validation and ValidatorBuilderInterface
- * deprecated ValidatorContext, ValidatorContextInterface and ValidatorFactory
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ClassBasedInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ClassBasedInterface.php
deleted file mode 100644
index fe532ef..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ClassBasedInterface.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * An object backed by a PHP class.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Mapping\ClassMetadataInterface} instead.
- */
-interface ClassBasedInterface
-{
-    /**
-     * Returns the name of the backing PHP class.
-     *
-     * @return string The name of the backing class.
-     */
-    public function getClassName();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraint.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraint.php
deleted file mode 100644
index ad86f44..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraint.php
+++ /dev/null
@@ -1,321 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\Exception\InvalidArgumentException;
-use Symfony\Component\Validator\Exception\InvalidOptionsException;
-use Symfony\Component\Validator\Exception\MissingOptionsException;
-
-/**
- * Contains the properties of a constraint definition.
- *
- * A constraint can be defined on a class, an option or a getter method.
- * The Constraint class encapsulates all the configuration required for
- * validating this class, option or getter result successfully.
- *
- * Constraint instances are immutable and serializable.
- *
- * @property array $groups The groups that the constraint belongs to
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-abstract class Constraint
-{
-    /**
-     * The name of the group given to all constraints with no explicit group.
-     *
-     * @var string
-     */
-    const DEFAULT_GROUP = 'Default';
-
-    /**
-     * Marks a constraint that can be put onto classes.
-     *
-     * @var string
-     */
-    const CLASS_CONSTRAINT = 'class';
-
-    /**
-     * Marks a constraint that can be put onto properties.
-     *
-     * @var string
-     */
-    const PROPERTY_CONSTRAINT = 'property';
-
-    /**
-     * Maps error codes to the names of their constants
-     * @var array
-     */
-    protected static $errorNames = array();
-
-    /**
-     * Domain-specific data attached to a constraint
-     * @var mixed
-     */
-    public $payload;
-
-    /**
-     * Returns the name of the given error code.
-     *
-     * @param int $errorCode The error code
-     *
-     * @return string The name of the error code
-     *
-     * @throws InvalidArgumentException If the error code does not exist
-     */
-    public static function getErrorName($errorCode)
-    {
-        if (!isset(static::$errorNames[$errorCode])) {
-            throw new InvalidArgumentException(sprintf(
-                'The error code "%s" does not exist for constraint of type "%s".',
-                $errorCode,
-                get_called_class()
-            ));
-        }
-
-        return static::$errorNames[$errorCode];
-    }
-
-    /**
-     * Initializes the constraint with options.
-     *
-     * You should pass an associative array. The keys should be the names of
-     * existing properties in this class. The values should be the value for these
-     * properties.
-     *
-     * Alternatively you can override the method getDefaultOption() to return the
-     * name of an existing property. If no associative array is passed, this
-     * property is set instead.
-     *
-     * You can force that certain options are set by overriding
-     * getRequiredOptions() to return the names of these options. If any
-     * option is not set here, an exception is thrown.
-     *
-     * @param mixed $options The options (as associative array)
-     *                       or the value for the default
-     *                       option (any other type)
-     *
-     * @throws InvalidOptionsException       When you pass the names of non-existing
-     *                                       options
-     * @throws MissingOptionsException       When you don't pass any of the options
-     *                                       returned by getRequiredOptions()
-     * @throws ConstraintDefinitionException When you don't pass an associative
-     *                                       array, but getDefaultOption() returns
-     *                                       null
-     *
-     * @api
-     */
-    public function __construct($options = null)
-    {
-        $invalidOptions = array();
-        $missingOptions = array_flip((array) $this->getRequiredOptions());
-        $knownOptions = get_object_vars($this);
-
-        // The "groups" option is added to the object lazily
-        $knownOptions['groups'] = true;
-
-        if (is_array($options) && count($options) >= 1 && isset($options['value']) && !property_exists($this, 'value')) {
-            $options[$this->getDefaultOption()] = $options['value'];
-            unset($options['value']);
-        }
-
-        if (is_array($options) && count($options) > 0 && is_string(key($options))) {
-            foreach ($options as $option => $value) {
-                if (array_key_exists($option, $knownOptions)) {
-                    $this->$option = $value;
-                    unset($missingOptions[$option]);
-                } else {
-                    $invalidOptions[] = $option;
-                }
-            }
-        } elseif (null !== $options && !(is_array($options) && count($options) === 0)) {
-            $option = $this->getDefaultOption();
-
-            if (null === $option) {
-                throw new ConstraintDefinitionException(
-                    sprintf('No default option is configured for constraint %s', get_class($this))
-                );
-            }
-
-            if (array_key_exists($option, $knownOptions)) {
-                $this->$option = $options;
-                unset($missingOptions[$option]);
-            } else {
-                $invalidOptions[] = $option;
-            }
-        }
-
-        if (count($invalidOptions) > 0) {
-            throw new InvalidOptionsException(
-                sprintf('The options "%s" do not exist in constraint %s', implode('", "', $invalidOptions), get_class($this)),
-                $invalidOptions
-            );
-        }
-
-        if (count($missingOptions) > 0) {
-            throw new MissingOptionsException(
-                sprintf('The options "%s" must be set for constraint %s', implode('", "', array_keys($missingOptions)), get_class($this)),
-                array_keys($missingOptions)
-            );
-        }
-    }
-
-    /**
-     * Sets the value of a lazily initialized option.
-     *
-     * Corresponding properties are added to the object on first access. Hence
-     * this method will be called at most once per constraint instance and
-     * option name.
-     *
-     * @param string $option The option name
-     * @param mixed  $value  The value to set
-     *
-     * @throws InvalidOptionsException If an invalid option name is given
-     */
-    public function __set($option, $value)
-    {
-        if ('groups' === $option) {
-            $this->groups = (array) $value;
-
-            return;
-        }
-
-        throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint %s', $option, get_class($this)), array($option));
-    }
-
-    /**
-     * Returns the value of a lazily initialized option.
-     *
-     * Corresponding properties are added to the object on first access. Hence
-     * this method will be called at most once per constraint instance and
-     * option name.
-     *
-     * @param string $option The option name
-     *
-     * @return mixed The value of the option
-     *
-     * @throws InvalidOptionsException If an invalid option name is given
-     *
-     * @internal This method should not be used or overwritten in userland code.
-     *
-     * @since 2.6
-     */
-    public function __get($option)
-    {
-        if ('groups' === $option) {
-            $this->groups = array(self::DEFAULT_GROUP);
-
-            return $this->groups;
-        }
-
-        throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint %s', $option, get_class($this)), array($option));
-    }
-
-    /**
-     * Adds the given group if this constraint is in the Default group.
-     *
-     * @param string $group
-     *
-     * @api
-     */
-    public function addImplicitGroupName($group)
-    {
-        if (in_array(self::DEFAULT_GROUP, $this->groups) && !in_array($group, $this->groups)) {
-            $this->groups[] = $group;
-        }
-    }
-
-    /**
-     * Returns the name of the default option.
-     *
-     * Override this method to define a default option.
-     *
-     * @return string
-     *
-     * @see __construct()
-     *
-     * @api
-     */
-    public function getDefaultOption()
-    {
-    }
-
-    /**
-     * Returns the name of the required options.
-     *
-     * Override this method if you want to define required options.
-     *
-     * @return array
-     *
-     * @see __construct()
-     *
-     * @api
-     */
-    public function getRequiredOptions()
-    {
-        return array();
-    }
-
-    /**
-     * Returns the name of the class that validates this constraint.
-     *
-     * By default, this is the fully qualified name of the constraint class
-     * suffixed with "Validator". You can override this method to change that
-     * behaviour.
-     *
-     * @return string
-     *
-     * @api
-     */
-    public function validatedBy()
-    {
-        return get_class($this).'Validator';
-    }
-
-    /**
-     * Returns whether the constraint can be put onto classes, properties or
-     * both.
-     *
-     * This method should return one or more of the constants
-     * Constraint::CLASS_CONSTRAINT and Constraint::PROPERTY_CONSTRAINT.
-     *
-     * @return string|array One or more constant values
-     *
-     * @api
-     */
-    public function getTargets()
-    {
-        return self::PROPERTY_CONSTRAINT;
-    }
-
-    /**
-     * Optimizes the serialized value to minimize storage space.
-     *
-     * @return array The properties to serialize
-     *
-     * @internal This method may be replaced by an implementation of
-     *           {@link \Serializable} in the future. Please don't use or
-     *           overwrite it.
-     *
-     * @since 2.6
-     */
-    public function __sleep()
-    {
-        // Initialize "groups" option if it is not set
-        $this->groups;
-
-        return array_keys(get_object_vars($this));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidator.php
deleted file mode 100644
index 61c994a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidator.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Symfony\Component\Validator\Context\ExecutionContextInterface as ExecutionContextInterface2Dot5;
-use Symfony\Component\Validator\Violation\ConstraintViolationBuilderInterface;
-use Symfony\Component\Validator\Violation\LegacyConstraintViolationBuilder;
-
-/**
- * Base class for constraint validators.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-abstract class ConstraintValidator implements ConstraintValidatorInterface
-{
-    /**
-     * Whether to format {@link \DateTime} objects as RFC-3339 dates
-     * ("Y-m-d H:i:s").
-     *
-     * @var int
-     */
-    const PRETTY_DATE = 1;
-
-    /**
-     * Whether to cast objects with a "__toString()" method to strings.
-     *
-     * @var int
-     */
-    const OBJECT_TO_STRING = 2;
-
-    /**
-     * @var ExecutionContextInterface
-     */
-    protected $context;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function initialize(ExecutionContextInterface $context)
-    {
-        $this->context = $context;
-    }
-
-    /**
-     * Wrapper for {@link ExecutionContextInterface::buildViolation} that
-     * supports the 2.4 context API.
-     *
-     * @param string $message    The violation message
-     * @param array  $parameters The message parameters
-     *
-     * @return ConstraintViolationBuilderInterface The violation builder
-     *
-     * @deprecated This method will be removed in Symfony 3.0.
-     */
-    protected function buildViolation($message, array $parameters = array())
-    {
-        if ($this->context instanceof ExecutionContextInterface2Dot5) {
-            return $this->context->buildViolation($message, $parameters);
-        }
-
-        return new LegacyConstraintViolationBuilder($this->context, $message, $parameters);
-    }
-
-    /**
-     * Wrapper for {@link ExecutionContextInterface::buildViolation} that
-     * supports the 2.4 context API.
-     *
-     * @param ExecutionContextInterface $context    The context to use
-     * @param string                    $message    The violation message
-     * @param array                     $parameters The message parameters
-     *
-     * @return ConstraintViolationBuilderInterface The violation builder
-     *
-     * @deprecated This method will be removed in Symfony 3.0.
-     */
-    protected function buildViolationInContext(ExecutionContextInterface $context, $message, array $parameters = array())
-    {
-        if ($context instanceof ExecutionContextInterface2Dot5) {
-            return $context->buildViolation($message, $parameters);
-        }
-
-        return new LegacyConstraintViolationBuilder($context, $message, $parameters);
-    }
-
-    /**
-     * Returns a string representation of the type of the value.
-     *
-     * This method should be used if you pass the type of a value as
-     * message parameter to a constraint violation. Note that such
-     * parameters should usually not be included in messages aimed at
-     * non-technical people.
-     *
-     * @param mixed $value The value to return the type of
-     *
-     * @return string The type of the value
-     */
-    protected function formatTypeOf($value)
-    {
-        return is_object($value) ? get_class($value) : gettype($value);
-    }
-
-    /**
-     * Returns a string representation of the value.
-     *
-     * This method returns the equivalent PHP tokens for most scalar types
-     * (i.e. "false" for false, "1" for 1 etc.). Strings are always wrapped
-     * in double quotes ("). Objects, arrays and resources are formatted as
-     * "object", "array" and "resource". If the parameter $prettyDateTime
-     * is set to true, {@link \DateTime} objects will be formatted as
-     * RFC-3339 dates ("Y-m-d H:i:s").
-     *
-     * Be careful when passing message parameters to a constraint violation
-     * that (may) contain objects, arrays or resources. These parameters
-     * should only be displayed for technical users. Non-technical users
-     * won't know what an "object", "array" or "resource" is and will be
-     * confused by the violation message.
-     *
-     * @param mixed $value  The value to format as string
-     * @param int   $format A bitwise combination of the format
-     *                      constants in this class
-     *
-     * @return string The string representation of the passed value
-     */
-    protected function formatValue($value, $format = 0)
-    {
-        $isDateTime = $value instanceof \DateTime || $value instanceof \DateTimeInterface;
-
-        if (($format & self::PRETTY_DATE) && $isDateTime) {
-            if (class_exists('IntlDateFormatter')) {
-                $locale = \Locale::getDefault();
-                $formatter = new \IntlDateFormatter($locale, \IntlDateFormatter::MEDIUM, \IntlDateFormatter::SHORT);
-
-                // neither the native nor the stub IntlDateFormatter support
-                // DateTimeImmutable as of yet
-                if (!$value instanceof \DateTime) {
-                    $value = new \DateTime(
-                        $value->format('Y-m-d H:i:s.u e'),
-                        $value->getTimezone()
-                    );
-                }
-
-                return $formatter->format($value);
-            }
-
-            return $value->format('Y-m-d H:i:s');
-        }
-
-        if (is_object($value)) {
-            if ($format & self::OBJECT_TO_STRING && method_exists($value, '__toString')) {
-                return $value->__toString();
-            }
-
-            return 'object';
-        }
-
-        if (is_array($value)) {
-            return 'array';
-        }
-
-        if (is_string($value)) {
-            return '"'.$value.'"';
-        }
-
-        if (is_resource($value)) {
-            return 'resource';
-        }
-
-        if (null === $value) {
-            return 'null';
-        }
-
-        if (false === $value) {
-            return 'false';
-        }
-
-        if (true === $value) {
-            return 'true';
-        }
-
-        return (string) $value;
-    }
-
-    /**
-     * Returns a string representation of a list of values.
-     *
-     * Each of the values is converted to a string using
-     * {@link formatValue()}. The values are then concatenated with commas.
-     *
-     * @param array $values A list of values
-     * @param int   $format A bitwise combination of the format
-     *                      constants in this class
-     *
-     * @return string The string representation of the value list
-     *
-     * @see formatValue()
-     */
-    protected function formatValues(array $values, $format = 0)
-    {
-        foreach ($values as $key => $value) {
-            $values[$key] = $this->formatValue($value, $format);
-        }
-
-        return implode(', ', $values);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactory.php
deleted file mode 100644
index cc6981b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactory.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Symfony\Component\Validator\Constraints\ExpressionValidator;
-
-/**
- * Default implementation of the ConstraintValidatorFactoryInterface.
- *
- * This enforces the convention that the validatedBy() method on any
- * Constraint will return the class name of the ConstraintValidator that
- * should validate the Constraint.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ConstraintValidatorFactory implements ConstraintValidatorFactoryInterface
-{
-    protected $validators = array();
-
-    private $propertyAccessor;
-
-    public function __construct($propertyAccessor = null)
-    {
-        $this->propertyAccessor = $propertyAccessor;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getInstance(Constraint $constraint)
-    {
-        $className = $constraint->validatedBy();
-
-        if (!isset($this->validators[$className])) {
-            $this->validators[$className] = 'validator.expression' === $className
-                ? new ExpressionValidator($this->propertyAccessor)
-                : new $className();
-        }
-
-        return $this->validators[$className];
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactoryInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactoryInterface.php
deleted file mode 100644
index 5e21627..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactoryInterface.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Specifies an object able to return the correct ConstraintValidatorInterface
- * instance given a Constraint object.
- */
-interface ConstraintValidatorFactoryInterface
-{
-    /**
-     * Given a Constraint, this returns the ConstraintValidatorInterface
-     * object that should be used to verify its validity.
-     *
-     * @param Constraint $constraint The source constraint
-     *
-     * @return ConstraintValidatorInterface
-     */
-    public function getInstance(Constraint $constraint);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorInterface.php
deleted file mode 100644
index f7538a1..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-interface ConstraintValidatorInterface
-{
-    /**
-     * Initializes the constraint validator.
-     *
-     * @param ExecutionContextInterface $context The current validation context
-     */
-    public function initialize(ExecutionContextInterface $context);
-
-    /**
-     * Checks if the passed value is valid.
-     *
-     * @param mixed      $value      The value that should be validated
-     * @param Constraint $constraint The constraint for the validation
-     *
-     * @api
-     */
-    public function validate($value, Constraint $constraint);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolation.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolation.php
deleted file mode 100644
index 8f4744f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolation.php
+++ /dev/null
@@ -1,233 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Default implementation of {@ConstraintViolationInterface}.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ConstraintViolation implements ConstraintViolationInterface
-{
-    /**
-     * @var string
-     */
-    private $message;
-
-    /**
-     * @var string
-     */
-    private $messageTemplate;
-
-    /**
-     * @var array
-     */
-    private $parameters;
-
-    /**
-     * @var int|null
-     */
-    private $plural;
-
-    /**
-     * @var mixed
-     */
-    private $root;
-
-    /**
-     * @var string
-     */
-    private $propertyPath;
-
-    /**
-     * @var mixed
-     */
-    private $invalidValue;
-
-    /**
-     * @var Constraint|null
-     */
-    private $constraint;
-
-    /**
-     * @var mixed
-     */
-    private $code;
-
-    /**
-     * @var mixed
-     */
-    private $cause;
-
-    /**
-     * Creates a new constraint violation.
-     *
-     * @param string          $message         The violation message
-     * @param string          $messageTemplate The raw violation message
-     * @param array           $parameters      The parameters to substitute in the
-     *                                         raw violation message
-     * @param mixed           $root            The value originally passed to the
-     *                                         validator
-     * @param string          $propertyPath    The property path from the root
-     *                                         value to the invalid value
-     * @param mixed           $invalidValue    The invalid value that caused this
-     *                                         violation
-     * @param int|null        $plural          The number for determining the plural
-     *                                         form when translating the message
-     * @param mixed           $code            The error code of the violation
-     * @param Constraint|null $constraint      The constraint whose validation
-     *                                         caused the violation
-     * @param mixed           $cause           The cause of the violation
-     */
-    public function __construct($message, $messageTemplate, array $parameters, $root, $propertyPath, $invalidValue, $plural = null, $code = null, Constraint $constraint = null, $cause = null)
-    {
-        $this->message = $message;
-        $this->messageTemplate = $messageTemplate;
-        $this->parameters = $parameters;
-        $this->plural = $plural;
-        $this->root = $root;
-        $this->propertyPath = $propertyPath;
-        $this->invalidValue = $invalidValue;
-        $this->constraint = $constraint;
-        $this->code = $code;
-        $this->cause = $cause;
-    }
-
-    /**
-     * Converts the violation into a string for debugging purposes.
-     *
-     * @return string The violation as string.
-     */
-    public function __toString()
-    {
-        if (is_object($this->root)) {
-            $class = 'Object('.get_class($this->root).')';
-        } elseif (is_array($this->root)) {
-            $class = 'Array';
-        } else {
-            $class = (string) $this->root;
-        }
-
-        $propertyPath = (string) $this->propertyPath;
-        $code = $this->code;
-
-        if ('' !== $propertyPath && '[' !== $propertyPath[0] && '' !== $class) {
-            $class .= '.';
-        }
-
-        if (!empty($code)) {
-            $code = ' (code '.$code.')';
-        }
-
-        return $class.$propertyPath.":\n    ".$this->getMessage().$code;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMessageTemplate()
-    {
-        return $this->messageTemplate;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMessageParameters()
-    {
-        return $this->parameters;
-    }
-
-    /**
-     * Alias of {@link getMessageParameters()}.
-     */
-    public function getParameters()
-    {
-        return $this->parameters;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMessagePluralization()
-    {
-        return $this->plural;
-    }
-
-    /**
-     * Alias of {@link getMessagePluralization()}.
-     */
-    public function getPlural()
-    {
-        return $this->plural;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMessage()
-    {
-        return $this->message;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRoot()
-    {
-        return $this->root;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyPath()
-    {
-        return $this->propertyPath;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getInvalidValue()
-    {
-        return $this->invalidValue;
-    }
-
-    /**
-     * Returns the constraint whose validation caused the violation.
-     *
-     * @return Constraint|null The constraint or null if it is not known
-     */
-    public function getConstraint()
-    {
-        return $this->constraint;
-    }
-
-    /**
-     * Returns the cause of the violation.
-     *
-     * @return mixed
-     */
-    public function getCause()
-    {
-        return $this->cause;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCode()
-    {
-        return $this->code;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationInterface.php
deleted file mode 100644
index 232fb55..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationInterface.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * A violation of a constraint that happened during validation.
- *
- * For each constraint that fails during validation one or more violations are
- * created. The violations store the violation message, the path to the failing
- * element in the validation graph and the root element that was originally
- * passed to the validator. For example, take the following graph:
- *
- * <pre>
- * (Person)---(firstName: string)
- *      \
- *   (address: Address)---(street: string)
- * </pre>
- *
- * If the <tt>Person</tt> object is validated and validation fails for the
- * "firstName" property, the generated violation has the <tt>Person</tt>
- * instance as root and the property path "firstName". If validation fails
- * for the "street" property of the related <tt>Address</tt> instance, the root
- * element is still the person, but the property path is "address.street".
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-interface ConstraintViolationInterface
-{
-    /**
-     * Returns the violation message.
-     *
-     * @return string The violation message.
-     *
-     * @api
-     */
-    public function getMessage();
-
-    /**
-     * Returns the raw violation message.
-     *
-     * The raw violation message contains placeholders for the parameters
-     * returned by {@link getMessageParameters}. Typically you'll pass the
-     * message template and parameters to a translation engine.
-     *
-     * @return string The raw violation message.
-     *
-     * @api
-     */
-    public function getMessageTemplate();
-
-    /**
-     * Returns the parameters to be inserted into the raw violation message.
-     *
-     * @return array A possibly empty list of parameters indexed by the names
-     *               that appear in the message template.
-     *
-     * @see getMessageTemplate()
-     *
-     * @api
-     */
-    public function getMessageParameters();
-
-    /**
-     * Returns a number for pluralizing the violation message.
-     *
-     * For example, the message template could have different translation based
-     * on a parameter "choices":
-     *
-     * <ul>
-     * <li>Please select exactly one entry. (choices=1)</li>
-     * <li>Please select two entries. (choices=2)</li>
-     * </ul>
-     *
-     * This method returns the value of the parameter for choosing the right
-     * pluralization form (in this case "choices").
-     *
-     * @return int|null The number to use to pluralize of the message.
-     */
-    public function getMessagePluralization();
-
-    /**
-     * Returns the root element of the validation.
-     *
-     * @return mixed The value that was passed originally to the validator when
-     *               the validation was started. Because the validator traverses
-     *               the object graph, the value at which the violation occurs
-     *               is not necessarily the value that was originally validated.
-     *
-     * @api
-     */
-    public function getRoot();
-
-    /**
-     * Returns the property path from the root element to the violation.
-     *
-     * @return string The property path indicates how the validator reached
-     *                the invalid value from the root element. If the root
-     *                element is a <tt>Person</tt> instance with a property
-     *                "address" that contains an <tt>Address</tt> instance
-     *                with an invalid property "street", the generated property
-     *                path is "address.street". Property access is denoted by
-     *                dots, while array access is denoted by square brackets,
-     *                for example "addresses[1].street".
-     *
-     * @api
-     */
-    public function getPropertyPath();
-
-    /**
-     * Returns the value that caused the violation.
-     *
-     * @return mixed The invalid value that caused the validated constraint to
-     *               fail.
-     *
-     * @api
-     */
-    public function getInvalidValue();
-
-    /**
-     * Returns a machine-digestible error code for the violation.
-     *
-     * @return mixed The error code.
-     */
-    public function getCode();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationList.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationList.php
deleted file mode 100644
index cccfa86..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationList.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Default implementation of {@ConstraintViolationListInterface}.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ConstraintViolationList implements \IteratorAggregate, ConstraintViolationListInterface
-{
-    /**
-     * @var ConstraintViolationInterface[]
-     */
-    private $violations = array();
-
-    /**
-     * Creates a new constraint violation list.
-     *
-     * @param ConstraintViolationInterface[] $violations The constraint violations to add to the list
-     */
-    public function __construct(array $violations = array())
-    {
-        foreach ($violations as $violation) {
-            $this->add($violation);
-        }
-    }
-
-    /**
-     * Converts the violation into a string for debugging purposes.
-     *
-     * @return string The violation as string.
-     */
-    public function __toString()
-    {
-        $string = '';
-
-        foreach ($this->violations as $violation) {
-            $string .= $violation."\n";
-        }
-
-        return $string;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function add(ConstraintViolationInterface $violation)
-    {
-        $this->violations[] = $violation;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addAll(ConstraintViolationListInterface $otherList)
-    {
-        foreach ($otherList as $violation) {
-            $this->violations[] = $violation;
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($offset)
-    {
-        if (!isset($this->violations[$offset])) {
-            throw new \OutOfBoundsException(sprintf('The offset "%s" does not exist.', $offset));
-        }
-
-        return $this->violations[$offset];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($offset)
-    {
-        return isset($this->violations[$offset]);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($offset, ConstraintViolationInterface $violation)
-    {
-        $this->violations[$offset] = $violation;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function remove($offset)
-    {
-        unset($this->violations[$offset]);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->violations);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function count()
-    {
-        return count($this->violations);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function offsetExists($offset)
-    {
-        return $this->has($offset);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function offsetGet($offset)
-    {
-        return $this->get($offset);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function offsetSet($offset, $violation)
-    {
-        if (null === $offset) {
-            $this->add($violation);
-        } else {
-            $this->set($offset, $violation);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function offsetUnset($offset)
-    {
-        $this->remove($offset);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationListInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationListInterface.php
deleted file mode 100644
index 088c70c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationListInterface.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * A list of constraint violations.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-interface ConstraintViolationListInterface extends \Traversable, \Countable, \ArrayAccess
-{
-    /**
-     * Adds a constraint violation to this list.
-     *
-     * @param ConstraintViolationInterface $violation The violation to add.
-     *
-     * @api
-     */
-    public function add(ConstraintViolationInterface $violation);
-
-    /**
-     * Merges an existing violation list into this list.
-     *
-     * @param ConstraintViolationListInterface $otherList The list to merge.
-     *
-     * @api
-     */
-    public function addAll(ConstraintViolationListInterface $otherList);
-
-    /**
-     * Returns the violation at a given offset.
-     *
-     * @param int $offset The offset of the violation.
-     *
-     * @return ConstraintViolationInterface The violation.
-     *
-     * @throws \OutOfBoundsException If the offset does not exist.
-     *
-     * @api
-     */
-    public function get($offset);
-
-    /**
-     * Returns whether the given offset exists.
-     *
-     * @param int $offset The violation offset.
-     *
-     * @return bool Whether the offset exists.
-     *
-     * @api
-     */
-    public function has($offset);
-
-    /**
-     * Sets a violation at a given offset.
-     *
-     * @param int                          $offset    The violation offset.
-     * @param ConstraintViolationInterface $violation The violation.
-     *
-     * @api
-     */
-    public function set($offset, ConstraintViolationInterface $violation);
-
-    /**
-     * Removes a violation at a given offset.
-     *
-     * @param int $offset The offset to remove.
-     *
-     * @api
-     */
-    public function remove($offset);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparison.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparison.php
deleted file mode 100644
index fb1f1f3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparison.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-
-/**
- * Used for the comparison of values.
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-abstract class AbstractComparison extends Constraint
-{
-    public $message;
-    public $value;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __construct($options = null)
-    {
-        if (is_array($options) && !isset($options['value'])) {
-            throw new ConstraintDefinitionException(sprintf(
-                'The %s constraint requires the "value" option to be set.',
-                get_class($this)
-            ));
-        }
-
-        parent::__construct($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'value';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
deleted file mode 100644
index ec734b3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Provides a base class for the validation of property comparisons.
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class AbstractComparisonValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof AbstractComparison) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\AbstractComparison');
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        $comparedValue = $constraint->value;
-
-        // Convert strings to DateTimes if comparing another DateTime
-        // This allows to compare with any date/time value supported by
-        // the DateTime constructor:
-        // http://php.net/manual/en/datetime.formats.php
-        if (is_string($comparedValue)) {
-            if ($value instanceof \DatetimeImmutable) {
-                // If $value is immutable, convert the compared value to a
-                // DateTimeImmutable too
-                $comparedValue = new \DatetimeImmutable($comparedValue);
-            } elseif ($value instanceof \DateTime || $value instanceof \DateTimeInterface) {
-                // Otherwise use DateTime
-                $comparedValue = new \DateTime($comparedValue);
-            }
-        }
-
-        if (!$this->compareValues($value, $comparedValue)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value, self::OBJECT_TO_STRING | self::PRETTY_DATE))
-                ->setParameter('{{ compared_value }}', $this->formatValue($comparedValue, self::OBJECT_TO_STRING | self::PRETTY_DATE))
-                ->setParameter('{{ compared_value_type }}', $this->formatTypeOf($comparedValue))
-                ->addViolation();
-        }
-    }
-
-    /**
-     * Compares the two given values to find if their relationship is valid.
-     *
-     * @param mixed $value1 The first value to compare
-     * @param mixed $value2 The second value to compare
-     *
-     * @return bool true if the relationship is valid, false otherwise
-     */
-    abstract protected function compareValues($value1, $value2);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/All.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/All.php
deleted file mode 100644
index 3250fcf..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/All.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class All extends Composite
-{
-    public $constraints = array();
-
-    public function getDefaultOption()
-    {
-        return 'constraints';
-    }
-
-    public function getRequiredOptions()
-    {
-        return array('constraints');
-    }
-
-    protected function getCompositeOption()
-    {
-        return 'constraints';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AllValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AllValidator.php
deleted file mode 100644
index a655afc..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AllValidator.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class AllValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof All) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\All');
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        if (!is_array($value) && !$value instanceof \Traversable) {
-            throw new UnexpectedTypeException($value, 'array or Traversable');
-        }
-
-        $context = $this->context;
-
-        if ($context instanceof ExecutionContextInterface) {
-            $validator = $context->getValidator()->inContext($context);
-
-            foreach ($value as $key => $element) {
-                $validator->atPath('['.$key.']')->validate($element, $constraint->constraints);
-            }
-        } else {
-            // 2.4 API
-            foreach ($value as $key => $element) {
-                $context->validateValue($element, $constraint->constraints, '['.$key.']');
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Blank.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Blank.php
deleted file mode 100644
index 766ce6c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Blank.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Blank extends Constraint
-{
-    public $message = 'This value should be blank.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/BlankValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/BlankValidator.php
deleted file mode 100644
index 031c7a5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/BlankValidator.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class BlankValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Blank) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Blank');
-        }
-
-        if ('' !== $value && null !== $value) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Callback.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Callback.php
deleted file mode 100644
index 312952a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Callback.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"CLASS", "PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Callback extends Constraint
-{
-    /**
-     * @var string|callable
-     *
-     * @since 2.4
-     */
-    public $callback;
-
-    /**
-     * @var array
-     *
-     * @deprecated Deprecated since version 2.4, to be removed in Symfony 3.0.
-     */
-    public $methods;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __construct($options = null)
-    {
-        // Invocation through annotations with an array parameter only
-        if (is_array($options) && 1 === count($options) && isset($options['value'])) {
-            $options = $options['value'];
-        }
-
-        if (is_array($options) && !isset($options['callback']) && !isset($options['methods']) && !isset($options['groups'])) {
-            if (is_callable($options)) {
-                $options = array('callback' => $options);
-            } else {
-                // BC with Symfony < 2.4
-                $options = array('methods' => $options);
-            }
-        }
-
-        parent::__construct($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'callback';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTargets()
-    {
-        return array(self::CLASS_CONSTRAINT, self::PROPERTY_CONSTRAINT);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CallbackValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CallbackValidator.php
deleted file mode 100644
index 9939306..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CallbackValidator.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validator for Callback constraint.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class CallbackValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($object, Constraint $constraint)
-    {
-        if (!$constraint instanceof Callback) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Callback');
-        }
-
-        if (null !== $constraint->callback && null !== $constraint->methods) {
-            throw new ConstraintDefinitionException(
-                'The Callback constraint supports either the option "callback" '.
-                'or "methods", but not both at the same time.'
-            );
-        }
-
-        // has to be an array so that we can differentiate between callables
-        // and method names
-        if (null !== $constraint->methods && !is_array($constraint->methods)) {
-            throw new UnexpectedTypeException($constraint->methods, 'array');
-        }
-
-        $methods = $constraint->methods ?: array($constraint->callback);
-
-        foreach ($methods as $method) {
-            if ($method instanceof \Closure) {
-                $method($object, $this->context);
-            } elseif (is_array($method)) {
-                if (!is_callable($method)) {
-                    throw new ConstraintDefinitionException(sprintf('"%s::%s" targeted by Callback constraint is not a valid callable', $method[0], $method[1]));
-                }
-
-                call_user_func($method, $object, $this->context);
-            } elseif (null !== $object) {
-                if (!method_exists($object, $method)) {
-                    throw new ConstraintDefinitionException(sprintf('Method "%s" targeted by Callback constraint does not exist', $method));
-                }
-
-                $reflMethod = new \ReflectionMethod($object, $method);
-
-                if ($reflMethod->isStatic()) {
-                    $reflMethod->invoke(null, $object, $this->context);
-                } else {
-                    $reflMethod->invoke($object, $this->context);
-                }
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardScheme.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardScheme.php
deleted file mode 100644
index 14f3b5d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardScheme.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * Metadata for the CardSchemeValidator.
- *
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Tim Nagel <t.nagel@infinite.net.au>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class CardScheme extends Constraint
-{
-    const NOT_NUMERIC_ERROR = 1;
-    const INVALID_FORMAT_ERROR = 2;
-
-    protected static $errorNames = array(
-        self::NOT_NUMERIC_ERROR => 'NOT_NUMERIC_ERROR',
-        self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR',
-    );
-
-    public $message = 'Unsupported card type or invalid card number.';
-    public $schemes;
-
-    public function getDefaultOption()
-    {
-        return 'schemes';
-    }
-
-    public function getRequiredOptions()
-    {
-        return array('schemes');
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardSchemeValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardSchemeValidator.php
deleted file mode 100644
index 0e7de08..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardSchemeValidator.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates that a card number belongs to a specified scheme.
- *
- * @author Tim Nagel <t.nagel@infinite.net.au>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see http://en.wikipedia.org/wiki/Bank_card_number
- * @see http://www.regular-expressions.info/creditcard.html
- */
-class CardSchemeValidator extends ConstraintValidator
-{
-    protected $schemes = array(
-        // American Express card numbers start with 34 or 37 and have 15 digits.
-        'AMEX' => array(
-            '/^3[47][0-9]{13}$/',
-        ),
-        // China UnionPay cards start with 62 and have between 16 and 19 digits.
-        // Please note that these cards do not follow Luhn Algorithm as a checksum.
-        'CHINA_UNIONPAY' => array(
-            '/^62[0-9]{14,17}$/',
-        ),
-        // Diners Club card numbers begin with 300 through 305, 36 or 38. All have 14 digits.
-        // There are Diners Club cards that begin with 5 and have 16 digits.
-        // These are a joint venture between Diners Club and MasterCard, and should be processed like a MasterCard.
-        'DINERS' => array(
-            '/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/',
-        ),
-        // Discover card numbers begin with 6011, 622126 through 622925, 644 through 649 or 65.
-        // All have 16 digits.
-        'DISCOVER' => array(
-            '/^6011[0-9]{12}$/',
-            '/^64[4-9][0-9]{13}$/',
-            '/^65[0-9]{14}$/',
-            '/^622(12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|91[0-9]|92[0-5])[0-9]{10}$/',
-        ),
-        // InstaPayment cards begin with 637 through 639 and have 16 digits.
-        'INSTAPAYMENT' => array(
-            '/^63[7-9][0-9]{13}$/',
-        ),
-        // JCB cards beginning with 2131 or 1800 have 15 digits.
-        // JCB cards beginning with 35 have 16 digits.
-        'JCB' => array(
-            '/^(?:2131|1800|35[0-9]{3})[0-9]{11}$/',
-        ),
-        // Laser cards begin with either 6304, 6706, 6709 or 6771 and have between 16 and 19 digits.
-        'LASER' => array(
-            '/^(6304|670[69]|6771)[0-9]{12,15}$/',
-        ),
-        // Maestro cards begin with either 5018, 5020, 5038, 5893, 6304, 6759, 6761, 6762, 6763 or 0604
-        // They have between 12 and 19 digits.
-        'MAESTRO' => array(
-            '/^(5018|5020|5038|6304|6759|6761|676[23]|0604)[0-9]{8,15}$/',
-        ),
-        // All MasterCard numbers start with the numbers 51 through 55. All have 16 digits.
-        'MASTERCARD' => array(
-            '/^5[1-5][0-9]{14}$/',
-        ),
-        // All Visa card numbers start with a 4. New cards have 16 digits. Old cards have 13.
-        'VISA' => array(
-            '/^4([0-9]{12}|[0-9]{15})$/',
-        ),
-    );
-
-    /**
-     * Validates a creditcard belongs to a specified scheme.
-     *
-     * @param mixed      $value
-     * @param Constraint $constraint
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof CardScheme) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\CardScheme');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_numeric($value)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(CardScheme::NOT_NUMERIC_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        $schemes = array_flip((array) $constraint->schemes);
-        $schemeRegexes = array_intersect_key($this->schemes, $schemes);
-
-        foreach ($schemeRegexes as $regexes) {
-            foreach ($regexes as $regex) {
-                if (preg_match($regex, $value)) {
-                    return;
-                }
-            }
-        }
-
-        $this->buildViolation($constraint->message)
-            ->setParameter('{{ value }}', $this->formatValue($value))
-            ->setCode(CardScheme::INVALID_FORMAT_ERROR)
-            ->addViolation();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Choice.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Choice.php
deleted file mode 100644
index 39a6457..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Choice.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Choice extends Constraint
-{
-    const NO_SUCH_CHOICE_ERROR = 1;
-    const TOO_FEW_ERROR = 2;
-    const TOO_MANY_ERROR = 3;
-
-    protected static $errorNames = array(
-        self::NO_SUCH_CHOICE_ERROR => 'NO_SUCH_CHOICE_ERROR',
-        self::TOO_FEW_ERROR => 'TOO_FEW_ERROR',
-        self::TOO_MANY_ERROR => 'TOO_MANY_ERROR',
-    );
-
-    public $choices;
-    public $callback;
-    public $multiple = false;
-    public $strict = false;
-    public $min;
-    public $max;
-    public $message = 'The value you selected is not a valid choice.';
-    public $multipleMessage = 'One or more of the given values is invalid.';
-    public $minMessage = 'You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.';
-    public $maxMessage = 'You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.';
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'choices';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ChoiceValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ChoiceValidator.php
deleted file mode 100644
index 51fb467..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ChoiceValidator.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * ChoiceValidator validates that the value is one of the expected values.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Florian Eckerstorfer <florian@eckerstorfer.org>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class ChoiceValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Choice) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Choice');
-        }
-
-        if (!is_array($constraint->choices) && !$constraint->callback) {
-            throw new ConstraintDefinitionException('Either "choices" or "callback" must be specified on constraint Choice');
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        if ($constraint->multiple && !is_array($value)) {
-            throw new UnexpectedTypeException($value, 'array');
-        }
-
-        if ($constraint->callback) {
-            if (!is_callable($choices = array($this->context->getClassName(), $constraint->callback))
-                && !is_callable($choices = $constraint->callback)
-            ) {
-                throw new ConstraintDefinitionException('The Choice constraint expects a valid callback');
-            }
-            $choices = call_user_func($choices);
-        } else {
-            $choices = $constraint->choices;
-        }
-
-        if ($constraint->multiple) {
-            foreach ($value as $_value) {
-                if (!in_array($_value, $choices, $constraint->strict)) {
-                    $this->buildViolation($constraint->multipleMessage)
-                        ->setParameter('{{ value }}', $this->formatValue($_value))
-                        ->setCode(Choice::NO_SUCH_CHOICE_ERROR)
-                        ->setInvalidValue($_value)
-                        ->addViolation();
-
-                    return;
-                }
-            }
-
-            $count = count($value);
-
-            if ($constraint->min !== null && $count < $constraint->min) {
-                $this->buildViolation($constraint->minMessage)
-                    ->setParameter('{{ limit }}', $constraint->min)
-                    ->setPlural((int) $constraint->min)
-                    ->setCode(Choice::TOO_FEW_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-
-            if ($constraint->max !== null && $count > $constraint->max) {
-                $this->buildViolation($constraint->maxMessage)
-                    ->setParameter('{{ limit }}', $constraint->max)
-                    ->setPlural((int) $constraint->max)
-                    ->setCode(Choice::TOO_MANY_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        } elseif (!in_array($value, $choices, $constraint->strict)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Choice::NO_SUCH_CHOICE_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection.php
deleted file mode 100644
index 708c8ed..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Collection extends Composite
-{
-    const MISSING_FIELD_ERROR = 1;
-    const NO_SUCH_FIELD_ERROR = 2;
-
-    protected static $errorNames = array(
-        self::MISSING_FIELD_ERROR => 'MISSING_FIELD_ERROR',
-        self::NO_SUCH_FIELD_ERROR => 'NO_SUCH_FIELD_ERROR',
-    );
-
-    public $fields = array();
-    public $allowExtraFields = false;
-    public $allowMissingFields = false;
-    public $extraFieldsMessage = 'This field was not expected.';
-    public $missingFieldsMessage = 'This field is missing.';
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __construct($options = null)
-    {
-        // no known options set? $options is the fields array
-        if (is_array($options)
-            && !array_intersect(array_keys($options), array('groups', 'fields', 'allowExtraFields', 'allowMissingFields', 'extraFieldsMessage', 'missingFieldsMessage'))) {
-            $options = array('fields' => $options);
-        }
-
-        parent::__construct($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function initializeNestedConstraints()
-    {
-        parent::initializeNestedConstraints();
-
-        if (!is_array($this->fields)) {
-            throw new ConstraintDefinitionException(sprintf('The option "fields" is expected to be an array in constraint %s', __CLASS__));
-        }
-
-        foreach ($this->fields as $fieldName => $field) {
-            // the XmlFileLoader and YamlFileLoader pass the field Optional
-            // and Required constraint as an array with exactly one element
-            if (is_array($field) && count($field) == 1) {
-                $this->fields[$fieldName] = $field = $field[0];
-            }
-
-            if (!$field instanceof Optional && !$field instanceof Required) {
-                $this->fields[$fieldName] = $field = new Required($field);
-            }
-        }
-    }
-
-    public function getRequiredOptions()
-    {
-        return array('fields');
-    }
-
-    protected function getCompositeOption()
-    {
-        return 'fields';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Optional.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Optional.php
deleted file mode 100644
index f7a9204..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Optional.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints\Collection;
-
-use Symfony\Component\Validator\Constraints\Optional as BaseOptional;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated in 2.3, to be removed in 3.0. Use
- *             {@link \Symfony\Component\Validator\Constraints\Optional} instead.
- */
-class Optional extends BaseOptional
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Required.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Required.php
deleted file mode 100644
index e358343..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Required.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints\Collection;
-
-use Symfony\Component\Validator\Constraints\Required as BaseRequired;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated in 2.3, to be removed in 3.0. Use
- *             {@link \Symfony\Component\Validator\Constraints\Required} instead.
- */
-class Required extends BaseRequired
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CollectionValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CollectionValidator.php
deleted file mode 100644
index c3180d2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CollectionValidator.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class CollectionValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Collection) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Collection');
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        if (!is_array($value) && !($value instanceof \Traversable && $value instanceof \ArrayAccess)) {
-            throw new UnexpectedTypeException($value, 'array or Traversable and ArrayAccess');
-        }
-
-        // We need to keep the initialized context when CollectionValidator
-        // calls itself recursively (Collection constraints can be nested).
-        // Since the context of the validator is overwritten when initialize()
-        // is called for the nested constraint, the outer validator is
-        // acting on the wrong context when the nested validation terminates.
-        //
-        // A better solution - which should be approached in Symfony 3.0 - is to
-        // remove the initialize() method and pass the context as last argument
-        // to validate() instead.
-        $context = $this->context;
-
-        foreach ($constraint->fields as $field => $fieldConstraint) {
-            // bug fix issue #2779
-            $existsInArray = is_array($value) && array_key_exists($field, $value);
-            $existsInArrayAccess = $value instanceof \ArrayAccess && $value->offsetExists($field);
-
-            if ($existsInArray || $existsInArrayAccess) {
-                if (count($fieldConstraint->constraints) > 0) {
-                    if ($context instanceof ExecutionContextInterface) {
-                        $context->getValidator()
-                            ->inContext($context)
-                            ->atPath('['.$field.']')
-                            ->validate($value[$field], $fieldConstraint->constraints);
-                    } else {
-                        // 2.4 API
-                        $context->validateValue($value[$field], $fieldConstraint->constraints, '['.$field.']');
-                    }
-                }
-            } elseif (!$fieldConstraint instanceof Optional && !$constraint->allowMissingFields) {
-                $this->buildViolationInContext($context, $constraint->missingFieldsMessage)
-                    ->atPath('['.$field.']')
-                    ->setParameter('{{ field }}', $this->formatValue($field))
-                    ->setInvalidValue(null)
-                    ->setCode(Collection::MISSING_FIELD_ERROR)
-                    ->addViolation();
-            }
-        }
-
-        if (!$constraint->allowExtraFields) {
-            foreach ($value as $field => $fieldValue) {
-                if (!isset($constraint->fields[$field])) {
-                    $this->buildViolationInContext($context, $constraint->extraFieldsMessage)
-                        ->atPath('['.$field.']')
-                        ->setParameter('{{ field }}', $this->formatValue($field))
-                        ->setInvalidValue($fieldValue)
-                        ->setCode(Collection::NO_SUCH_FIELD_ERROR)
-                        ->addViolation();
-                }
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Composite.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Composite.php
deleted file mode 100644
index 22a748c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Composite.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-
-/**
- * A constraint that is composed of other constraints.
- *
- * You should never use the nested constraint instances anywhere else, because
- * their groups are adapted when passed to the constructor of this class.
- *
- * If you want to create your own composite constraint, extend this class and
- * let {@link getCompositeOption()} return the name of the property which
- * contains the nested constraints.
- *
- * @since  2.6
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class Composite extends Constraint
-{
-    /**
-     * {@inheritdoc}
-     *
-     * The groups of the composite and its nested constraints are made
-     * consistent using the following strategy:
-     *
-     *   - If groups are passed explicitly to the composite constraint, but
-     *     not to the nested constraints, the options of the composite
-     *     constraint are copied to the nested constraints;
-     *
-     *   - If groups are passed explicitly to the nested constraints, but not
-     *     to the composite constraint, the groups of all nested constraints
-     *     are merged and used as groups for the composite constraint;
-     *
-     *   - If groups are passed explicitly to both the composite and its nested
-     *     constraints, the groups of the nested constraints must be a subset
-     *     of the groups of the composite constraint. If not, a
-     *     {@link ConstraintDefinitionException} is thrown.
-     *
-     * All this is done in the constructor, because constraints can then be
-     * cached. When constraints are loaded from the cache, no more group
-     * checks need to be done.
-     */
-    public function __construct($options = null)
-    {
-        parent::__construct($options);
-
-        $this->initializeNestedConstraints();
-
-        /** @var Constraint[] $nestedConstraints */
-        $compositeOption = $this->getCompositeOption();
-        $nestedConstraints = $this->$compositeOption;
-
-        if (!is_array($nestedConstraints)) {
-            $nestedConstraints = array($nestedConstraints);
-        }
-
-        foreach ($nestedConstraints as $constraint) {
-            if (!$constraint instanceof Constraint) {
-                throw new ConstraintDefinitionException(sprintf('The value %s is not an instance of Constraint in constraint %s', $constraint, get_class($this)));
-            }
-
-            if ($constraint instanceof Valid) {
-                throw new ConstraintDefinitionException(sprintf('The constraint Valid cannot be nested inside constraint %s. You can only declare the Valid constraint directly on a field or method.', get_class($this)));
-            }
-        }
-
-        if (!property_exists($this, 'groups')) {
-            $mergedGroups = array();
-
-            foreach ($nestedConstraints as $constraint) {
-                foreach ($constraint->groups as $group) {
-                    $mergedGroups[$group] = true;
-                }
-            }
-
-            $this->groups = array_keys($mergedGroups);
-            $this->$compositeOption = $nestedConstraints;
-
-            return;
-        }
-
-        foreach ($nestedConstraints as $constraint) {
-            if (property_exists($constraint, 'groups')) {
-                $excessGroups = array_diff($constraint->groups, $this->groups);
-
-                if (count($excessGroups) > 0) {
-                    throw new ConstraintDefinitionException(sprintf(
-                        'The group(s) "%s" passed to the constraint %s '.
-                        'should also be passed to its containing constraint %s',
-                        implode('", "', $excessGroups),
-                        get_class($constraint),
-                        get_class($this)
-                    ));
-                }
-            } else {
-                $constraint->groups = $this->groups;
-            }
-        }
-
-        $this->$compositeOption = $nestedConstraints;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * Implicit group names are forwarded to nested constraints.
-     *
-     * @param string $group
-     */
-    public function addImplicitGroupName($group)
-    {
-        parent::addImplicitGroupName($group);
-
-        /** @var Constraint[] $nestedConstraints */
-        $nestedConstraints = $this->{$this->getCompositeOption()};
-
-        foreach ($nestedConstraints as $constraint) {
-            $constraint->addImplicitGroupName($group);
-        }
-    }
-
-    /**
-     * Returns the name of the property that contains the nested constraints.
-     *
-     * @return string The property name
-     */
-    abstract protected function getCompositeOption();
-
-    /**
-     * Initializes the nested constraints.
-     *
-     * This method can be overwritten in subclasses to clean up the nested
-     * constraints passed to the constructor.
-     *
-     * @see Collection::initializeNestedConstraints()
-     */
-    protected function initializeNestedConstraints()
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Count.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Count.php
deleted file mode 100644
index a3e12fe..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Count.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\MissingOptionsException;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Count extends Constraint
-{
-    const TOO_FEW_ERROR = 1;
-    const TOO_MANY_ERROR = 2;
-
-    protected static $errorNames = array(
-        self::TOO_FEW_ERROR => 'TOO_FEW_ERROR',
-        self::TOO_MANY_ERROR => 'TOO_MANY_ERROR',
-    );
-
-    public $minMessage = 'This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.';
-    public $maxMessage = 'This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.';
-    public $exactMessage = 'This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.';
-    public $min;
-    public $max;
-
-    public function __construct($options = null)
-    {
-        if (null !== $options && !is_array($options)) {
-            $options = array(
-                'min' => $options,
-                'max' => $options,
-            );
-        }
-
-        parent::__construct($options);
-
-        if (null === $this->min && null === $this->max) {
-            throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint %s', __CLASS__), array('min', 'max'));
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountValidator.php
deleted file mode 100644
index d44f537..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountValidator.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class CountValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (null === $value) {
-            return;
-        }
-
-        if (!is_array($value) && !$value instanceof \Countable) {
-            throw new UnexpectedTypeException($value, 'array or \Countable');
-        }
-
-        $count = count($value);
-
-        if (null !== $constraint->max && $count > $constraint->max) {
-            $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage)
-                ->setParameter('{{ count }}', $count)
-                ->setParameter('{{ limit }}', $constraint->max)
-                ->setInvalidValue($value)
-                ->setPlural((int) $constraint->max)
-                ->setCode(Count::TOO_MANY_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if (null !== $constraint->min && $count < $constraint->min) {
-            $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage)
-                ->setParameter('{{ count }}', $count)
-                ->setParameter('{{ limit }}', $constraint->min)
-                ->setInvalidValue($value)
-                ->setPlural((int) $constraint->min)
-                ->setCode(Count::TOO_FEW_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Country.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Country.php
deleted file mode 100644
index ff6f3d0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Country.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Country extends Constraint
-{
-    public $message = 'This value is not a valid country.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountryValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountryValidator.php
deleted file mode 100644
index 0d001f7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountryValidator.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Intl\Intl;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether a value is a valid country code.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class CountryValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Country) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Country');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-        $countries = Intl::getRegionBundle()->getCountryNames();
-
-        if (!isset($countries[$value])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Currency.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Currency.php
deleted file mode 100644
index c09fe88..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Currency.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Miha Vrhovnik <miha.vrhovnik@pagein.si>
- *
- * @api
- */
-class Currency extends Constraint
-{
-    public $message = 'This value is not a valid currency.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CurrencyValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CurrencyValidator.php
deleted file mode 100644
index 5585426..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CurrencyValidator.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Intl\Intl;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether a value is a valid currency.
- *
- * @author Miha Vrhovnik <miha.vrhovnik@pagein.si>
- *
- * @api
- */
-class CurrencyValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Currency) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Currency');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-        $currencies = Intl::getCurrencyBundle()->getCurrencyNames();
-
-        if (!isset($currencies[$value])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Date.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Date.php
deleted file mode 100644
index 2bc444f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Date.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Date extends Constraint
-{
-    const INVALID_FORMAT_ERROR = 1;
-    const INVALID_DATE_ERROR = 2;
-
-    protected static $errorNames = array(
-        self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR',
-        self::INVALID_DATE_ERROR => 'INVALID_DATE_ERROR',
-    );
-
-    public $message = 'This value is not a valid date.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTime.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTime.php
deleted file mode 100644
index ae67ff3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTime.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class DateTime extends Constraint
-{
-    const INVALID_FORMAT_ERROR = 1;
-    const INVALID_DATE_ERROR = 2;
-    const INVALID_TIME_ERROR = 3;
-
-    protected static $errorNames = array(
-        self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR',
-        self::INVALID_DATE_ERROR => 'INVALID_DATE_ERROR',
-        self::INVALID_TIME_ERROR => 'INVALID_TIME_ERROR',
-    );
-
-    public $message = 'This value is not a valid datetime.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTimeValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTimeValidator.php
deleted file mode 100644
index b459c78..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTimeValidator.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class DateTimeValidator extends DateValidator
-{
-    const PATTERN = '/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/';
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof DateTime) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\DateTime');
-        }
-
-        if (null === $value || '' === $value || $value instanceof \DateTime) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        if (!preg_match(static::PATTERN, $value, $matches)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(DateTime::INVALID_FORMAT_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if (!DateValidator::checkDate($matches[1], $matches[2], $matches[3])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(DateTime::INVALID_DATE_ERROR)
-                ->addViolation();
-        }
-
-        if (!TimeValidator::checkTime($matches[4], $matches[5], $matches[6])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(DateTime::INVALID_TIME_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateValidator.php
deleted file mode 100644
index 77f0111..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateValidator.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class DateValidator extends ConstraintValidator
-{
-    const PATTERN = '/^(\d{4})-(\d{2})-(\d{2})$/';
-
-    /**
-     * Checks whether a date is valid.
-     *
-     * @param int $year  The year
-     * @param int $month The month
-     * @param int $day   The day
-     *
-     * @return bool Whether the date is valid
-     *
-     * @internal
-     */
-    public static function checkDate($year, $month, $day)
-    {
-        return checkdate($month, $day, $year);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Date) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Date');
-        }
-
-        if (null === $value || '' === $value || $value instanceof \DateTime) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        if (!preg_match(static::PATTERN, $value, $matches)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Date::INVALID_FORMAT_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if (!self::checkDate($matches[1], $matches[2], $matches[3])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Date::INVALID_DATE_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Email.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Email.php
deleted file mode 100644
index 3697717..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Email.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Email extends Constraint
-{
-    const INVALID_FORMAT_ERROR = 1;
-    const MX_CHECK_FAILED_ERROR = 2;
-    const HOST_CHECK_FAILED_ERROR = 3;
-
-    protected static $errorNames = array(
-        self::INVALID_FORMAT_ERROR => 'STRICT_CHECK_FAILED_ERROR',
-        self::MX_CHECK_FAILED_ERROR => 'MX_CHECK_FAILED_ERROR',
-        self::HOST_CHECK_FAILED_ERROR => 'HOST_CHECK_FAILED_ERROR',
-    );
-
-    public $message = 'This value is not a valid email address.';
-    public $checkMX = false;
-    public $checkHost = false;
-    public $strict;
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EmailValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EmailValidator.php
deleted file mode 100644
index 8d3a7c5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EmailValidator.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\RuntimeException;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class EmailValidator extends ConstraintValidator
-{
-    /**
-     * isStrict
-     *
-     * @var bool
-     */
-    private $isStrict;
-
-    public function __construct($strict = false)
-    {
-        $this->isStrict = $strict;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Email) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Email');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        if (null === $constraint->strict) {
-            $constraint->strict = $this->isStrict;
-        }
-
-        if ($constraint->strict) {
-            if (!class_exists('\Egulias\EmailValidator\EmailValidator')) {
-                throw new RuntimeException('Strict email validation requires egulias/email-validator');
-            }
-
-            $strictValidator = new \Egulias\EmailValidator\EmailValidator();
-
-            if (!$strictValidator->isValid($value, false, true)) {
-                $this->buildViolation($constraint->message)
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode(Email::INVALID_FORMAT_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        } elseif (!preg_match('/.+\@.+\..+/', $value)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Email::INVALID_FORMAT_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        $host = substr($value, strpos($value, '@') + 1);
-
-        // Check for host DNS resource records
-        if ($constraint->checkMX) {
-            if (!$this->checkMX($host)) {
-                $this->buildViolation($constraint->message)
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode(Email::MX_CHECK_FAILED_ERROR)
-                    ->addViolation();
-            }
-
-            return;
-        }
-
-        if ($constraint->checkHost && !$this->checkHost($host)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Email::HOST_CHECK_FAILED_ERROR)
-                ->addViolation();
-        }
-    }
-
-    /**
-     * Check DNS Records for MX type.
-     *
-     * @param string $host Host
-     *
-     * @return bool
-     */
-    private function checkMX($host)
-    {
-        return checkdnsrr($host, 'MX');
-    }
-
-    /**
-     * Check if one of MX, A or AAAA DNS RR exists.
-     *
-     * @param string $host Host
-     *
-     * @return bool
-     */
-    private function checkHost($host)
-    {
-        return $this->checkMX($host) || (checkdnsrr($host, 'A') || checkdnsrr($host, 'AAAA'));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualTo.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualTo.php
deleted file mode 100644
index 8d3d752..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualTo.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class EqualTo extends AbstractComparison
-{
-    public $message = 'This value should be equal to {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualToValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualToValidator.php
deleted file mode 100644
index 3739dbe..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualToValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values are equal (==).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class EqualToValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 == $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Existence.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Existence.php
deleted file mode 100644
index 5ea6ffe..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Existence.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class Existence extends Composite
-{
-    public $constraints = array();
-
-    public function getDefaultOption()
-    {
-        return 'constraints';
-    }
-
-    protected function getCompositeOption()
-    {
-        return 'constraints';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Expression.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Expression.php
deleted file mode 100644
index dfa242c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Expression.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"CLASS", "PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Expression extends Constraint
-{
-    public $message = 'This value is not valid.';
-    public $expression;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'expression';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequiredOptions()
-    {
-        return array('expression');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTargets()
-    {
-        return array(self::CLASS_CONSTRAINT, self::PROPERTY_CONSTRAINT);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validatedBy()
-    {
-        return 'validator.expression';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ExpressionValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ExpressionValidator.php
deleted file mode 100644
index fd3e903..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ExpressionValidator.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
-use Symfony\Component\PropertyAccess\PropertyAccess;
-use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
-use Symfony\Component\PropertyAccess\PropertyPath;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\Exception\RuntimeException;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@symfony.com>
- */
-class ExpressionValidator extends ConstraintValidator
-{
-    /**
-     * @var PropertyAccessorInterface
-     */
-    private $propertyAccessor;
-
-    /**
-     * @var ExpressionLanguage
-     */
-    private $expressionLanguage;
-
-    /**
-     * @param PropertyAccessorInterface|null $propertyAccessor Optional as of Symfony 2.5
-     *
-     * @throws UnexpectedTypeException If the property accessor is invalid
-     */
-    public function __construct($propertyAccessor = null)
-    {
-        if (null !== $propertyAccessor && !$propertyAccessor instanceof PropertyAccessorInterface) {
-            throw new UnexpectedTypeException($propertyAccessor, 'null or \Symfony\Component\PropertyAccess\PropertyAccessorInterface');
-        }
-
-        $this->propertyAccessor = $propertyAccessor;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Expression) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Expression');
-        }
-
-        $variables = array();
-
-        // Symfony 2.5+
-        if ($this->context instanceof ExecutionContextInterface) {
-            $variables['value'] = $value;
-            $variables['this'] = $this->context->getObject();
-        } elseif (null === $this->context->getPropertyName()) {
-            $variables['value'] = $value;
-            $variables['this'] = $value;
-        } else {
-            $root = $this->context->getRoot();
-            $variables['value'] = $value;
-
-            if (is_object($root)) {
-                // Extract the object that the property belongs to from the object
-                // graph
-                $path = new PropertyPath($this->context->getPropertyPath());
-                $parentPath = $path->getParent();
-                $variables['this'] = $parentPath ? $this->getPropertyAccessor()->getValue($root, $parentPath) : $root;
-            } else {
-                $variables['this'] = null;
-            }
-        }
-
-        if (!$this->getExpressionLanguage()->evaluate($constraint->expression, $variables)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-
-    private function getExpressionLanguage()
-    {
-        if (null === $this->expressionLanguage) {
-            if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) {
-                throw new RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.');
-            }
-            $this->expressionLanguage = new ExpressionLanguage();
-        }
-
-        return $this->expressionLanguage;
-    }
-
-    private function getPropertyAccessor()
-    {
-        if (null === $this->propertyAccessor) {
-            if (!class_exists('Symfony\Component\PropertyAccess\PropertyAccess')) {
-                throw new RuntimeException('Unable to use expressions as the Symfony PropertyAccess component is not installed.');
-            }
-            $this->propertyAccessor = PropertyAccess::createPropertyAccessor();
-        }
-
-        return $this->propertyAccessor;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/False.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/False.php
deleted file mode 100644
index fc2e3e4..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/False.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class False extends Constraint
-{
-    public $message = 'This value should be false.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FalseValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FalseValidator.php
deleted file mode 100644
index 206780c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FalseValidator.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class FalseValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof False) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\False');
-        }
-
-        if (null === $value || false === $value || 0 === $value || '0' === $value) {
-            return;
-        }
-
-        $this->buildViolation($constraint->message)
-            ->setParameter('{{ value }}', $this->formatValue($value))
-            ->addViolation();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/File.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/File.php
deleted file mode 100644
index ae0ad67..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/File.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class File extends Constraint
-{
-    // Check the Image constraint for clashes if adding new constants here
-
-    const NOT_FOUND_ERROR = 1;
-    const NOT_READABLE_ERROR = 2;
-    const EMPTY_ERROR = 3;
-    const TOO_LARGE_ERROR = 4;
-    const INVALID_MIME_TYPE_ERROR = 5;
-
-    protected static $errorNames = array(
-        self::NOT_FOUND_ERROR => 'NOT_FOUND_ERROR',
-        self::NOT_READABLE_ERROR => 'NOT_READABLE_ERROR',
-        self::EMPTY_ERROR => 'EMPTY_ERROR',
-        self::TOO_LARGE_ERROR => 'TOO_LARGE_ERROR',
-        self::INVALID_MIME_TYPE_ERROR => 'INVALID_MIME_TYPE_ERROR',
-    );
-
-    public $maxSize;
-    public $binaryFormat;
-    public $mimeTypes = array();
-    public $notFoundMessage = 'The file could not be found.';
-    public $notReadableMessage = 'The file is not readable.';
-    public $maxSizeMessage = 'The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.';
-    public $mimeTypesMessage = 'The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.';
-    public $disallowEmptyMessage = 'An empty file is not allowed.';
-
-    public $uploadIniSizeErrorMessage = 'The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.';
-    public $uploadFormSizeErrorMessage = 'The file is too large.';
-    public $uploadPartialErrorMessage = 'The file was only partially uploaded.';
-    public $uploadNoFileErrorMessage = 'No file was uploaded.';
-    public $uploadNoTmpDirErrorMessage = 'No temporary folder was configured in php.ini.';
-    public $uploadCantWriteErrorMessage = 'Cannot write temporary file to disk.';
-    public $uploadExtensionErrorMessage = 'A PHP extension caused the upload to fail.';
-    public $uploadErrorMessage = 'The file could not be uploaded.';
-
-    public function __construct($options = null)
-    {
-        parent::__construct($options);
-
-        if ($this->maxSize) {
-            if (ctype_digit((string) $this->maxSize)) {
-                $this->maxSize = (int) $this->maxSize;
-                $this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
-            } elseif (preg_match('/^\d++k$/i', $this->maxSize)) {
-                $this->maxSize = $this->maxSize * 1000;
-                $this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
-            } elseif (preg_match('/^\d++M$/i', $this->maxSize)) {
-                $this->maxSize = $this->maxSize * 1000000;
-                $this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
-            } elseif (preg_match('/^\d++Ki$/i', $this->maxSize)) {
-                $this->maxSize = $this->maxSize << 10;
-                $this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
-            } elseif (preg_match('/^\d++Mi$/i', $this->maxSize)) {
-                $this->maxSize = $this->maxSize << 20;
-                $this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
-            } else {
-                throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum size', $this->maxSize));
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FileValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FileValidator.php
deleted file mode 100644
index 9d225a9..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FileValidator.php
+++ /dev/null
@@ -1,240 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\HttpFoundation\File\File as FileObject;
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class FileValidator extends ConstraintValidator
-{
-    const KB_BYTES = 1000;
-    const MB_BYTES = 1000000;
-    const KIB_BYTES = 1024;
-    const MIB_BYTES = 1048576;
-
-    private static $suffices = array(
-        1 => 'bytes',
-        self::KB_BYTES => 'kB',
-        self::MB_BYTES => 'MB',
-        self::KIB_BYTES => 'KiB',
-        self::MIB_BYTES => 'MiB',
-    );
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof File) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\File');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if ($value instanceof UploadedFile && !$value->isValid()) {
-            switch ($value->getError()) {
-                case UPLOAD_ERR_INI_SIZE:
-                    $iniLimitSize = UploadedFile::getMaxFilesize();
-                    if ($constraint->maxSize && $constraint->maxSize < $iniLimitSize) {
-                        $limitInBytes = $constraint->maxSize;
-                        $binaryFormat = $constraint->binaryFormat;
-                    } else {
-                        $limitInBytes = $iniLimitSize;
-                        $binaryFormat = true;
-                    }
-
-                    list($sizeAsString, $limitAsString, $suffix) = $this->factorizeSizes(0, $limitInBytes, $binaryFormat);
-                    $this->buildViolation($constraint->uploadIniSizeErrorMessage)
-                        ->setParameter('{{ limit }}', $limitAsString)
-                        ->setParameter('{{ suffix }}', $suffix)
-                        ->setCode(UPLOAD_ERR_INI_SIZE)
-                        ->addViolation();
-
-                    return;
-                case UPLOAD_ERR_FORM_SIZE:
-                    $this->buildViolation($constraint->uploadFormSizeErrorMessage)
-                        ->setCode(UPLOAD_ERR_FORM_SIZE)
-                        ->addViolation();
-
-                    return;
-                case UPLOAD_ERR_PARTIAL:
-                    $this->buildViolation($constraint->uploadPartialErrorMessage)
-                        ->setCode(UPLOAD_ERR_PARTIAL)
-                        ->addViolation();
-
-                    return;
-                case UPLOAD_ERR_NO_FILE:
-                    $this->buildViolation($constraint->uploadNoFileErrorMessage)
-                        ->setCode(UPLOAD_ERR_NO_FILE)
-                        ->addViolation();
-
-                    return;
-                case UPLOAD_ERR_NO_TMP_DIR:
-                    $this->buildViolation($constraint->uploadNoTmpDirErrorMessage)
-                        ->setCode(UPLOAD_ERR_NO_TMP_DIR)
-                        ->addViolation();
-
-                    return;
-                case UPLOAD_ERR_CANT_WRITE:
-                    $this->buildViolation($constraint->uploadCantWriteErrorMessage)
-                        ->setCode(UPLOAD_ERR_CANT_WRITE)
-                        ->addViolation();
-
-                    return;
-                case UPLOAD_ERR_EXTENSION:
-                    $this->buildViolation($constraint->uploadExtensionErrorMessage)
-                        ->setCode(UPLOAD_ERR_EXTENSION)
-                        ->addViolation();
-
-                    return;
-                default:
-                    $this->buildViolation($constraint->uploadErrorMessage)
-                        ->setCode($value->getError())
-                        ->addViolation();
-
-                    return;
-            }
-        }
-
-        if (!is_scalar($value) && !$value instanceof FileObject && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $path = $value instanceof FileObject ? $value->getPathname() : (string) $value;
-
-        if (!is_file($path)) {
-            $this->buildViolation($constraint->notFoundMessage)
-                ->setParameter('{{ file }}', $this->formatValue($path))
-                ->setCode(File::NOT_FOUND_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if (!is_readable($path)) {
-            $this->buildViolation($constraint->notReadableMessage)
-                ->setParameter('{{ file }}', $this->formatValue($path))
-                ->setCode(File::NOT_READABLE_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        $sizeInBytes = filesize($path);
-
-        if (0 === $sizeInBytes) {
-            $this->buildViolation($constraint->disallowEmptyMessage)
-                ->setParameter('{{ file }}', $this->formatValue($path))
-                ->setCode(File::EMPTY_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if ($constraint->maxSize) {
-            $limitInBytes = $constraint->maxSize;
-
-            if ($sizeInBytes > $limitInBytes) {
-                list($sizeAsString, $limitAsString, $suffix) = $this->factorizeSizes($sizeInBytes, $limitInBytes, $constraint->binaryFormat);
-                $this->buildViolation($constraint->maxSizeMessage)
-                    ->setParameter('{{ file }}', $this->formatValue($path))
-                    ->setParameter('{{ size }}', $sizeAsString)
-                    ->setParameter('{{ limit }}', $limitAsString)
-                    ->setParameter('{{ suffix }}', $suffix)
-                    ->setCode(File::TOO_LARGE_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        }
-
-        if ($constraint->mimeTypes) {
-            if (!$value instanceof FileObject) {
-                $value = new FileObject($value);
-            }
-
-            $mimeTypes = (array) $constraint->mimeTypes;
-            $mime = $value->getMimeType();
-
-            foreach ($mimeTypes as $mimeType) {
-                if ($mimeType === $mime) {
-                    return;
-                }
-
-                if ($discrete = strstr($mimeType, '/*', true)) {
-                    if (strstr($mime, '/', true) === $discrete) {
-                        return;
-                    }
-                }
-            }
-
-            $this->buildViolation($constraint->mimeTypesMessage)
-                ->setParameter('{{ file }}', $this->formatValue($path))
-                ->setParameter('{{ type }}', $this->formatValue($mime))
-                ->setParameter('{{ types }}', $this->formatValues($mimeTypes))
-                ->setCode(File::INVALID_MIME_TYPE_ERROR)
-                ->addViolation();
-        }
-    }
-
-    private static function moreDecimalsThan($double, $numberOfDecimals)
-    {
-        return strlen((string) $double) > strlen(round($double, $numberOfDecimals));
-    }
-
-    /**
-     * Convert the limit to the smallest possible number
-     * (i.e. try "MB", then "kB", then "bytes")
-     */
-    private function factorizeSizes($size, $limit, $binaryFormat)
-    {
-        if ($binaryFormat) {
-            $coef = self::MIB_BYTES;
-            $coefFactor = self::KIB_BYTES;
-        } else {
-            $coef = self::MB_BYTES;
-            $coefFactor = self::KB_BYTES;
-        }
-
-        $limitAsString = (string) ($limit / $coef);
-
-        // Restrict the limit to 2 decimals (without rounding! we
-        // need the precise value)
-        while (self::moreDecimalsThan($limitAsString, 2)) {
-            $coef /= $coefFactor;
-            $limitAsString = (string) ($limit / $coef);
-        }
-
-        // Convert size to the same measure, but round to 2 decimals
-        $sizeAsString = (string) round($size / $coef, 2);
-
-        // If the size and limit produce the same string output
-        // (due to rounding), reduce the coefficient
-        while ($sizeAsString === $limitAsString) {
-            $coef /= $coefFactor;
-            $limitAsString = (string) ($limit / $coef);
-            $sizeAsString = (string) round($size / $coef, 2);
-        }
-
-        return array($sizeAsString, $limitAsString, self::$suffices[$coef]);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThan.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThan.php
deleted file mode 100644
index ec7fafb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThan.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class GreaterThan extends AbstractComparison
-{
-    public $message = 'This value should be greater than {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqual.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqual.php
deleted file mode 100644
index 36fdd9c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqual.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class GreaterThanOrEqual extends AbstractComparison
-{
-    public $message = 'This value should be greater than or equal to {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqualValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqualValidator.php
deleted file mode 100644
index 2363204..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqualValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values are greater than or equal to the previous (>=).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class GreaterThanOrEqualValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 >= $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanValidator.php
deleted file mode 100644
index fdcf0c1..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values are greater than the previous (>).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class GreaterThanValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 > $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequence.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequence.php
deleted file mode 100644
index 72bfb16..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequence.php
+++ /dev/null
@@ -1,196 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Exception\OutOfBoundsException;
-
-/**
- * A sequence of validation groups.
- *
- * When validating a group sequence, each group will only be validated if all
- * of the previous groups in the sequence succeeded. For example:
- *
- *     $validator->validate($address, null, new GroupSequence('Basic', 'Strict'));
- *
- * In the first step, all constraints that belong to the group "Basic" will be
- * validated. If none of the constraints fail, the validator will then validate
- * the constraints in group "Strict". This is useful, for example, if "Strict"
- * contains expensive checks that require a lot of CPU or slow, external
- * services. You usually don't want to run expensive checks if any of the cheap
- * checks fail.
- *
- * When adding metadata to a class, you can override the "Default" group of
- * that class with a group sequence:
- *
- *     /**
- *      * @GroupSequence({"Address", "Strict"})
- *      *\/
- *     class Address
- *     {
- *         // ...
- *     }
- *
- * Whenever you validate that object in the "Default" group, the group sequence
- * will be validated:
- *
- *     $validator->validate($address);
- *
- * If you want to execute the constraints of the "Default" group for a class
- * with an overridden default group, pass the class name as group name instead:
- *
- *     $validator->validate($address, null, "Address")
- *
- * @Annotation
- * @Target({"CLASS", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- *
- * Implementing \ArrayAccess, \IteratorAggregate and \Countable is @deprecated since 2.5 and will be removed in 3.0.
- */
-class GroupSequence implements \ArrayAccess, \IteratorAggregate, \Countable
-{
-    /**
-     * The groups in the sequence.
-     *
-     * @var string[]|GroupSequence[]
-     */
-    public $groups;
-
-    /**
-     * The group in which cascaded objects are validated when validating
-     * this sequence.
-     *
-     * By default, cascaded objects are validated in each of the groups of
-     * the sequence.
-     *
-     * If a class has a group sequence attached, that sequence replaces the
-     * "Default" group. When validating that class in the "Default" group, the
-     * group sequence is used instead, but still the "Default" group should be
-     * cascaded to other objects.
-     *
-     * @var string|GroupSequence
-     */
-    public $cascadedGroup;
-
-    /**
-     * Creates a new group sequence.
-     *
-     * @param string[] $groups The groups in the sequence
-     */
-    public function __construct(array $groups)
-    {
-        // Support for Doctrine annotations
-        $this->groups = isset($groups['value']) ? $groups['value'] : $groups;
-    }
-
-    /**
-     * Returns an iterator for this group.
-     *
-     * @return \Traversable The iterator
-     *
-     * @see \IteratorAggregate::getIterator()
-     *
-     * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
-     *             To be removed in Symfony 3.0.
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->groups);
-    }
-
-    /**
-     * Returns whether the given offset exists in the sequence.
-     *
-     * @param int $offset The offset
-     *
-     * @return bool Whether the offset exists
-     *
-     * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
-     *             To be removed in Symfony 3.0.
-     */
-    public function offsetExists($offset)
-    {
-        return isset($this->groups[$offset]);
-    }
-
-    /**
-     * Returns the group at the given offset.
-     *
-     * @param int $offset The offset
-     *
-     * @return string The group a the given offset
-     *
-     * @throws OutOfBoundsException If the object does not exist
-     *
-     * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
-     *             To be removed in Symfony 3.0.
-     */
-    public function offsetGet($offset)
-    {
-        if (!isset($this->groups[$offset])) {
-            throw new OutOfBoundsException(sprintf(
-                'The offset "%s" does not exist.',
-                $offset
-            ));
-        }
-
-        return $this->groups[$offset];
-    }
-
-    /**
-     * Sets the group at the given offset.
-     *
-     * @param int    $offset The offset
-     * @param string $value  The group name
-     *
-     * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
-     *             To be removed in Symfony 3.0.
-     */
-    public function offsetSet($offset, $value)
-    {
-        if (null !== $offset) {
-            $this->groups[$offset] = $value;
-
-            return;
-        }
-
-        $this->groups[] = $value;
-    }
-
-    /**
-     * Removes the group at the given offset.
-     *
-     * @param int $offset The offset
-     *
-     * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
-     *             To be removed in Symfony 3.0.
-     */
-    public function offsetUnset($offset)
-    {
-        unset($this->groups[$offset]);
-    }
-
-    /**
-     * Returns the number of groups in the sequence.
-     *
-     * @return int The number of groups
-     *
-     * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
-     *             To be removed in Symfony 3.0.
-     */
-    public function count()
-    {
-        return count($this->groups);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequenceProvider.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequenceProvider.php
deleted file mode 100644
index 3904473..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequenceProvider.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Annotation to define a group sequence provider.
- *
- * @Annotation
- * @Target({"CLASS", "ANNOTATION"})
- */
-class GroupSequenceProvider
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Iban.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Iban.php
deleted file mode 100644
index 66ce09a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Iban.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Manuel Reinhard <manu@sprain.ch>
- * @author Michael Schummel
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Iban extends Constraint
-{
-    const TOO_SHORT_ERROR = 1;
-    const INVALID_COUNTRY_CODE_ERROR = 2;
-    const INVALID_CHARACTERS_ERROR = 3;
-    const INVALID_CASE_ERROR = 4;
-    const CHECKSUM_FAILED_ERROR = 5;
-
-    protected static $errorNames = array(
-        self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR',
-        self::INVALID_COUNTRY_CODE_ERROR => 'INVALID_COUNTRY_CODE_ERROR',
-        self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR',
-        self::INVALID_CASE_ERROR => 'INVALID_CASE_ERROR',
-        self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR',
-    );
-
-    public $message = 'This is not a valid International Bank Account Number (IBAN).';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IbanValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IbanValidator.php
deleted file mode 100644
index 35995d2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IbanValidator.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Manuel Reinhard <manu@sprain.ch>
- * @author Michael Schummel
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @link http://www.michael-schummel.de/2007/10/05/iban-prufung-mit-php/
- */
-class IbanValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Iban) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Iban');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        // Remove spaces
-        $canonicalized = str_replace(' ', '', $value);
-
-        // The IBAN must have at least 4 characters...
-        if (strlen($canonicalized) < 4) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Iban::TOO_SHORT_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // ...start with a country code...
-        if (!ctype_alpha($canonicalized{0}) || !ctype_alpha($canonicalized{1})) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Iban::INVALID_COUNTRY_CODE_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // ...contain only digits and characters...
-        if (!ctype_alnum($canonicalized)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Iban::INVALID_CHARACTERS_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // ...and contain uppercase characters only
-        if ($canonicalized !== strtoupper($canonicalized)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Iban::INVALID_CASE_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // Move the first four characters to the end
-        // e.g. CH93 0076 2011 6238 5295 7
-        //   -> 0076 2011 6238 5295 7 CH93
-        $canonicalized = substr($canonicalized, 4).substr($canonicalized, 0, 4);
-
-        // Convert all remaining letters to their ordinals
-        // The result is an integer, which is too large for PHP's int
-        // data type, so we store it in a string instead.
-        // e.g. 0076 2011 6238 5295 7 CH93
-        //   -> 0076 2011 6238 5295 7 121893
-        $checkSum = $this->toBigInt($canonicalized);
-
-        // Do a modulo-97 operation on the large integer
-        // We cannot use PHP's modulo operator, so we calculate the
-        // modulo step-wisely instead
-        if (1 !== $this->bigModulo97($checkSum)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Iban::CHECKSUM_FAILED_ERROR)
-                ->addViolation();
-        }
-    }
-
-    private function toBigInt($string)
-    {
-        $chars = str_split($string);
-        $bigInt = '';
-
-        foreach ($chars as $char) {
-            // Convert uppercase characters to ordinals, starting with 10 for "A"
-            if (ctype_upper($char)) {
-                $bigInt .= (ord($char) - 55);
-
-                continue;
-            }
-
-            // Simply append digits
-            $bigInt .= $char;
-        }
-
-        return $bigInt;
-    }
-
-    private function bigModulo97($bigInt)
-    {
-        $parts = str_split($bigInt, 7);
-        $rest = 0;
-
-        foreach ($parts as $part) {
-            $rest = ($rest.$part) % 97;
-        }
-
-        return $rest;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalTo.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalTo.php
deleted file mode 100644
index 6d00286..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalTo.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class IdenticalTo extends AbstractComparison
-{
-    public $message = 'This value should be identical to {{ compared_value_type }} {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalToValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalToValidator.php
deleted file mode 100644
index a186726..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalToValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values are identical (===).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class IdenticalToValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 === $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Image.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Image.php
deleted file mode 100644
index 904ef97..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Image.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Benjamin Dulau <benjamin.dulau@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Image extends File
-{
-    // Don't reuse values used in File
-
-    const SIZE_NOT_DETECTED_ERROR = 10;
-    const TOO_WIDE_ERROR = 11;
-    const TOO_NARROW_ERROR = 12;
-    const TOO_HIGH_ERROR = 13;
-    const TOO_LOW_ERROR = 14;
-    const RATIO_TOO_BIG_ERROR = 15;
-    const RATIO_TOO_SMALL_ERROR = 16;
-    const SQUARE_NOT_ALLOWED_ERROR = 17;
-    const LANDSCAPE_NOT_ALLOWED_ERROR = 18;
-    const PORTRAIT_NOT_ALLOWED_ERROR = 19;
-
-    // Include the mapping from the base class
-
-    protected static $errorNames = array(
-        self::NOT_FOUND_ERROR => 'NOT_FOUND_ERROR',
-        self::NOT_READABLE_ERROR => 'NOT_READABLE_ERROR',
-        self::EMPTY_ERROR => 'EMPTY_ERROR',
-        self::TOO_LARGE_ERROR => 'TOO_LARGE_ERROR',
-        self::INVALID_MIME_TYPE_ERROR => 'INVALID_MIME_TYPE_ERROR',
-        self::SIZE_NOT_DETECTED_ERROR => 'SIZE_NOT_DETECTED_ERROR',
-        self::TOO_WIDE_ERROR => 'TOO_WIDE_ERROR',
-        self::TOO_NARROW_ERROR => 'TOO_NARROW_ERROR',
-        self::TOO_HIGH_ERROR => 'TOO_HIGH_ERROR',
-        self::TOO_LOW_ERROR => 'TOO_LOW_ERROR',
-        self::RATIO_TOO_BIG_ERROR => 'RATIO_TOO_BIG_ERROR',
-        self::RATIO_TOO_SMALL_ERROR => 'RATIO_TOO_SMALL_ERROR',
-        self::SQUARE_NOT_ALLOWED_ERROR => 'SQUARE_NOT_ALLOWED_ERROR',
-        self::LANDSCAPE_NOT_ALLOWED_ERROR => 'LANDSCAPE_NOT_ALLOWED_ERROR',
-        self::PORTRAIT_NOT_ALLOWED_ERROR => 'PORTRAIT_NOT_ALLOWED_ERROR',
-    );
-
-    public $mimeTypes = 'image/*';
-    public $minWidth;
-    public $maxWidth;
-    public $maxHeight;
-    public $minHeight;
-    public $maxRatio;
-    public $minRatio;
-    public $allowSquare = true;
-    public $allowLandscape = true;
-    public $allowPortrait = true;
-
-    // The constant for a wrong MIME type is taken from the parent class.
-    public $mimeTypesMessage = 'This file is not a valid image.';
-    public $sizeNotDetectedMessage = 'The size of the image could not be detected.';
-    public $maxWidthMessage = 'The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.';
-    public $minWidthMessage = 'The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.';
-    public $maxHeightMessage = 'The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.';
-    public $minHeightMessage = 'The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.';
-    public $maxRatioMessage = 'The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.';
-    public $minRatioMessage = 'The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.';
-    public $allowSquareMessage = 'The image is square ({{ width }}x{{ height }}px). Square images are not allowed.';
-    public $allowLandscapeMessage = 'The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.';
-    public $allowPortraitMessage = 'The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ImageValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ImageValidator.php
deleted file mode 100644
index e183e27..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ImageValidator.php
+++ /dev/null
@@ -1,182 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether a value is a valid image file and is valid
- * against minWidth, maxWidth, minHeight and maxHeight constraints.
- *
- * @author Benjamin Dulau <benjamin.dulau@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ImageValidator extends FileValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Image) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Image');
-        }
-
-        $violations = count($this->context->getViolations());
-
-        parent::validate($value, $constraint);
-
-        $failed = count($this->context->getViolations()) !== $violations;
-
-        if ($failed || null === $value || '' === $value) {
-            return;
-        }
-
-        if (null === $constraint->minWidth && null === $constraint->maxWidth
-            && null === $constraint->minHeight && null === $constraint->maxHeight
-            && null === $constraint->minRatio && null === $constraint->maxRatio
-            && $constraint->allowSquare && $constraint->allowLandscape && $constraint->allowPortrait) {
-            return;
-        }
-
-        $size = @getimagesize($value);
-
-        if (empty($size) || ($size[0] === 0) || ($size[1] === 0)) {
-            $this->buildViolation($constraint->sizeNotDetectedMessage)
-                ->setCode(Image::SIZE_NOT_DETECTED_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        $width = $size[0];
-        $height = $size[1];
-
-        if ($constraint->minWidth) {
-            if (!ctype_digit((string) $constraint->minWidth)) {
-                throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum width', $constraint->minWidth));
-            }
-
-            if ($width < $constraint->minWidth) {
-                $this->buildViolation($constraint->minWidthMessage)
-                    ->setParameter('{{ width }}', $width)
-                    ->setParameter('{{ min_width }}', $constraint->minWidth)
-                    ->setCode(Image::TOO_NARROW_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        }
-
-        if ($constraint->maxWidth) {
-            if (!ctype_digit((string) $constraint->maxWidth)) {
-                throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum width', $constraint->maxWidth));
-            }
-
-            if ($width > $constraint->maxWidth) {
-                $this->buildViolation($constraint->maxWidthMessage)
-                    ->setParameter('{{ width }}', $width)
-                    ->setParameter('{{ max_width }}', $constraint->maxWidth)
-                    ->setCode(Image::TOO_WIDE_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        }
-
-        if ($constraint->minHeight) {
-            if (!ctype_digit((string) $constraint->minHeight)) {
-                throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum height', $constraint->minHeight));
-            }
-
-            if ($height < $constraint->minHeight) {
-                $this->buildViolation($constraint->minHeightMessage)
-                    ->setParameter('{{ height }}', $height)
-                    ->setParameter('{{ min_height }}', $constraint->minHeight)
-                    ->setCode(Image::TOO_LOW_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        }
-
-        if ($constraint->maxHeight) {
-            if (!ctype_digit((string) $constraint->maxHeight)) {
-                throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum height', $constraint->maxHeight));
-            }
-
-            if ($height > $constraint->maxHeight) {
-                $this->buildViolation($constraint->maxHeightMessage)
-                    ->setParameter('{{ height }}', $height)
-                    ->setParameter('{{ max_height }}', $constraint->maxHeight)
-                    ->setCode(Image::TOO_HIGH_ERROR)
-                    ->addViolation();
-            }
-        }
-
-        $ratio = round($width / $height, 2);
-
-        if (null !== $constraint->minRatio) {
-            if (!is_numeric((string) $constraint->minRatio)) {
-                throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum ratio', $constraint->minRatio));
-            }
-
-            if ($ratio < $constraint->minRatio) {
-                $this->buildViolation($constraint->minRatioMessage)
-                    ->setParameter('{{ ratio }}', $ratio)
-                    ->setParameter('{{ min_ratio }}', $constraint->minRatio)
-                    ->setCode(Image::RATIO_TOO_SMALL_ERROR)
-                    ->addViolation();
-            }
-        }
-
-        if (null !== $constraint->maxRatio) {
-            if (!is_numeric((string) $constraint->maxRatio)) {
-                throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum ratio', $constraint->maxRatio));
-            }
-
-            if ($ratio > $constraint->maxRatio) {
-                $this->buildViolation($constraint->maxRatioMessage)
-                    ->setParameter('{{ ratio }}', $ratio)
-                    ->setParameter('{{ max_ratio }}', $constraint->maxRatio)
-                    ->setCode(Image::RATIO_TOO_BIG_ERROR)
-                    ->addViolation();
-            }
-        }
-
-        if (!$constraint->allowSquare && $width == $height) {
-            $this->buildViolation($constraint->allowSquareMessage)
-                ->setParameter('{{ width }}', $width)
-                ->setParameter('{{ height }}', $height)
-                ->setCode(Image::SQUARE_NOT_ALLOWED_ERROR)
-                ->addViolation();
-        }
-
-        if (!$constraint->allowLandscape && $width > $height) {
-            $this->buildViolation($constraint->allowLandscapeMessage)
-                ->setParameter('{{ width }}', $width)
-                ->setParameter('{{ height }}', $height)
-                ->setCode(Image::LANDSCAPE_NOT_ALLOWED_ERROR)
-                ->addViolation();
-        }
-
-        if (!$constraint->allowPortrait && $width < $height) {
-            $this->buildViolation($constraint->allowPortraitMessage)
-                ->setParameter('{{ width }}', $width)
-                ->setParameter('{{ height }}', $height)
-                ->setCode(Image::PORTRAIT_NOT_ALLOWED_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Ip.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Ip.php
deleted file mode 100644
index 27f0b2d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Ip.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-
-/**
- * Validates that a value is a valid IP address.
- *
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @author Joseph Bielawski <stloyd@gmail.com>
- *
- * @api
- */
-class Ip extends Constraint
-{
-    const V4 = '4';
-    const V6 = '6';
-    const ALL = 'all';
-
-    // adds FILTER_FLAG_NO_PRIV_RANGE flag (skip private ranges)
-    const V4_NO_PRIV = '4_no_priv';
-    const V6_NO_PRIV = '6_no_priv';
-    const ALL_NO_PRIV = 'all_no_priv';
-
-    // adds FILTER_FLAG_NO_RES_RANGE flag (skip reserved ranges)
-    const V4_NO_RES = '4_no_res';
-    const V6_NO_RES = '6_no_res';
-    const ALL_NO_RES = 'all_no_res';
-
-    // adds FILTER_FLAG_NO_PRIV_RANGE and FILTER_FLAG_NO_RES_RANGE flags (skip both)
-    const V4_ONLY_PUBLIC = '4_public';
-    const V6_ONLY_PUBLIC = '6_public';
-    const ALL_ONLY_PUBLIC = 'all_public';
-
-    protected static $versions = array(
-        self::V4,
-        self::V6,
-        self::ALL,
-
-        self::V4_NO_PRIV,
-        self::V6_NO_PRIV,
-        self::ALL_NO_PRIV,
-
-        self::V4_NO_RES,
-        self::V6_NO_RES,
-        self::ALL_NO_RES,
-
-        self::V4_ONLY_PUBLIC,
-        self::V6_ONLY_PUBLIC,
-        self::ALL_ONLY_PUBLIC,
-    );
-
-    public $version = self::V4;
-
-    public $message = 'This is not a valid IP address.';
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __construct($options = null)
-    {
-        parent::__construct($options);
-
-        if (!in_array($this->version, self::$versions)) {
-            throw new ConstraintDefinitionException(sprintf('The option "version" must be one of "%s"', implode('", "', self::$versions)));
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IpValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IpValidator.php
deleted file mode 100644
index 2bbe7e4..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IpValidator.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether a value is a valid IP address.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @author Joseph Bielawski <stloyd@gmail.com>
- *
- * @api
- */
-class IpValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Ip) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Ip');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        switch ($constraint->version) {
-            case Ip::V4:
-               $flag = FILTER_FLAG_IPV4;
-               break;
-
-            case Ip::V6:
-               $flag = FILTER_FLAG_IPV6;
-               break;
-
-            case Ip::V4_NO_PRIV:
-               $flag = FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE;
-               break;
-
-            case Ip::V6_NO_PRIV:
-               $flag = FILTER_FLAG_IPV6 | FILTER_FLAG_NO_PRIV_RANGE;
-               break;
-
-            case Ip::ALL_NO_PRIV:
-               $flag = FILTER_FLAG_NO_PRIV_RANGE;
-               break;
-
-            case Ip::V4_NO_RES:
-               $flag = FILTER_FLAG_IPV4 | FILTER_FLAG_NO_RES_RANGE;
-               break;
-
-            case Ip::V6_NO_RES:
-               $flag = FILTER_FLAG_IPV6 | FILTER_FLAG_NO_RES_RANGE;
-               break;
-
-            case Ip::ALL_NO_RES:
-               $flag = FILTER_FLAG_NO_RES_RANGE;
-               break;
-
-            case Ip::V4_ONLY_PUBLIC:
-               $flag = FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE;
-               break;
-
-            case Ip::V6_ONLY_PUBLIC:
-               $flag = FILTER_FLAG_IPV6 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE;
-               break;
-
-            case Ip::ALL_ONLY_PUBLIC:
-               $flag = FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE;
-               break;
-
-            default:
-                $flag = null;
-                break;
-        }
-
-        if (!filter_var($value, FILTER_VALIDATE_IP, $flag)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Isbn.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Isbn.php
deleted file mode 100644
index 67d177f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Isbn.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author The Whole Life To Learn <thewholelifetolearn@gmail.com>
- * @author Manuel Reinhard <manu@sprain.ch>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Isbn extends Constraint
-{
-    const TOO_SHORT_ERROR = 1;
-    const TOO_LONG_ERROR = 2;
-    const INVALID_CHARACTERS_ERROR = 3;
-    const CHECKSUM_FAILED_ERROR = 4;
-    const TYPE_NOT_RECOGNIZED_ERROR = 5;
-
-    protected static $errorNames = array(
-        self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR',
-        self::TOO_LONG_ERROR => 'TOO_LONG_ERROR',
-        self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR',
-        self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR',
-        self::TYPE_NOT_RECOGNIZED_ERROR => 'TYPE_NOT_RECOGNIZED_ERROR',
-    );
-
-    public $isbn10Message = 'This value is not a valid ISBN-10.';
-    public $isbn13Message = 'This value is not a valid ISBN-13.';
-    public $bothIsbnMessage = 'This value is neither a valid ISBN-10 nor a valid ISBN-13.';
-    public $type;
-    public $message;
-
-    /**
-     * @deprecated Deprecated since version 2.5, to be removed in 3.0. Use option "type" instead.
-     * @var bool
-     */
-    public $isbn10 = false;
-
-    /**
-     * @deprecated Deprecated since version 2.5, to be removed in 3.0. Use option "type" instead.
-     * @var bool
-     */
-    public $isbn13 = false;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'type';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IsbnValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IsbnValidator.php
deleted file mode 100644
index 5980857..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IsbnValidator.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether the value is a valid ISBN-10 or ISBN-13
- *
- * @author The Whole Life To Learn <thewholelifetolearn@gmail.com>
- * @author Manuel Reinhard <manu@sprain.ch>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see https://en.wikipedia.org/wiki/Isbn
- */
-class IsbnValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Isbn) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Isbn');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-        $canonical = str_replace('-', '', $value);
-
-        if (null === $constraint->type) {
-            if ($constraint->isbn10 && !$constraint->isbn13) {
-                $constraint->type = 'isbn10';
-            } elseif ($constraint->isbn13 && !$constraint->isbn10) {
-                $constraint->type = 'isbn13';
-            }
-        }
-
-        // Explicitly validate against ISBN-10
-        if ('isbn10' === $constraint->type) {
-            if (true !== ($code = $this->validateIsbn10($canonical))) {
-                $this->buildViolation($this->getMessage($constraint, $constraint->type))
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode($code)
-                    ->addViolation();
-            }
-
-            return;
-        }
-
-        // Explicitly validate against ISBN-13
-        if ('isbn13' === $constraint->type) {
-            if (true !== ($code = $this->validateIsbn13($canonical))) {
-                $this->buildViolation($this->getMessage($constraint, $constraint->type))
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode($code)
-                    ->addViolation();
-            }
-
-            return;
-        }
-
-        // Try both ISBNs
-
-        // First, try ISBN-10
-        $code = $this->validateIsbn10($canonical);
-
-        // The ISBN can only be an ISBN-13 if the value was too long for ISBN-10
-        if (Isbn::TOO_LONG_ERROR === $code) {
-            // Try ISBN-13 now
-            $code = $this->validateIsbn13($canonical);
-
-            // If too short, this means we have 11 or 12 digits
-            if (Isbn::TOO_SHORT_ERROR === $code) {
-                $code = Isbn::TYPE_NOT_RECOGNIZED_ERROR;
-            }
-        }
-
-        if (true !== $code) {
-            $this->buildViolation($this->getMessage($constraint))
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode($code)
-                ->addViolation();
-        }
-    }
-
-    protected function validateIsbn10($isbn)
-    {
-        // Choose an algorithm so that ERROR_INVALID_CHARACTERS is preferred
-        // over ERROR_TOO_SHORT/ERROR_TOO_LONG
-        // Otherwise "0-45122-5244" passes, but "0-45122_5244" reports
-        // "too long"
-
-        // Error priority:
-        // 1. ERROR_INVALID_CHARACTERS
-        // 2. ERROR_TOO_SHORT/ERROR_TOO_LONG
-        // 3. ERROR_CHECKSUM_FAILED
-
-        $checkSum = 0;
-
-        for ($i = 0; $i < 10; ++$i) {
-            // If we test the length before the loop, we get an ERROR_TOO_SHORT
-            // when actually an ERROR_INVALID_CHARACTERS is wanted, e.g. for
-            // "0-45122_5244" (typo)
-            if (!isset($isbn{$i})) {
-                return Isbn::TOO_SHORT_ERROR;
-            }
-
-            if ('X' === $isbn{$i}) {
-                $digit = 10;
-            } elseif (ctype_digit($isbn{$i})) {
-                $digit = $isbn{$i};
-            } else {
-                return Isbn::INVALID_CHARACTERS_ERROR;
-            }
-
-            $checkSum += $digit * (10 - $i);
-        }
-
-        if (isset($isbn{$i})) {
-            return Isbn::TOO_LONG_ERROR;
-        }
-
-        return 0 === $checkSum % 11 ? true : Isbn::CHECKSUM_FAILED_ERROR;
-    }
-
-    protected function validateIsbn13($isbn)
-    {
-        // Error priority:
-        // 1. ERROR_INVALID_CHARACTERS
-        // 2. ERROR_TOO_SHORT/ERROR_TOO_LONG
-        // 3. ERROR_CHECKSUM_FAILED
-
-        if (!ctype_digit($isbn)) {
-            return Isbn::INVALID_CHARACTERS_ERROR;
-        }
-
-        $length = strlen($isbn);
-
-        if ($length < 13) {
-            return Isbn::TOO_SHORT_ERROR;
-        }
-
-        if ($length > 13) {
-            return Isbn::TOO_LONG_ERROR;
-        }
-
-        $checkSum = 0;
-
-        for ($i = 0; $i < 13; $i += 2) {
-            $checkSum += $isbn{$i};
-        }
-
-        for ($i = 1; $i < 12; $i += 2) {
-            $checkSum += $isbn{$i}
-            * 3;
-        }
-
-        return 0 === $checkSum % 10 ? true : Isbn::CHECKSUM_FAILED_ERROR;
-    }
-
-    protected function getMessage($constraint, $type = null)
-    {
-        if (null !== $constraint->message) {
-            return $constraint->message;
-        } elseif ('isbn10' === $type) {
-            return $constraint->isbn10Message;
-        } elseif ('isbn13' === $type) {
-            return $constraint->isbn13Message;
-        }
-
-        return $constraint->bothIsbnMessage;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Issn.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Issn.php
deleted file mode 100644
index 39716a2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Issn.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Antonio J. García Lagar <aj@garcialagar.es>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Issn extends Constraint
-{
-    const TOO_SHORT_ERROR = 1;
-    const TOO_LONG_ERROR = 2;
-    const MISSING_HYPHEN_ERROR = 3;
-    const INVALID_CHARACTERS_ERROR = 4;
-    const INVALID_CASE_ERROR = 5;
-    const CHECKSUM_FAILED_ERROR = 6;
-
-    protected static $errorNames = array(
-        self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR',
-        self::TOO_LONG_ERROR => 'TOO_LONG_ERROR',
-        self::MISSING_HYPHEN_ERROR => 'MISSING_HYPHEN_ERROR',
-        self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR',
-        self::INVALID_CASE_ERROR => 'INVALID_CASE_ERROR',
-        self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR',
-    );
-
-    public $message = 'This value is not a valid ISSN.';
-    public $caseSensitive = false;
-    public $requireHyphen = false;
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IssnValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IssnValidator.php
deleted file mode 100644
index 1f17c38..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IssnValidator.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether the value is a valid ISSN.
- *
- * @author Antonio J. García Lagar <aj@garcialagar.es>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see https://en.wikipedia.org/wiki/Issn
- */
-class IssnValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Issn) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Issn');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-        $canonical = $value;
-
-        // 1234-567X
-        //     ^
-        if (isset($canonical{4}) && '-' === $canonical{4}) {
-            // remove hyphen
-            $canonical = substr($canonical, 0, 4).substr($canonical, 5);
-        } elseif ($constraint->requireHyphen) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Issn::MISSING_HYPHEN_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        $length = strlen($canonical);
-
-        if ($length < 8) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Issn::TOO_SHORT_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if ($length > 8) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Issn::TOO_LONG_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // 1234567X
-        // ^^^^^^^ digits only
-        if (!ctype_digit(substr($canonical, 0, 7))) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Issn::INVALID_CHARACTERS_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // 1234567X
-        //        ^ digit, x or X
-        if (!ctype_digit($canonical{7}) && 'x' !== $canonical{7} && 'X' !== $canonical{7}) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Issn::INVALID_CHARACTERS_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // 1234567X
-        //        ^ case-sensitive?
-        if ($constraint->caseSensitive && 'x' === $canonical{7}) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Issn::INVALID_CASE_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        // Calculate a checksum. "X" equals 10.
-        $checkSum = 'X' === $canonical{7} || 'x' === $canonical{7}
-            ? 10
-            : $canonical{7};
-
-        for ($i = 0; $i < 7; ++$i) {
-            // Multiply the first digit by 8, the second by 7, etc.
-            $checkSum += (8 - $i) * $canonical{$i};
-        }
-
-        if (0 !== $checkSum % 11) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Issn::CHECKSUM_FAILED_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Language.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Language.php
deleted file mode 100644
index e7c29dc..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Language.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Language extends Constraint
-{
-    public $message = 'This value is not a valid language.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LanguageValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LanguageValidator.php
deleted file mode 100644
index be7ad28..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LanguageValidator.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Intl\Intl;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether a value is a valid language code.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class LanguageValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Language) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Language');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-        $languages = Intl::getLanguageBundle()->getLanguageNames();
-
-        if (!isset($languages[$value])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Length.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Length.php
deleted file mode 100644
index 8d00480..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Length.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\MissingOptionsException;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Length extends Constraint
-{
-    const TOO_SHORT_ERROR = 1;
-    const TOO_LONG_ERROR = 2;
-
-    protected static $errorNames = array(
-        self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR',
-        self::TOO_LONG_ERROR => 'TOO_LONG_ERROR',
-    );
-
-    public $maxMessage = 'This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.';
-    public $minMessage = 'This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.';
-    public $exactMessage = 'This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.';
-    public $charsetMessage = 'This value does not match the expected {{ charset }} charset.';
-    public $max;
-    public $min;
-    public $charset = 'UTF-8';
-
-    public function __construct($options = null)
-    {
-        if (null !== $options && !is_array($options)) {
-            $options = array(
-                'min' => $options,
-                'max' => $options,
-            );
-        }
-
-        parent::__construct($options);
-
-        if (null === $this->min && null === $this->max) {
-            throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint %s', __CLASS__), array('min', 'max'));
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LengthValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LengthValidator.php
deleted file mode 100644
index f822047..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LengthValidator.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class LengthValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Length) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Length');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $stringValue = (string) $value;
-        $invalidCharset = false;
-
-        if ('UTF8' === $charset = strtoupper($constraint->charset)) {
-            $charset = 'UTF-8';
-        }
-
-        if (function_exists('iconv_strlen')) {
-            $length = @iconv_strlen($stringValue, $constraint->charset);
-            $invalidCharset = false === $length;
-        } elseif (function_exists('mb_strlen')) {
-            if (mb_check_encoding($stringValue, $constraint->charset)) {
-                $length = mb_strlen($stringValue, $constraint->charset);
-            } else {
-                $invalidCharset = true;
-            }
-        } elseif ('UTF-8' !== $charset) {
-            $length = strlen($stringValue);
-        } elseif (!preg_match('//u', $stringValue)) {
-            $invalidCharset = true;
-        } elseif (function_exists('utf8_decode')) {
-            $length = strlen(utf8_decode($stringValue));
-        } else {
-            preg_replace('/./u', '', $stringValue, -1, $length);
-        }
-
-        if ($invalidCharset) {
-            $this->buildViolation($constraint->charsetMessage)
-                ->setParameter('{{ value }}', $this->formatValue($stringValue))
-                ->setParameter('{{ charset }}', $constraint->charset)
-                ->setInvalidValue($value)
-                ->addViolation();
-
-            return;
-        }
-
-        if (null !== $constraint->max && $length > $constraint->max) {
-            $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage)
-                ->setParameter('{{ value }}', $this->formatValue($stringValue))
-                ->setParameter('{{ limit }}', $constraint->max)
-                ->setInvalidValue($value)
-                ->setPlural((int) $constraint->max)
-                ->setCode(Length::TOO_LONG_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if (null !== $constraint->min && $length < $constraint->min) {
-            $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage)
-                ->setParameter('{{ value }}', $this->formatValue($stringValue))
-                ->setParameter('{{ limit }}', $constraint->min)
-                ->setInvalidValue($value)
-                ->setPlural((int) $constraint->min)
-                ->setCode(Length::TOO_SHORT_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThan.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThan.php
deleted file mode 100644
index b116320..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThan.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class LessThan extends AbstractComparison
-{
-    public $message = 'This value should be less than {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqual.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqual.php
deleted file mode 100644
index 7faca84..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqual.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class LessThanOrEqual extends AbstractComparison
-{
-    public $message = 'This value should be less than or equal to {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqualValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqualValidator.php
deleted file mode 100644
index dcc93b2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqualValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values are less than or equal to the previous (<=).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class LessThanOrEqualValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 <= $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanValidator.php
deleted file mode 100644
index 081316a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values are less than the previous (<).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class LessThanValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 < $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Locale.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Locale.php
deleted file mode 100644
index 12a5546..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Locale.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Locale extends Constraint
-{
-    public $message = 'This value is not a valid locale.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LocaleValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LocaleValidator.php
deleted file mode 100644
index 748e5cf..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LocaleValidator.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Intl\Intl;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether a value is a valid locale code.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class LocaleValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Locale) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Locale');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-        $locales = Intl::getLocaleBundle()->getLocaleNames();
-
-        if (!isset($locales[$value])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Luhn.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Luhn.php
deleted file mode 100644
index 24f5bc7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Luhn.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * Metadata for the LuhnValidator.
- *
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Tim Nagel <t.nagel@infinite.net.au>
- * @author Greg Knapp http://gregk.me/2011/php-implementation-of-bank-card-luhn-algorithm/
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Luhn extends Constraint
-{
-    const INVALID_CHARACTERS_ERROR = 1;
-    const CHECKSUM_FAILED_ERROR = 2;
-
-    protected static $errorNames = array(
-        self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR',
-        self::CHECKSUM_FAILED_ERROR => 'CHECKSUM_FAILED_ERROR',
-    );
-
-    public $message = 'Invalid card number.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LuhnValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LuhnValidator.php
deleted file mode 100644
index d58bfbf..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LuhnValidator.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates a PAN using the LUHN Algorithm.
- *
- * For a list of example card numbers that are used to test this
- * class, please see the LuhnValidatorTest class.
- *
- * @see    http://en.wikipedia.org/wiki/Luhn_algorithm
- *
- * @author Tim Nagel <t.nagel@infinite.net.au>
- * @author Greg Knapp http://gregk.me/2011/php-implementation-of-bank-card-luhn-algorithm/
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class LuhnValidator extends ConstraintValidator
-{
-    /**
-     * Validates a credit card number with the Luhn algorithm.
-     *
-     * @param mixed      $value
-     * @param Constraint $constraint
-     *
-     * @throws UnexpectedTypeException when the given credit card number is no string
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Luhn) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Luhn');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        // Work with strings only, because long numbers are represented as floats
-        // internally and don't work with strlen()
-        if (!is_string($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        if (!ctype_digit($value)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Luhn::INVALID_CHARACTERS_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        $checkSum = 0;
-        $length = strlen($value);
-
-        // Starting with the last digit and walking left, add every second
-        // digit to the check sum
-        // e.g. 7  9  9  2  7  3  9  8  7  1  3
-        //      ^     ^     ^     ^     ^     ^
-        //    = 7  +  9  +  7  +  9  +  7  +  3
-        for ($i = $length - 1; $i >= 0; $i -= 2) {
-            $checkSum += $value{$i};
-        }
-
-        // Starting with the second last digit and walking left, double every
-        // second digit and add it to the check sum
-        // For doubles greater than 9, sum the individual digits
-        // e.g. 7  9  9  2  7  3  9  8  7  1  3
-        //         ^     ^     ^     ^     ^
-        //    =    1+8 + 4  +  6  +  1+6 + 2
-        for ($i = $length - 2; $i >= 0; $i -= 2) {
-            $checkSum += array_sum(str_split($value{$i} * 2));
-        }
-
-        if (0 === $checkSum || 0 !== $checkSum % 10) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Luhn::CHECKSUM_FAILED_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlank.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlank.php
deleted file mode 100644
index c578c6d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlank.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class NotBlank extends Constraint
-{
-    public $message = 'This value should not be blank.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlankValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlankValidator.php
deleted file mode 100644
index 9deab15..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlankValidator.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class NotBlankValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof NotBlank) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\NotBlank');
-        }
-
-        if (false === $value || (empty($value) && '0' != $value)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualTo.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualTo.php
deleted file mode 100644
index abd8092..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualTo.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class NotEqualTo extends AbstractComparison
-{
-    public $message = 'This value should not be equal to {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualToValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualToValidator.php
deleted file mode 100644
index 5710a85..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualToValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values are all unequal (!=).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class NotEqualToValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 != $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalTo.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalTo.php
deleted file mode 100644
index fb4ef3f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalTo.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class NotIdenticalTo extends AbstractComparison
-{
-    public $message = 'This value should not be identical to {{ compared_value_type }} {{ compared_value }}.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalToValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalToValidator.php
deleted file mode 100644
index ed8dc1c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalToValidator.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * Validates values aren't identical (!==).
- *
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class NotIdenticalToValidator extends AbstractComparisonValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    protected function compareValues($value1, $value2)
-    {
-        return $value1 !== $value2;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNull.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNull.php
deleted file mode 100644
index 60416c7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNull.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class NotNull extends Constraint
-{
-    public $message = 'This value should not be null.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNullValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNullValidator.php
deleted file mode 100644
index a7a905a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNullValidator.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class NotNullValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof NotNull) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\NotNull');
-        }
-
-        if (null === $value) {
-            $this->context->addViolation($constraint->message);
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Null.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Null.php
deleted file mode 100644
index 3104550..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Null.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Null extends Constraint
-{
-    public $message = 'This value should be null.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NullValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NullValidator.php
deleted file mode 100644
index 1e6c3a5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NullValidator.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class NullValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Null) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Null');
-        }
-
-        if (null !== $value) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Optional.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Optional.php
deleted file mode 100644
index dab8b43..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Optional.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Optional extends Existence
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Range.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Range.php
deleted file mode 100644
index a12afff..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Range.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\MissingOptionsException;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Range extends Constraint
-{
-    const INVALID_VALUE_ERROR = 1;
-    const BEYOND_RANGE_ERROR = 2;
-    const BELOW_RANGE_ERROR = 3;
-
-    protected static $errorNames = array(
-        self::INVALID_VALUE_ERROR => 'INVALID_VALUE_ERROR',
-        self::BEYOND_RANGE_ERROR => 'BEYOND_RANGE_ERROR',
-        self::BELOW_RANGE_ERROR => 'BELOW_RANGE_ERROR',
-    );
-
-    public $minMessage = 'This value should be {{ limit }} or more.';
-    public $maxMessage = 'This value should be {{ limit }} or less.';
-    public $invalidMessage = 'This value should be a valid number.';
-    public $min;
-    public $max;
-
-    public function __construct($options = null)
-    {
-        parent::__construct($options);
-
-        if (null === $this->min && null === $this->max) {
-            throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint %s', __CLASS__), array('min', 'max'));
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RangeValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RangeValidator.php
deleted file mode 100644
index ebae112..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RangeValidator.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class RangeValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Range) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Range');
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        if (!is_numeric($value) && !$value instanceof \DateTime && !$value instanceof \DateTimeInterface) {
-            $this->buildViolation($constraint->invalidMessage)
-                ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE))
-                ->setCode(Range::INVALID_VALUE_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        $min = $constraint->min;
-        $max = $constraint->max;
-
-        // Convert strings to DateTimes if comparing another DateTime
-        // This allows to compare with any date/time value supported by
-        // the DateTime constructor:
-        // http://php.net/manual/en/datetime.formats.php
-        if ($value instanceof \DateTime || $value instanceof \DateTimeInterface) {
-            if (is_string($min)) {
-                $min = new \DateTime($min);
-            }
-
-            if (is_string($max)) {
-                $max = new \DateTime($max);
-            }
-        }
-
-        if (null !== $constraint->max && $value > $max) {
-            $this->buildViolation($constraint->maxMessage)
-                ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE))
-                ->setParameter('{{ limit }}', $this->formatValue($max, self::PRETTY_DATE))
-                ->setCode(Range::BEYOND_RANGE_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if (null !== $constraint->min && $value < $min) {
-            $this->buildViolation($constraint->minMessage)
-                ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE))
-                ->setParameter('{{ limit }}', $this->formatValue($min, self::PRETTY_DATE))
-                ->setCode(Range::BELOW_RANGE_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Regex.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Regex.php
deleted file mode 100644
index 3cdf514..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Regex.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Regex extends Constraint
-{
-    public $message = 'This value is not valid.';
-    public $pattern;
-    public $htmlPattern;
-    public $match = true;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'pattern';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequiredOptions()
-    {
-        return array('pattern');
-    }
-
-    /**
-     * Converts the htmlPattern to a suitable format for HTML5 pattern.
-     * Example: /^[a-z]+$/ would be converted to [a-z]+
-     * However, if options are specified, it cannot be converted.
-     *
-     * Pattern is also ignored if match=false since the pattern should
-     * then be reversed before application.
-     *
-     * @link http://dev.w3.org/html5/spec/single-page.html#the-pattern-attribute
-     *
-     * @return string|null
-     */
-    public function getHtmlPattern()
-    {
-        // If htmlPattern is specified, use it
-        if (null !== $this->htmlPattern) {
-            return empty($this->htmlPattern)
-                ? null
-                : $this->htmlPattern;
-        }
-
-        // Quit if delimiters not at very beginning/end (e.g. when options are passed)
-        if ($this->pattern[0] !== $this->pattern[strlen($this->pattern) - 1]) {
-            return;
-        }
-
-        $delimiter = $this->pattern[0];
-
-        // Unescape the delimiter
-        $pattern = str_replace('\\'.$delimiter, $delimiter, substr($this->pattern, 1, -1));
-
-        // If the pattern is inverted, we can simply wrap it in
-        // ((?!pattern).)*
-        if (!$this->match) {
-            return '((?!'.$pattern.').)*';
-        }
-
-        // If the pattern contains an or statement, wrap the pattern in
-        // .*(pattern).* and quit. Otherwise we'd need to parse the pattern
-        if (false !== strpos($pattern, '|')) {
-            return '.*('.$pattern.').*';
-        }
-
-        // Trim leading ^, otherwise prepend .*
-        $pattern = '^' === $pattern[0] ? substr($pattern, 1) : '.*'.$pattern;
-
-        // Trim trailing $, otherwise append .*
-        $pattern = '$' === $pattern[strlen($pattern) - 1] ? substr($pattern, 0, -1) : $pattern.'.*';
-
-        return $pattern;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RegexValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RegexValidator.php
deleted file mode 100644
index 5916e85..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RegexValidator.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether a value match or not given regexp pattern.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @author Joseph Bielawski <stloyd@gmail.com>
- *
- * @api
- */
-class RegexValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Regex) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Regex');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        if ($constraint->match xor preg_match($constraint->pattern, $value)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Required.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Required.php
deleted file mode 100644
index bd77a90..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Required.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-/**
- * @Annotation
- * @Target({"ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Required extends Existence
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Time.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Time.php
deleted file mode 100644
index 7998c6f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Time.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Time extends Constraint
-{
-    const INVALID_FORMAT_ERROR = 1;
-    const INVALID_TIME_ERROR = 2;
-
-    protected static $errorNames = array(
-        self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR',
-        self::INVALID_TIME_ERROR => 'INVALID_TIME_ERROR',
-    );
-
-    public $message = 'This value is not a valid time.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TimeValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TimeValidator.php
deleted file mode 100644
index bfecf95..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TimeValidator.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class TimeValidator extends ConstraintValidator
-{
-    const PATTERN = '/^(\d{2}):(\d{2}):(\d{2})$/';
-
-    /**
-     * Checks whether a time is valid.
-     *
-     * @param int $hour   The hour
-     * @param int $minute The minute
-     * @param int $second The second
-     *
-     * @return bool Whether the time is valid
-     *
-     * @internal
-     */
-    public static function checkTime($hour, $minute, $second)
-    {
-        return $hour >= 0 && $hour < 24 && $minute >= 0 && $minute < 60 && $second >= 0 && $second < 60;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Time) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Time');
-        }
-
-        if (null === $value || '' === $value || $value instanceof \DateTime) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        if (!preg_match(static::PATTERN, $value, $matches)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Time::INVALID_FORMAT_ERROR)
-                ->addViolation();
-
-            return;
-        }
-
-        if (!self::checkTime($matches[1], $matches[2], $matches[3])) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Time::INVALID_TIME_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Traverse.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Traverse.php
deleted file mode 100644
index 4abae6c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Traverse.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-
-/**
- * @Annotation
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Traverse extends Constraint
-{
-    public $traverse = true;
-
-    public function __construct($options = null)
-    {
-        if (is_array($options) && array_key_exists('groups', $options)) {
-            throw new ConstraintDefinitionException(sprintf(
-                'The option "groups" is not supported by the constraint %s',
-                __CLASS__
-            ));
-        }
-
-        parent::__construct($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'traverse';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTargets()
-    {
-        return self::CLASS_CONSTRAINT;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/True.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/True.php
deleted file mode 100644
index 788e36a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/True.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class True extends Constraint
-{
-    public $message = 'This value should be true.';
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TrueValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TrueValidator.php
deleted file mode 100644
index a01f5bb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TrueValidator.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class TrueValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof True) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\True');
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        if (true !== $value && 1 !== $value && '1' !== $value) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Type.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Type.php
deleted file mode 100644
index fc4cc72..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Type.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Type extends Constraint
-{
-    public $message = 'This value should be of type {{ type }}.';
-    public $type;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDefaultOption()
-    {
-        return 'type';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequiredOptions()
-    {
-        return array('type');
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TypeValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TypeValidator.php
deleted file mode 100644
index 66217d0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TypeValidator.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class TypeValidator extends ConstraintValidator
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Type) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Type');
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        $type = strtolower($constraint->type);
-        $type = $type == 'boolean' ? 'bool' : $constraint->type;
-        $isFunction = 'is_'.$type;
-        $ctypeFunction = 'ctype_'.$type;
-
-        if (function_exists($isFunction) && $isFunction($value)) {
-            return;
-        } elseif (function_exists($ctypeFunction) && $ctypeFunction($value)) {
-            return;
-        } elseif ($value instanceof $constraint->type) {
-            return;
-        }
-
-        $this->buildViolation($constraint->message)
-            ->setParameter('{{ value }}', $this->formatValue($value))
-            ->setParameter('{{ type }}', $constraint->type)
-            ->addViolation();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Url.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Url.php
deleted file mode 100644
index e867ee1..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Url.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Url extends Constraint
-{
-    public $message = 'This value is not a valid URL.';
-    public $protocols = array('http', 'https');
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UrlValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UrlValidator.php
deleted file mode 100644
index 3d18477..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UrlValidator.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class UrlValidator extends ConstraintValidator
-{
-    const PATTERN = '~^
-            (%s)://                                 # protocol
-            (([\pL\pN-]+:)?([\pL\pN-]+)@)?          # basic auth
-            (
-                ([\pL\pN\pS-\.])+(\.?([\pL]|xn\-\-[\pL\pN-]+)+\.?) # a domain name
-                    |                                              # or
-                \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}                 # a IP address
-                    |                                              # or
-                \[
-                    (?:(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-f]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,1}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,2}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,3}(?:(?:[0-9a-f]{1,4})))?::(?:(?:[0-9a-f]{1,4})):)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,4}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,5}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,6}(?:(?:[0-9a-f]{1,4})))?::))))
-                \]  # a IPv6 address
-            )
-            (:[0-9]+)?                              # a port (optional)
-            (/?|/\S+)                               # a /, nothing or a / with something
-        $~ixu';
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (!$constraint instanceof Url) {
-            throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Url');
-        }
-
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-        $pattern = sprintf(static::PATTERN, implode('|', $constraint->protocols));
-
-        if (!preg_match($pattern, $value)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Uuid.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Uuid.php
deleted file mode 100644
index 3c67a3a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Uuid.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-
-/**
- * @Annotation
- *
- * @author Colin O'Dell <colinodell@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Uuid extends Constraint
-{
-    const TOO_SHORT_ERROR = 1;
-    const TOO_LONG_ERROR = 2;
-    const INVALID_CHARACTERS_ERROR = 3;
-    const INVALID_HYPHEN_PLACEMENT_ERROR = 4;
-    const INVALID_VERSION_ERROR = 5;
-    const INVALID_VARIANT_ERROR = 6;
-
-    protected static $errorNames = array(
-        self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR',
-        self::TOO_LONG_ERROR => 'TOO_LONG_ERROR',
-        self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR',
-        self::INVALID_HYPHEN_PLACEMENT_ERROR => 'INVALID_HYPHEN_PLACEMENT_ERROR',
-        self::INVALID_VERSION_ERROR => 'INVALID_VERSION_ERROR',
-        self::INVALID_VARIANT_ERROR => 'INVALID_VARIANT_ERROR',
-    );
-
-    // Possible versions defined by RFC 4122
-    const V1_MAC = 1;
-    const V2_DCE = 2;
-    const V3_MD5 = 3;
-    const V4_RANDOM = 4;
-    const V5_SHA1 = 5;
-
-    /**
-     * Message to display when validation fails
-     *
-     * @var string
-     */
-    public $message = 'This is not a valid UUID.';
-
-    /**
-     * Strict mode only allows UUIDs that meet the formal definition and formatting per RFC 4122
-     *
-     * Set this to `false` to allow legacy formats with different dash positioning or wrapping characters
-     *
-     * @var bool
-     */
-    public $strict = true;
-
-    /**
-     * Array of allowed versions (see version constants above)
-     *
-     * All UUID versions are allowed by default
-     *
-     * @var int[]
-     */
-    public $versions = array(
-        self::V1_MAC,
-        self::V2_DCE,
-        self::V3_MD5,
-        self::V4_RANDOM,
-        self::V5_SHA1,
-    );
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UuidValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UuidValidator.php
deleted file mode 100644
index 0ae04e2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UuidValidator.php
+++ /dev/null
@@ -1,264 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Validates whether the value is a valid UUID per RFC 4122.
- *
- * @author Colin O'Dell <colinodell@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see http://tools.ietf.org/html/rfc4122
- * @see https://en.wikipedia.org/wiki/Universally_unique_identifier
- */
-class UuidValidator extends ConstraintValidator
-{
-    // The strict pattern matches UUIDs like this:
-    // xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
-
-    // Roughly speaking:
-    // x = any hexadecimal character
-    // M = any allowed version {1..5}
-    // N = any allowed variant {8, 9, a, b}
-
-    const STRICT_LENGTH = 36;
-    const STRICT_FIRST_HYPHEN_POSITION = 8;
-    const STRICT_LAST_HYPHEN_POSITION = 23;
-    const STRICT_VERSION_POSITION = 14;
-    const STRICT_VARIANT_POSITION = 19;
-
-    // The loose pattern validates similar yet non-compliant UUIDs.
-    // Hyphens are completely optional. If present, they should only appear
-    // between every fourth character:
-    // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
-    // xxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx
-    // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
-    // The value can also be wrapped with characters like []{}:
-    // {xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx}
-
-    // Neither the version nor the variant is validated by this pattern.
-
-    const LOOSE_MAX_LENGTH = 39;
-    const LOOSE_FIRST_HYPHEN_POSITION = 4;
-
-    /**
-     * @deprecated Deprecated since Symfony 2.6, to be removed in 3.0
-     */
-    const STRICT_PATTERN = '/^[a-f0-9]{8}-[a-f0-9]{4}-[%s][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/i';
-
-    /**
-     * @deprecated Deprecated since Symfony 2.6, to be removed in 3.0
-     */
-    const LOOSE_PATTERN = '/^[a-f0-9]{4}(?:-?[a-f0-9]{4}){7}$/i';
-
-    /**
-     * @deprecated Deprecated since Symfony 2.6, to be removed in 3.0
-     */
-    const STRICT_UUID_LENGTH = self::STRICT_LENGTH;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, Constraint $constraint)
-    {
-        if (null === $value || '' === $value) {
-            return;
-        }
-
-        if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) {
-            throw new UnexpectedTypeException($value, 'string');
-        }
-
-        $value = (string) $value;
-
-        if ($constraint->strict) {
-            $this->validateStrict($value, $constraint);
-
-            return;
-        }
-
-        $this->validateLoose($value, $constraint);
-    }
-
-    private function validateLoose($value, Uuid $constraint)
-    {
-        // Error priority:
-        // 1. ERROR_INVALID_CHARACTERS
-        // 2. ERROR_INVALID_HYPHEN_PLACEMENT
-        // 3. ERROR_TOO_SHORT/ERROR_TOO_LONG
-
-        // Trim any wrapping characters like [] or {} used by some legacy systems
-        $trimmed = trim($value, '[]{}');
-
-        // Position of the next expected hyphen
-        $h = self::LOOSE_FIRST_HYPHEN_POSITION;
-
-        // Expected length
-        $l = self::LOOSE_MAX_LENGTH;
-
-        for ($i = 0; $i < $l; ++$i) {
-            // Check length
-            if (!isset($trimmed{$i})) {
-                $this->buildViolation($constraint->message)
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode(Uuid::TOO_SHORT_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-
-            // Hyphens must occur every fifth position
-            // xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
-            //     ^    ^    ^    ^    ^    ^    ^
-            if ('-' === $trimmed{$i}) {
-                if ($i !== $h) {
-                    $this->buildViolation($constraint->message)
-                        ->setParameter('{{ value }}', $this->formatValue($value))
-                        ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR)
-                        ->addViolation();
-
-                    return;
-                }
-
-                $h += 5;
-
-                continue;
-            }
-
-            // Missing hyphens are ignored
-            if ($i === $h) {
-                $h += 4;
-                --$l;
-            }
-
-            // Check characters
-            if (!ctype_xdigit($trimmed{$i})) {
-                $this->buildViolation($constraint->message)
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode(Uuid::INVALID_CHARACTERS_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        }
-
-        // Check length again
-        if (isset($trimmed{$i})) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Uuid::TOO_LONG_ERROR)
-                ->addViolation();
-        }
-    }
-
-    private function validateStrict($value, Uuid $constraint)
-    {
-        // Error priority:
-        // 1. ERROR_INVALID_CHARACTERS
-        // 2. ERROR_INVALID_HYPHEN_PLACEMENT
-        // 3. ERROR_TOO_SHORT/ERROR_TOO_LONG
-        // 4. ERROR_INVALID_VERSION
-        // 5. ERROR_INVALID_VARIANT
-
-        // Position of the next expected hyphen
-        $h = self::STRICT_FIRST_HYPHEN_POSITION;
-
-        for ($i = 0; $i < self::STRICT_LENGTH; ++$i) {
-            // Check length
-            if (!isset($value{$i})) {
-                $this->buildViolation($constraint->message)
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode(Uuid::TOO_SHORT_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-
-            // Check hyphen placement
-            // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-            //         ^    ^    ^    ^
-            if ('-' === $value{$i}) {
-                if ($i !== $h) {
-                    $this->buildViolation($constraint->message)
-                         ->setParameter(
-                             '{{ value }}',
-                             $this->formatValue($value)
-                         )
-                         ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR)
-                         ->addViolation();
-
-                    return;
-                }
-
-                // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-                //                        ^
-                if ($h < self::STRICT_LAST_HYPHEN_POSITION) {
-                    $h += 5;
-                }
-
-                continue;
-            }
-
-            // Check characters
-            if (!ctype_xdigit($value{$i})) {
-                $this->buildViolation($constraint->message)
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode(Uuid::INVALID_CHARACTERS_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-
-            // Missing hyphen
-            if ($i === $h) {
-                $this->buildViolation($constraint->message)
-                    ->setParameter('{{ value }}', $this->formatValue($value))
-                    ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR)
-                    ->addViolation();
-
-                return;
-            }
-        }
-
-        // Check length again
-        if (isset($value{$i})) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Uuid::TOO_LONG_ERROR)
-                ->addViolation();
-        }
-
-        // Check version
-        if (!in_array($value{self::STRICT_VERSION_POSITION}, $constraint->versions)) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Uuid::INVALID_VERSION_ERROR)
-                ->addViolation();
-        }
-
-        // Check variant - first two bits must equal "10"
-        //   0b10xx
-        // & 0b1100 (12)
-        // = 0b1000 (8)
-        if ((hexdec($value{self::STRICT_VARIANT_POSITION}) & 12) !== 8) {
-            $this->buildViolation($constraint->message)
-                ->setParameter('{{ value }}', $this->formatValue($value))
-                ->setCode(Uuid::INVALID_VARIANT_ERROR)
-                ->addViolation();
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Valid.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Valid.php
deleted file mode 100644
index b0f518b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Valid.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-
-/**
- * @Annotation
- * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class Valid extends Constraint
-{
-    public $traverse = true;
-
-    /**
-     * @deprecated Deprecated as of version 2.5, to be removed in Symfony 3.0.
-     */
-    public $deep = true;
-
-    public function __construct($options = null)
-    {
-        if (is_array($options) && array_key_exists('groups', $options)) {
-            throw new ConstraintDefinitionException(sprintf(
-                'The option "groups" is not supported by the constraint %s',
-                __CLASS__
-            ));
-        }
-
-        parent::__construct($options);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php
deleted file mode 100644
index f329615..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php
+++ /dev/null
@@ -1,404 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Context;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\ClassBasedInterface;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintViolation;
-use Symfony\Component\Validator\ConstraintViolationList;
-use Symfony\Component\Validator\Exception\BadMethodCallException;
-use Symfony\Component\Validator\Mapping\MetadataInterface;
-use Symfony\Component\Validator\Mapping\PropertyMetadataInterface;
-use Symfony\Component\Validator\Util\PropertyPath;
-use Symfony\Component\Validator\Validator\ValidatorInterface;
-use Symfony\Component\Validator\Violation\ConstraintViolationBuilder;
-
-/**
- * The context used and created by {@link ExecutionContextFactory}.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see ExecutionContextInterface
- *
- * @internal You should not instantiate or use this class. Code against
- *           {@link ExecutionContextInterface} instead.
- */
-class ExecutionContext implements ExecutionContextInterface
-{
-    /**
-     * @var ValidatorInterface
-     */
-    private $validator;
-
-    /**
-     * The root value of the validated object graph.
-     *
-     * @var mixed
-     */
-    private $root;
-
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * @var string
-     */
-    private $translationDomain;
-
-    /**
-     * The violations generated in the current context.
-     *
-     * @var ConstraintViolationList
-     */
-    private $violations;
-
-    /**
-     * The currently validated value.
-     *
-     * @var mixed
-     */
-    private $value;
-
-    /**
-     * The currently validated object.
-     *
-     * @var object|null
-     */
-    private $object;
-
-    /**
-     * The property path leading to the current value.
-     *
-     * @var string
-     */
-    private $propertyPath = '';
-
-    /**
-     * The current validation metadata.
-     *
-     * @var MetadataInterface|null
-     */
-    private $metadata;
-
-    /**
-     * The currently validated group.
-     *
-     * @var string|null
-     */
-    private $group;
-
-    /**
-     * The currently validated constraint.
-     *
-     * @var Constraint|null
-     */
-    private $constraint;
-
-    /**
-     * Stores which objects have been validated in which group.
-     *
-     * @var array
-     */
-    private $validatedObjects = array();
-
-    /**
-     * Stores which class constraint has been validated for which object.
-     *
-     * @var array
-     */
-    private $validatedConstraints = array();
-
-    /**
-     * Stores which objects have been initialized.
-     *
-     * @var array
-     */
-    private $initializedObjects;
-
-    /**
-     * Creates a new execution context.
-     *
-     * @param ValidatorInterface  $validator         The validator
-     * @param mixed               $root              The root value of the
-     *                                               validated object graph
-     * @param TranslatorInterface $translator        The translator
-     * @param string|null         $translationDomain The translation domain to
-     *                                               use for translating
-     *                                               violation messages
-     *
-     * @internal Called by {@link ExecutionContextFactory}. Should not be used
-     *           in user code.
-     */
-    public function __construct(ValidatorInterface $validator, $root, TranslatorInterface $translator, $translationDomain = null)
-    {
-        $this->validator = $validator;
-        $this->root = $root;
-        $this->translator = $translator;
-        $this->translationDomain = $translationDomain;
-        $this->violations = new ConstraintViolationList();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setNode($value, $object, MetadataInterface $metadata = null, $propertyPath)
-    {
-        $this->value = $value;
-        $this->object = $object;
-        $this->metadata = $metadata;
-        $this->propertyPath = (string) $propertyPath;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setGroup($group)
-    {
-        $this->group = $group;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setConstraint(Constraint $constraint)
-    {
-        $this->constraint = $constraint;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolation($message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null)
-    {
-        // The parameters $invalidValue and following are ignored by the new
-        // API, as they are not present in the new interface anymore.
-        // You should use buildViolation() instead.
-        if (func_num_args() > 2) {
-            throw new BadMethodCallException(
-                'The parameters $invalidValue, $pluralization and $code are '.
-                'not supported anymore as of Symfony 2.5. Please use '.
-                'buildViolation() instead or enable the legacy mode.'
-            );
-        }
-
-        $this->violations->add(new ConstraintViolation(
-            $this->translator->trans($message, $parameters, $this->translationDomain),
-            $message,
-            $parameters,
-            $this->root,
-            $this->propertyPath,
-            $this->value,
-            null,
-            null,
-            $this->constraint
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function buildViolation($message, array $parameters = array())
-    {
-        return new ConstraintViolationBuilder(
-            $this->violations,
-            $this->constraint,
-            $message,
-            $parameters,
-            $this->root,
-            $this->propertyPath,
-            $this->value,
-            $this->translator,
-            $this->translationDomain
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getViolations()
-    {
-        return $this->violations;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValidator()
-    {
-        return $this->validator;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRoot()
-    {
-        return $this->root;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getObject()
-    {
-        return $this->object;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadata()
-    {
-        return $this->metadata;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getGroup()
-    {
-        return $this->group;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getClassName()
-    {
-        return $this->metadata instanceof ClassBasedInterface ? $this->metadata->getClassName() : null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyName()
-    {
-        return $this->metadata instanceof PropertyMetadataInterface ? $this->metadata->getPropertyName() : null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyPath($subPath = '')
-    {
-        return PropertyPath::append($this->propertyPath, $subPath);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolationAt($subPath, $message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null)
-    {
-        throw new BadMethodCallException(
-            'addViolationAt() is not supported anymore as of Symfony 2.5. '.
-            'Please use buildViolation() instead or enable the legacy mode.'
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false)
-    {
-        throw new BadMethodCallException(
-            'validate() is not supported anymore as of Symfony 2.5. '.
-            'Please use getValidator() instead or enable the legacy mode.'
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validateValue($value, $constraints, $subPath = '', $groups = null)
-    {
-        throw new BadMethodCallException(
-            'validateValue() is not supported anymore as of Symfony 2.5. '.
-            'Please use getValidator() instead or enable the legacy mode.'
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFactory()
-    {
-        throw new BadMethodCallException(
-            'getMetadataFactory() is not supported anymore as of Symfony 2.5. '.
-            'Please use getValidator() in combination with getMetadataFor() '.
-            'or hasMetadataFor() instead or enable the legacy mode.'
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function markGroupAsValidated($cacheKey, $groupHash)
-    {
-        if (!isset($this->validatedObjects[$cacheKey])) {
-            $this->validatedObjects[$cacheKey] = array();
-        }
-
-        $this->validatedObjects[$cacheKey][$groupHash] = true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isGroupValidated($cacheKey, $groupHash)
-    {
-        return isset($this->validatedObjects[$cacheKey][$groupHash]);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function markConstraintAsValidated($cacheKey, $constraintHash)
-    {
-        $this->validatedConstraints[$cacheKey.':'.$constraintHash] = true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isConstraintValidated($cacheKey, $constraintHash)
-    {
-        return isset($this->validatedConstraints[$cacheKey.':'.$constraintHash]);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function markObjectAsInitialized($cacheKey)
-    {
-        $this->initializedObjects[$cacheKey] = true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isObjectInitialized($cacheKey)
-    {
-        return isset($this->initializedObjects[$cacheKey]);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactory.php
deleted file mode 100644
index d94a806..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactory.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Context;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Validator\ValidatorInterface;
-
-/**
- * Creates new {@link ExecutionContext} instances.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @internal You should not instantiate or use this class. Code against
- *           {@link ExecutionContextFactoryInterface} instead.
- */
-class ExecutionContextFactory implements ExecutionContextFactoryInterface
-{
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * @var string|null
-     */
-    private $translationDomain;
-
-    /**
-     * Creates a new context factory.
-     *
-     * @param TranslatorInterface $translator        The translator
-     * @param string|null         $translationDomain The translation domain to
-     *                                               use for translating
-     *                                               violation messages
-     */
-    public function __construct(TranslatorInterface $translator, $translationDomain = null)
-    {
-        $this->translator = $translator;
-        $this->translationDomain = $translationDomain;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function createContext(ValidatorInterface $validator, $root)
-    {
-        return new ExecutionContext(
-            $validator,
-            $root,
-            $this->translator,
-            $this->translationDomain
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactoryInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactoryInterface.php
deleted file mode 100644
index f0ee001..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactoryInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Context;
-
-use Symfony\Component\Validator\Validator\ValidatorInterface;
-
-/**
- * Creates instances of {@link ExecutionContextInterface}.
- *
- * You can use a custom factory if you want to customize the execution context
- * that is passed through the validation run.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface ExecutionContextFactoryInterface
-{
-    /**
-     * Creates a new execution context.
-     *
-     * @param ValidatorInterface $validator The validator
-     * @param mixed              $root      The root value of the validated
-     *                                      object graph
-     *
-     * @return ExecutionContextInterface The new execution context
-     */
-    public function createContext(ValidatorInterface $validator, $root);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextInterface.php
deleted file mode 100644
index 4865204..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextInterface.php
+++ /dev/null
@@ -1,226 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Context;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ExecutionContextInterface as LegacyExecutionContextInterface;
-use Symfony\Component\Validator\Mapping\MetadataInterface;
-use Symfony\Component\Validator\Validator\ValidatorInterface;
-use Symfony\Component\Validator\Violation\ConstraintViolationBuilderInterface;
-
-/**
- * The context of a validation run.
- *
- * The context collects all violations generated during the validation. By
- * default, validators execute all validations in a new context:
- *
- *     $violations = $validator->validate($object);
- *
- * When you make another call to the validator, while the validation is in
- * progress, the violations will be isolated from each other:
- *
- *     public function validate($value, Constraint $constraint)
- *     {
- *         $validator = $this->context->getValidator();
- *
- *         // The violations are not added to $this->context
- *         $violations = $validator->validate($value);
- *     }
- *
- * However, if you want to add the violations to the current context, use the
- * {@link ValidatorInterface::inContext()} method:
- *
- *     public function validate($value, Constraint $constraint)
- *     {
- *         $validator = $this->context->getValidator();
- *
- *         // The violations are added to $this->context
- *         $validator
- *             ->inContext($this->context)
- *             ->validate($value)
- *         ;
- *     }
- *
- * Additionally, the context provides information about the current state of
- * the validator, such as the currently validated class, the name of the
- * currently validated property and more. These values change over time, so you
- * cannot store a context and expect that the methods still return the same
- * results later on.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface ExecutionContextInterface extends LegacyExecutionContextInterface
-{
-    /**
-     * Returns a builder for adding a violation with extended information.
-     *
-     * Call {@link ConstraintViolationBuilderInterface::addViolation()} to
-     * add the violation when you're done with the configuration:
-     *
-     *     $context->buildViolation('Please enter a number between %min% and %max%.')
-     *         ->setParameter('%min%', 3)
-     *         ->setParameter('%max%', 10)
-     *         ->setTranslationDomain('number_validation')
-     *         ->addViolation();
-     *
-     * @param string $message    The error message
-     * @param array  $parameters The parameters substituted in the error message
-     *
-     * @return ConstraintViolationBuilderInterface The violation builder
-     */
-    public function buildViolation($message, array $parameters = array());
-
-    /**
-     * Returns the validator.
-     *
-     * Useful if you want to validate additional constraints:
-     *
-     *     public function validate($value, Constraint $constraint)
-     *     {
-     *         $validator = $this->context->getValidator();
-     *
-     *         $violations = $validator->validateValue($value, new Length(array('min' => 3)));
-     *
-     *         if (count($violations) > 0) {
-     *             // ...
-     *         }
-     *     }
-     *
-     * @return ValidatorInterface
-     */
-    public function getValidator();
-
-    /**
-     * Returns the currently validated object.
-     *
-     * If the validator is currently validating a class constraint, the
-     * object of that class is returned. If it is a validating a property or
-     * getter constraint, the object that the property/getter belongs to is
-     * returned.
-     *
-     * In other cases, null is returned.
-     *
-     * @return object|null The currently validated object or null.
-     */
-    public function getObject();
-
-    /**
-     * Sets the currently validated value.
-     *
-     * @param mixed                  $value        The validated value
-     * @param object|null            $object       The currently validated object
-     * @param MetadataInterface|null $metadata     The validation metadata
-     * @param string                 $propertyPath The property path to the current value
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     */
-    public function setNode($value, $object, MetadataInterface $metadata = null, $propertyPath);
-
-    /**
-     * Sets the currently validated group.
-     *
-     * @param string|null $group The validated group
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     */
-    public function setGroup($group);
-
-    /**
-     * Sets the currently validated constraint.
-     *
-     * @param Constraint $constraint The validated constraint
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     */
-    public function setConstraint(Constraint $constraint);
-
-    /**
-     * Marks an object as validated in a specific validation group.
-     *
-     * @param string $cacheKey  The hash of the object
-     * @param string $groupHash The group's name or hash, if it is group
-     *                          sequence
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     */
-    public function markGroupAsValidated($cacheKey, $groupHash);
-
-    /**
-     * Returns whether an object was validated in a specific validation group.
-     *
-     * @param string $cacheKey  The hash of the object
-     * @param string $groupHash The group's name or hash, if it is group
-     *                          sequence
-     *
-     * @return bool Whether the object was already validated for that
-     *              group
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     */
-    public function isGroupValidated($cacheKey, $groupHash);
-
-    /**
-     * Marks a constraint as validated for an object.
-     *
-     * @param string $cacheKey       The hash of the object
-     * @param string $constraintHash The hash of the constraint
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     */
-    public function markConstraintAsValidated($cacheKey, $constraintHash);
-
-    /**
-     * Returns whether a constraint was validated for an object.
-     *
-     * @param string $cacheKey       The hash of the object
-     * @param string $constraintHash The hash of the constraint
-     *
-     * @return bool Whether the constraint was already validated
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     */
-    public function isConstraintValidated($cacheKey, $constraintHash);
-
-    /**
-     * Marks that an object was initialized.
-     *
-     * @param string $cacheKey The hash of the object
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     *
-     * @see ObjectInitializerInterface
-     */
-    public function markObjectAsInitialized($cacheKey);
-
-    /**
-     * Returns whether an object was initialized.
-     *
-     * @param string $cacheKey The hash of the object
-     *
-     * @return bool Whether the object was already initialized
-     *
-     * @internal Used by the validator engine. Should not be called by user
-     *           code.
-     *
-     * @see ObjectInitializerInterface
-     */
-    public function isObjectInitialized($cacheKey);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContext.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContext.php
deleted file mode 100644
index de34b1f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContext.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Context;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Validator\ValidatorInterface;
-
-/**
- * An execution context that is compatible with the legacy API (< 2.5).
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
- *             To be removed in Symfony 3.0.
- */
-class LegacyExecutionContext extends ExecutionContext
-{
-    /**
-     * @var MetadataFactoryInterface
-     */
-    private $metadataFactory;
-
-    /**
-     * Creates a new context.
-     *
-     * @see ExecutionContext::__construct()
-     *
-     * @internal Called by {@link LegacyExecutionContextFactory}. Should not be used
-     *           in user code.
-     */
-    public function __construct(ValidatorInterface $validator, $root, MetadataFactoryInterface $metadataFactory, TranslatorInterface $translator, $translationDomain = null)
-    {
-        parent::__construct(
-            $validator,
-            $root,
-            $translator,
-            $translationDomain
-        );
-
-        $this->metadataFactory = $metadataFactory;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolation($message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null)
-    {
-        if (func_num_args() > 2) {
-            $this
-                ->buildViolation($message, $parameters)
-                ->setInvalidValue($invalidValue)
-                ->setPlural($plural)
-                ->setCode($code)
-                ->addViolation()
-            ;
-
-            return;
-        }
-
-        parent::addViolation($message, $parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolationAt($subPath, $message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null)
-    {
-        if (func_num_args() > 2) {
-            $this
-                ->buildViolation($message, $parameters)
-                ->atPath($subPath)
-                ->setInvalidValue($invalidValue)
-                ->setPlural($plural)
-                ->setCode($code)
-                ->addViolation()
-            ;
-
-            return;
-        }
-
-        $this
-            ->buildViolation($message, $parameters)
-            ->atPath($subPath)
-            ->addViolation()
-        ;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false)
-    {
-        if (is_array($value)) {
-            // The $traverse flag is ignored for arrays
-            $constraint = new Valid(array('traverse' => true, 'deep' => $deep));
-
-            return $this
-                ->getValidator()
-                ->inContext($this)
-                ->atPath($subPath)
-                ->validate($value, $constraint, $groups)
-            ;
-        }
-
-        if ($traverse && $value instanceof \Traversable) {
-            $constraint = new Valid(array('traverse' => true, 'deep' => $deep));
-
-            return $this
-                ->getValidator()
-                ->inContext($this)
-                ->atPath($subPath)
-                ->validate($value, $constraint, $groups)
-            ;
-        }
-
-        return $this
-            ->getValidator()
-            ->inContext($this)
-            ->atPath($subPath)
-            ->validate($value, null, $groups)
-        ;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validateValue($value, $constraints, $subPath = '', $groups = null)
-    {
-        return $this
-            ->getValidator()
-            ->inContext($this)
-            ->atPath($subPath)
-            ->validate($value, $constraints, $groups)
-        ;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFactory()
-    {
-        return $this->metadataFactory;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContextFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContextFactory.php
deleted file mode 100644
index cf5cd07..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContextFactory.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Context;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Validator\ValidatorInterface;
-
-/**
- * Creates new {@link LegacyExecutionContext} instances.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
- *             To be removed in Symfony 3.0.
- */
-class LegacyExecutionContextFactory implements ExecutionContextFactoryInterface
-{
-    /**
-     * @var MetadataFactoryInterface
-     */
-    private $metadataFactory;
-
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * @var string|null
-     */
-    private $translationDomain;
-
-    /**
-     * Creates a new context factory.
-     *
-     * @param MetadataFactoryInterface $metadataFactory   The metadata factory
-     * @param TranslatorInterface      $translator        The translator
-     * @param string|null              $translationDomain The translation domain
-     *                                                    to use for translating
-     *                                                    violation messages
-     */
-    public function __construct(MetadataFactoryInterface $metadataFactory, TranslatorInterface $translator, $translationDomain = null)
-    {
-        $this->metadataFactory = $metadataFactory;
-        $this->translator = $translator;
-        $this->translationDomain = $translationDomain;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function createContext(ValidatorInterface $validator, $root)
-    {
-        return new LegacyExecutionContext(
-            $validator,
-            $root,
-            $this->metadataFactory,
-            $this->translator,
-            $this->translationDomain
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/DefaultTranslator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/DefaultTranslator.php
deleted file mode 100644
index 63fa09e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/DefaultTranslator.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Exception\BadMethodCallException;
-use Symfony\Component\Validator\Exception\InvalidArgumentException;
-
-/**
- * Simple translator implementation that simply replaces the parameters in
- * the message IDs.
- *
- * Example usage:
- *
- *     $translator = new DefaultTranslator();
- *
- *     echo $translator->trans(
- *         'This is a {{ var }}.',
- *         array('{{ var }}' => 'donkey')
- *     );
- *
- *     // -> This is a donkey.
- *
- *     echo $translator->transChoice(
- *         'This is {{ count }} donkey.|These are {{ count }} donkeys.',
- *         3,
- *         array('{{ count }}' => 'three')
- *     );
- *
- *     // -> These are three donkeys.
- *
- * This translator does not support message catalogs, translation domains or
- * locales. Instead, it implements a subset of the capabilities of
- * {@link \Symfony\Component\Translation\Translator} and can be used in places
- * where translation is not required by default but should be optional.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class DefaultTranslator implements TranslatorInterface
-{
-    /**
-     * Interpolates the given message.
-     *
-     * Parameters are replaced in the message in the same manner that
-     * {@link strtr()} uses.
-     *
-     * Example usage:
-     *
-     *     $translator = new DefaultTranslator();
-     *
-     *     echo $translator->trans(
-     *         'This is a {{ var }}.',
-     *         array('{{ var }}' => 'donkey')
-     *     );
-     *
-     *     // -> This is a donkey.
-     *
-     * @param string $id         The message id
-     * @param array  $parameters An array of parameters for the message
-     * @param string $domain     Ignored
-     * @param string $locale     Ignored
-     *
-     * @return string The interpolated string
-     */
-    public function trans($id, array $parameters = array(), $domain = null, $locale = null)
-    {
-        return strtr($id, $parameters);
-    }
-
-    /**
-     * Interpolates the given choice message by choosing a variant according to a number.
-     *
-     * The variants are passed in the message ID using the format
-     * "<singular>|<plural>". "<singular>" is chosen if the passed $number is
-     * exactly 1. "<plural>" is chosen otherwise.
-     *
-     * This format is consistent with the format supported by
-     * {@link \Symfony\Component\Translation\Translator}, but it does not
-     * have the same expressiveness. While Translator supports intervals in
-     * message translations, which are needed for languages other than English,
-     * this translator does not. You should use Translator or a custom
-     * implementation of {@link \Symfony\Component\Translation\TranslatorInterface} if you need this or similar
-     * functionality.
-     *
-     * Example usage:
-     *
-     *     echo $translator->transChoice(
-     *         'This is {{ count }} donkey.|These are {{ count }} donkeys.',
-     *         0,
-     *         array('{{ count }}' => 0)
-     *     );
-     *
-     *     // -> These are 0 donkeys.
-     *
-     *     echo $translator->transChoice(
-     *         'This is {{ count }} donkey.|These are {{ count }} donkeys.',
-     *         1,
-     *         array('{{ count }}' => 1)
-     *     );
-     *
-     *     // -> This is 1 donkey.
-     *
-     *     echo $translator->transChoice(
-     *         'This is {{ count }} donkey.|These are {{ count }} donkeys.',
-     *         3,
-     *         array('{{ count }}' => 3)
-     *     );
-     *
-     *     // -> These are 3 donkeys.
-     *
-     * @param string $id         The message id
-     * @param int    $number     The number to use to find the index of the message
-     * @param array  $parameters An array of parameters for the message
-     * @param string $domain     Ignored
-     * @param string $locale     Ignored
-     *
-     * @return string The translated string
-     *
-     * @throws InvalidArgumentException If the message id does not have the format
-     *                                  "singular|plural".
-     */
-    public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null)
-    {
-        $ids = explode('|', $id);
-
-        if (1 == $number) {
-            return strtr($ids[0], $parameters);
-        }
-
-        if (!isset($ids[1])) {
-            throw new InvalidArgumentException(sprintf('The message "%s" cannot be pluralized, because it is missing a plural (e.g. "There is one apple|There are %%count%% apples").', $id));
-        }
-
-        return strtr($ids[1], $parameters);
-    }
-
-    /**
-     * Not supported.
-     *
-     * @param string $locale The locale
-     *
-     * @throws BadMethodCallException
-     */
-    public function setLocale($locale)
-    {
-        throw new BadMethodCallException('Unsupported method.');
-    }
-
-    /**
-     * Returns the locale of the translator.
-     *
-     * @return string Always returns 'en'
-     */
-    public function getLocale()
-    {
-        return 'en';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/BadMethodCallException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/BadMethodCallException.php
deleted file mode 100644
index 939161b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/BadMethodCallException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-/**
- * Base BadMethodCallException for the Validator component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ConstraintDefinitionException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ConstraintDefinitionException.php
deleted file mode 100644
index b24fdd6..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ConstraintDefinitionException.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-class ConstraintDefinitionException extends ValidatorException
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ExceptionInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ExceptionInterface.php
deleted file mode 100644
index 77d09b9..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-/**
- * Base ExceptionInterface for the Validator component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/GroupDefinitionException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/GroupDefinitionException.php
deleted file mode 100644
index ab7e91d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/GroupDefinitionException.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-class GroupDefinitionException extends ValidatorException
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidArgumentException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidArgumentException.php
deleted file mode 100644
index 22da39b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidArgumentException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-/**
- * Base InvalidArgumentException for the Validator component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidOptionsException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidOptionsException.php
deleted file mode 100644
index ce87c42..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidOptionsException.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-class InvalidOptionsException extends ValidatorException
-{
-    private $options;
-
-    public function __construct($message, array $options)
-    {
-        parent::__construct($message);
-
-        $this->options = $options;
-    }
-
-    public function getOptions()
-    {
-        return $this->options;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MappingException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MappingException.php
deleted file mode 100644
index 4c8c057..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MappingException.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-class MappingException extends ValidatorException
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MissingOptionsException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MissingOptionsException.php
deleted file mode 100644
index 07c5d9e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MissingOptionsException.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-class MissingOptionsException extends ValidatorException
-{
-    private $options;
-
-    public function __construct($message, array $options)
-    {
-        parent::__construct($message);
-
-        $this->options = $options;
-    }
-
-    public function getOptions()
-    {
-        return $this->options;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/NoSuchMetadataException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/NoSuchMetadataException.php
deleted file mode 100644
index 4cac74c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/NoSuchMetadataException.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class NoSuchMetadataException extends ValidatorException
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/OutOfBoundsException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/OutOfBoundsException.php
deleted file mode 100644
index 30906e8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/OutOfBoundsException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-/**
- * Base OutOfBoundsException for the Validator component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class OutOfBoundsException extends \OutOfBoundsException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/RuntimeException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/RuntimeException.php
deleted file mode 100644
index df4a50c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/RuntimeException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-/**
- * Base RuntimeException for the Validator component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class RuntimeException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnexpectedTypeException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnexpectedTypeException.php
deleted file mode 100644
index 49d8cc2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnexpectedTypeException.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-class UnexpectedTypeException extends ValidatorException
-{
-    public function __construct($value, $expectedType)
-    {
-        parent::__construct(sprintf('Expected argument of type "%s", "%s" given', $expectedType, is_object($value) ? get_class($value) : gettype($value)));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnsupportedMetadataException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnsupportedMetadataException.php
deleted file mode 100644
index c6ece50..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnsupportedMetadataException.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-/**
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class UnsupportedMetadataException extends InvalidArgumentException
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ValidatorException.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ValidatorException.php
deleted file mode 100644
index 28bd470..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ValidatorException.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Exception;
-
-class ValidatorException extends RuntimeException
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContext.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContext.php
deleted file mode 100644
index 31911b8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContext.php
+++ /dev/null
@@ -1,293 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Symfony\Component\Translation\TranslatorInterface;
-
-/**
- * Default implementation of {@link ExecutionContextInterface}.
- *
- * This class is immutable by design.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Context\ExecutionContext} instead.
- */
-class ExecutionContext implements ExecutionContextInterface
-{
-    /**
-     * @var GlobalExecutionContextInterface
-     */
-    private $globalContext;
-
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * @var null|string
-     */
-    private $translationDomain;
-
-    /**
-     * @var MetadataInterface
-     */
-    private $metadata;
-
-    /**
-     * @var mixed
-     */
-    private $value;
-
-    /**
-     * @var string
-     */
-    private $group;
-
-    /**
-     * @var string
-     */
-    private $propertyPath;
-
-    /**
-     * Creates a new execution context.
-     *
-     * @param GlobalExecutionContextInterface $globalContext     The global context storing node-independent state.
-     * @param TranslatorInterface             $translator        The translator for translating violation messages.
-     * @param null|string                     $translationDomain The domain of the validation messages.
-     * @param MetadataInterface               $metadata          The metadata of the validated node.
-     * @param mixed                           $value             The value of the validated node.
-     * @param string                          $group             The current validation group.
-     * @param string                          $propertyPath      The property path to the current node.
-     */
-    public function __construct(GlobalExecutionContextInterface $globalContext, TranslatorInterface $translator, $translationDomain = null, MetadataInterface $metadata = null, $value = null, $group = null, $propertyPath = '')
-    {
-        if (null === $group) {
-            $group = Constraint::DEFAULT_GROUP;
-        }
-
-        $this->globalContext = $globalContext;
-        $this->translator = $translator;
-        $this->translationDomain = $translationDomain;
-        $this->metadata = $metadata;
-        $this->value = $value;
-        $this->propertyPath = $propertyPath;
-        $this->group = $group;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolation($message, array $params = array(), $invalidValue = null, $plural = null, $code = null)
-    {
-        if (null === $plural) {
-            $translatedMessage = $this->translator->trans($message, $params, $this->translationDomain);
-        } else {
-            try {
-                $translatedMessage = $this->translator->transChoice($message, $plural, $params, $this->translationDomain);
-            } catch (\InvalidArgumentException $e) {
-                $translatedMessage = $this->translator->trans($message, $params, $this->translationDomain);
-            }
-        }
-
-        $this->globalContext->getViolations()->add(new ConstraintViolation(
-            $translatedMessage,
-            $message,
-            $params,
-            $this->globalContext->getRoot(),
-            $this->propertyPath,
-            // check using func_num_args() to allow passing null values
-            func_num_args() >= 3 ? $invalidValue : $this->value,
-            $plural,
-            $code
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolationAt($subPath, $message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null)
-    {
-        $this->globalContext->getViolations()->add(new ConstraintViolation(
-            null === $plural
-                ? $this->translator->trans($message, $parameters, $this->translationDomain)
-                : $this->translator->transChoice($message, $plural, $parameters, $this->translationDomain),
-            $message,
-            $parameters,
-            $this->globalContext->getRoot(),
-            $this->getPropertyPath($subPath),
-            // check using func_num_args() to allow passing null values
-            func_num_args() >= 4 ? $invalidValue : $this->value,
-            $plural,
-            $code
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getViolations()
-    {
-        return $this->globalContext->getViolations();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRoot()
-    {
-        return $this->globalContext->getRoot();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyPath($subPath = '')
-    {
-        if ('' != $subPath && '' !== $this->propertyPath && '[' !== $subPath[0]) {
-            return $this->propertyPath.'.'.$subPath;
-        }
-
-        return $this->propertyPath.$subPath;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getClassName()
-    {
-        if ($this->metadata instanceof ClassBasedInterface) {
-            return $this->metadata->getClassName();
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyName()
-    {
-        if ($this->metadata instanceof PropertyMetadataInterface) {
-            return $this->metadata->getPropertyName();
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getGroup()
-    {
-        return $this->group;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadata()
-    {
-        return $this->metadata;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFor($value)
-    {
-        return $this->globalContext->getMetadataFactory()->getMetadataFor($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false)
-    {
-        $propertyPath = $this->getPropertyPath($subPath);
-
-        foreach ($this->resolveGroups($groups) as $group) {
-            $this->globalContext->getVisitor()->validate($value, $group, $propertyPath, $traverse, $deep);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validateValue($value, $constraints, $subPath = '', $groups = null)
-    {
-        $constraints = is_array($constraints) ? $constraints : array($constraints);
-
-        if (null === $groups && '' === $subPath) {
-            $context = clone $this;
-            $context->value = $value;
-            $context->executeConstraintValidators($value, $constraints);
-
-            return;
-        }
-
-        $propertyPath = $this->getPropertyPath($subPath);
-
-        foreach ($this->resolveGroups($groups) as $group) {
-            $context = clone $this;
-            $context->value = $value;
-            $context->group = $group;
-            $context->propertyPath = $propertyPath;
-            $context->executeConstraintValidators($value, $constraints);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFactory()
-    {
-        return $this->globalContext->getMetadataFactory();
-    }
-
-    /**
-     * Executes the validators of the given constraints for the given value.
-     *
-     * @param mixed        $value       The value to validate.
-     * @param Constraint[] $constraints The constraints to match against.
-     */
-    private function executeConstraintValidators($value, array $constraints)
-    {
-        foreach ($constraints as $constraint) {
-            $validator = $this->globalContext->getValidatorFactory()->getInstance($constraint);
-            $validator->initialize($this);
-            $validator->validate($value, $constraint);
-        }
-    }
-
-    /**
-     * Returns an array of group names.
-     *
-     * @param null|string|string[] $groups The groups to resolve. If a single string is
-     *                                     passed, it is converted to an array. If null
-     *                                     is passed, an array containing the current
-     *                                     group of the context is returned.
-     *
-     * @return array An array of validation groups.
-     */
-    private function resolveGroups($groups)
-    {
-        return $groups ? (array) $groups : (array) $this->group;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContextInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContextInterface.php
deleted file mode 100644
index ebef4bd..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContextInterface.php
+++ /dev/null
@@ -1,329 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Stores the validator's state during validation.
- *
- * For example, let's validate the following object graph:
- *
- * <pre>
- * (Person)---($firstName: string)
- *      \
- *   ($address: Address)---($street: string)
- * </pre>
- *
- * We validate the <tt>Person</tt> instance, which becomes the "root" of the
- * validation run (see {@link getRoot}). The state of the context after the
- * first step will be like this:
- *
- * <pre>
- * (Person)---($firstName: string)
- *    ^ \
- *   ($address: Address)---($street: string)
- * </pre>
- *
- * The validator is stopped at the <tt>Person</tt> node, both the root and the
- * value (see {@link getValue}) of the context point to the <tt>Person</tt>
- * instance. The property path is empty at this point (see {@link getPropertyPath}).
- * The metadata of the context is the metadata of the <tt>Person</tt> node
- * (see {@link getMetadata}).
- *
- * After advancing to the property <tt>$firstName</tt> of the <tt>Person</tt>
- * instance, the state of the context looks like this:
- *
- * <pre>
- * (Person)---($firstName: string)
- *      \              ^
- *   ($address: Address)---($street: string)
- * </pre>
- *
- * The validator is stopped at the property <tt>$firstName</tt>. The root still
- * points to the <tt>Person</tt> instance, because this is where the validation
- * started. The property path is now "firstName" and the current value is the
- * value of that property.
- *
- * After advancing to the <tt>$address</tt> property and then to the
- * <tt>$street</tt> property of the <tt>Address</tt> instance, the context state
- * looks like this:
- *
- * <pre>
- * (Person)---($firstName: string)
- *      \
- *   ($address: Address)---($street: string)
- *                               ^
- * </pre>
- *
- * The validator is stopped at the property <tt>$street</tt>. The root still
- * points to the <tt>Person</tt> instance, but the property path is now
- * "address.street" and the validated value is the value of that property.
- *
- * Apart from the root, the property path and the currently validated value,
- * the execution context also knows the metadata of the current node (see
- * {@link getMetadata}) which for example returns a {@link Mapping\PropertyMetadata}
- * or a {@link Mapping\ClassMetadata} object. he context also contains the
- * validation group that is currently being validated (see {@link getGroup}) and
- * the violations that happened up until now (see {@link getViolations}).
- *
- * Apart from reading the execution context, you can also use
- * {@link addViolation} or {@link addViolationAt} to add new violations and
- * {@link validate} or {@link validateValue} to validate values that the
- * validator otherwise would not reach.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Context\ExecutionContextInterface} instead.
- */
-interface ExecutionContextInterface
-{
-    /**
-     * Adds a violation at the current node of the validation graph.
-     *
-     * @param string   $message      The error message
-     * @param array    $params       The parameters substituted in the error message
-     * @param mixed    $invalidValue The invalid, validated value
-     * @param int|null $plural       The number to use to pluralize of the message
-     * @param int|null $code         The violation code
-     *
-     * @api
-     *
-     * @deprecated The parameters $invalidValue, $pluralization and $code are
-     *             deprecated since version 2.5 and will be removed in
-     *             Symfony 3.0.
-     */
-    public function addViolation($message, array $params = array(), $invalidValue = null, $plural = null, $code = null);
-
-    /**
-     * Adds a violation at the validation graph node with the given property
-     * path relative to the current property path.
-     *
-     * @param string   $subPath      The relative property path for the violation
-     * @param string   $message      The error message
-     * @param array    $parameters   The parameters substituted in the error message
-     * @param mixed    $invalidValue The invalid, validated value
-     * @param int|null $plural       The number to use to pluralize of the message
-     * @param int|null $code         The violation code
-     *
-     * @api
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link Context\ExecutionContextInterface::buildViolation()}
-     *             instead.
-     */
-    public function addViolationAt($subPath, $message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null);
-
-    /**
-     * Validates the given value within the scope of the current validation.
-     *
-     * The value may be any value recognized by the used metadata factory
-     * (see {@link MetadataFactoryInterface::getMetadata}), or an array or a
-     * traversable object of such values.
-     *
-     * Usually you validate a value that is not the current node of the
-     * execution context. For this case, you can pass the {@link $subPath}
-     * argument which is appended to the current property path when a violation
-     * is created. For example, take the following object graph:
-     *
-     * <pre>
-     * (Person)---($address: Address)---($phoneNumber: PhoneNumber)
-     *                     ^
-     * </pre>
-     *
-     * When the execution context stops at the <tt>Person</tt> instance, the
-     * property path is "address". When you validate the <tt>PhoneNumber</tt>
-     * instance now, pass "phoneNumber" as sub path to correct the property path
-     * to "address.phoneNumber":
-     *
-     * <pre>
-     * $context->validate($address->phoneNumber, 'phoneNumber');
-     * </pre>
-     *
-     * Any violations generated during the validation will be added to the
-     * violation list that you can access with {@link getViolations}.
-     *
-     * @param mixed                $value    The value to validate.
-     * @param string               $subPath  The path to append to the context's property path.
-     * @param null|string|string[] $groups   The groups to validate in. If you don't pass any
-     *                                       groups here, the current group of the context
-     *                                       will be used.
-     * @param bool                 $traverse Whether to traverse the value if it is an array
-     *                                       or an instance of <tt>\Traversable</tt>.
-     * @param bool                 $deep     Whether to traverse the value recursively if
-     *                                       it is a collection of collections.
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link Context\ExecutionContextInterface::getValidator()}
-     *             instead.
-     */
-    public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false);
-
-    /**
-     * Validates a value against a constraint.
-     *
-     * Use the parameter <tt>$subPath</tt> to adapt the property path for the
-     * validated value. For example, take the following object graph:
-     *
-     * <pre>
-     * (Person)---($address: Address)---($street: string)
-     *                     ^
-     * </pre>
-     *
-     * When the validator validates the <tt>Address</tt> instance, the
-     * property path stored in the execution context is "address". When you
-     * manually validate the property <tt>$street</tt> now, pass the sub path
-     * "street" to adapt the full property path to "address.street":
-     *
-     * <pre>
-     * $context->validate($address->street, new NotNull(), 'street');
-     * </pre>
-     *
-     * @param mixed                   $value       The value to validate.
-     * @param Constraint|Constraint[] $constraints The constraint(s) to validate against.
-     * @param string                  $subPath     The path to append to the context's property path.
-     * @param null|string|string[]    $groups      The groups to validate in. If you don't pass any
-     *                                             groups here, the current group of the context
-     *                                             will be used.
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link Context\ExecutionContextInterface::getValidator()}
-     *             instead.
-     */
-    public function validateValue($value, $constraints, $subPath = '', $groups = null);
-
-    /**
-     * Returns the violations generated by the validator so far.
-     *
-     * @return ConstraintViolationListInterface The constraint violation list.
-     *
-     * @api
-     */
-    public function getViolations();
-
-    /**
-     * Returns the value at which validation was started in the object graph.
-     *
-     * The validator, when given an object, traverses the properties and
-     * related objects and their properties. The root of the validation is the
-     * object from which the traversal started.
-     *
-     * The current value is returned by {@link getValue}.
-     *
-     * @return mixed The root value of the validation.
-     */
-    public function getRoot();
-
-    /**
-     * Returns the value that the validator is currently validating.
-     *
-     * If you want to retrieve the object that was originally passed to the
-     * validator, use {@link getRoot}.
-     *
-     * @return mixed The currently validated value.
-     */
-    public function getValue();
-
-    /**
-     * Returns the metadata for the currently validated value.
-     *
-     * With the core implementation, this method returns a
-     * {@link Mapping\ClassMetadata} instance if the current value is an object,
-     * a {@link Mapping\PropertyMetadata} instance if the current value is
-     * the value of a property and a {@link Mapping\GetterMetadata} instance if
-     * the validated value is the result of a getter method.
-     *
-     * If the validated value is neither of these, for example if the validator
-     * has been called with a plain value and constraint, this method returns
-     * null.
-     *
-     * @return MetadataInterface|null The metadata of the currently validated
-     *                                value.
-     */
-    public function getMetadata();
-
-    /**
-     * Returns the used metadata factory.
-     *
-     * @return MetadataFactoryInterface The metadata factory.
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link Context\ExecutionContextInterface::getValidator()}
-     *             instead and call
-     *             {@link Validator\ValidatorInterface::getMetadataFor()} or
-     *             {@link Validator\ValidatorInterface::hasMetadataFor()} there.
-     */
-    public function getMetadataFactory();
-
-    /**
-     * Returns the validation group that is currently being validated.
-     *
-     * @return string The current validation group.
-     */
-    public function getGroup();
-
-    /**
-     * Returns the class name of the current node.
-     *
-     * If the metadata of the current node does not implement
-     * {@link ClassBasedInterface} or if no metadata is available for the
-     * current node, this method returns null.
-     *
-     * @return string|null The class name or null, if no class name could be found.
-     */
-    public function getClassName();
-
-    /**
-     * Returns the property name of the current node.
-     *
-     * If the metadata of the current node does not implement
-     * {@link PropertyMetadataInterface} or if no metadata is available for the
-     * current node, this method returns null.
-     *
-     * @return string|null The property name or null, if no property name could be found.
-     */
-    public function getPropertyName();
-
-    /**
-     * Returns the property path to the value that the validator is currently
-     * validating.
-     *
-     * For example, take the following object graph:
-     *
-     * <pre>
-     * (Person)---($address: Address)---($street: string)
-     * </pre>
-     *
-     * When the <tt>Person</tt> instance is passed to the validator, the
-     * property path is initially empty. When the <tt>$address</tt> property
-     * of that person is validated, the property path is "address". When
-     * the <tt>$street</tt> property of the related <tt>Address</tt> instance
-     * is validated, the property path is "address.street".
-     *
-     * Properties of objects are prefixed with a dot in the property path.
-     * Indices of arrays or objects implementing the {@link \ArrayAccess}
-     * interface are enclosed in brackets. For example, if the property in
-     * the previous example is <tt>$addresses</tt> and contains an array
-     * of <tt>Address</tt> instance, the property path generated for the
-     * <tt>$street</tt> property of one of these addresses is for example
-     * "addresses[0].street".
-     *
-     * @param string $subPath Optional. The suffix appended to the current
-     *                        property path.
-     *
-     * @return string The current property path. The result may be an empty
-     *                string if the validator is currently validating the
-     *                root value of the validation graph.
-     */
-    public function getPropertyPath($subPath = '');
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/GlobalExecutionContextInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/GlobalExecutionContextInterface.php
deleted file mode 100644
index 06dbf3e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/GlobalExecutionContextInterface.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Stores the node-independent state of a validation run.
- *
- * When the validator validates a graph of objects, it uses two classes to
- * store the state during the validation:
- *
- * <ul>
- * <li>For each node in the validation graph (objects, properties, getters) the
- * validator creates an instance of {@link ExecutionContextInterface} that
- * stores the information about that node.</li>
- * <li>One single <tt>GlobalExecutionContextInterface</tt> stores the state
- * that is independent of the current node.</li>
- * </ul>
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Context\ExecutionContextInterface} instead.
- */
-interface GlobalExecutionContextInterface
-{
-    /**
-     * Returns the violations generated by the validator so far.
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations.
-     */
-    public function getViolations();
-
-    /**
-     * Returns the value at which validation was started in the object graph.
-     *
-     * @return mixed The root value.
-     *
-     * @see ExecutionContextInterface::getRoot()
-     */
-    public function getRoot();
-
-    /**
-     * Returns the visitor instance used to validate the object graph nodes.
-     *
-     * @return ValidationVisitorInterface The validation visitor.
-     */
-    public function getVisitor();
-
-    /**
-     * Returns the factory for constraint validators.
-     *
-     * @return ConstraintValidatorFactoryInterface The constraint validator factory.
-     */
-    public function getValidatorFactory();
-
-    /**
-     * Returns the factory for validation metadata objects.
-     *
-     * @return MetadataFactoryInterface The metadata factory.
-     */
-    public function getMetadataFactory();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/GroupSequenceProviderInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/GroupSequenceProviderInterface.php
deleted file mode 100644
index 62e8a5e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/GroupSequenceProviderInterface.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Defines the interface for a group sequence provider.
- */
-interface GroupSequenceProviderInterface
-{
-    /**
-     * Returns which validation groups should be used for a certain state
-     * of the object.
-     *
-     * @return array An array of validation groups
-     */
-    public function getGroupSequence();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/LICENSE b/core/vendor/symfony/validator/Symfony/Component/Validator/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/validator/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php
deleted file mode 100644
index 7913e15..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-/**
- * Alias of {@link Factory\BlackHoleMetadataFactory}.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Factory\BlackHoleMetadataFactory} instead.
- */
-class BlackholeMetadataFactory extends \Symfony\Component\Validator\Mapping\Factory\BlackHoleMetadataFactory
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/ApcCache.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/ApcCache.php
deleted file mode 100644
index 64929b0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/ApcCache.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Cache;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * @deprecated Deprecated since version 2.5, to be removed in 3.0.
- *             Use DoctrineCache with Doctrine\Common\Cache\ApcCache instead.
- */
-class ApcCache implements CacheInterface
-{
-    private $prefix;
-
-    public function __construct($prefix)
-    {
-        if (!extension_loaded('apc')) {
-            throw new \RuntimeException('Unable to use ApcCache to cache validator mappings as APC is not enabled.');
-        }
-
-        $this->prefix = $prefix;
-    }
-
-    public function has($class)
-    {
-        if (!function_exists('apc_exists')) {
-            $exists = false;
-
-            apc_fetch($this->prefix.$class, $exists);
-
-            return $exists;
-        }
-
-        return apc_exists($this->prefix.$class);
-    }
-
-    public function read($class)
-    {
-        return apc_fetch($this->prefix.$class);
-    }
-
-    public function write(ClassMetadata $metadata)
-    {
-        apc_store($this->prefix.$metadata->getClassName(), $metadata);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/CacheInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/CacheInterface.php
deleted file mode 100644
index e8047c6..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/CacheInterface.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Cache;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * Persists ClassMetadata instances in a cache.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface CacheInterface
-{
-    /**
-     * Returns whether metadata for the given class exists in the cache.
-     *
-     * @param string $class
-     */
-    public function has($class);
-
-    /**
-     * Returns the metadata for the given class from the cache.
-     *
-     * @param string $class Class Name
-     *
-     * @return ClassMetadata|false A ClassMetadata instance or false on miss
-     */
-    public function read($class);
-
-    /**
-     * Stores a class metadata in the cache.
-     *
-     * @param ClassMetadata $metadata A Class Metadata
-     */
-    public function write(ClassMetadata $metadata);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/DoctrineCache.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/DoctrineCache.php
deleted file mode 100644
index 6dd5447..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/DoctrineCache.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Cache;
-
-use Doctrine\Common\Cache\Cache;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * Adapts a Doctrine cache to a CacheInterface.
- *
- * @author Florian Voutzinos <florian@voutzinos.com>
- */
-final class DoctrineCache implements CacheInterface
-{
-    private $cache;
-
-    /**
-     * Creates a new Doctrine cache.
-     *
-     * @param Cache $cache The cache to adapt
-     */
-    public function __construct(Cache $cache)
-    {
-        $this->cache = $cache;
-    }
-
-    /**
-     * Sets the cache to adapt.
-     *
-     * @param Cache $cache The cache to adapt
-     */
-    public function setCache(Cache $cache)
-    {
-        $this->cache = $cache;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($class)
-    {
-        return $this->cache->contains($class);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function read($class)
-    {
-        return $this->cache->fetch($class);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write(ClassMetadata $metadata)
-    {
-        $this->cache->save($metadata->getClassName(), $metadata);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/CascadingStrategy.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/CascadingStrategy.php
deleted file mode 100644
index ff2853f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/CascadingStrategy.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-/**
- * Specifies whether an object should be cascaded.
- *
- * Cascading is relevant for any node type but class nodes. If such a node
- * contains an object of value, and if cascading is enabled, then the node
- * traverser will try to find class metadata for that object and validate the
- * object against that metadata.
- *
- * If no metadata is found for a cascaded object, and if that object implements
- * {@link \Traversable}, the node traverser will iterate over the object and
- * cascade each object or collection contained within, unless iteration is
- * prohibited by the specified {@link TraversalStrategy}.
- *
- * Although the constants currently represent a boolean switch, they are
- * implemented as bit mask in order to allow future extensions.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see TraversalStrategy
- */
-class CascadingStrategy
-{
-    /**
-     * Specifies that a node should not be cascaded.
-     */
-    const NONE = 1;
-
-    /**
-     * Specifies that a node should be cascaded.
-     */
-    const CASCADE = 2;
-
-    /**
-     * Not instantiable.
-     */
-    private function __construct()
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadata.php
deleted file mode 100644
index a234939..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadata.php
+++ /dev/null
@@ -1,548 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\GroupSequence;
-use Symfony\Component\Validator\Constraints\Traverse;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\Exception\GroupDefinitionException;
-use Symfony\Component\Validator\ValidationVisitorInterface;
-
-/**
- * Default implementation of {@link ClassMetadataInterface}.
- *
- * This class supports serialization and cloning.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ClassMetadata extends ElementMetadata implements ClassMetadataInterface
-{
-    /**
-     * @var string
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getClassName()} instead.
-     */
-    public $name;
-
-    /**
-     * @var string
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getDefaultGroup()} instead.
-     */
-    public $defaultGroup;
-
-    /**
-     * @var MemberMetadata[]
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getPropertyMetadata()} instead.
-     */
-    public $members = array();
-
-    /**
-     * @var PropertyMetadata[]
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getPropertyMetadata()} instead.
-     */
-    public $properties = array();
-
-    /**
-     * @var GetterMetadata[]
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getPropertyMetadata()} instead.
-     */
-    public $getters = array();
-
-    /**
-     * @var array
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getGroupSequence()} instead.
-     */
-    public $groupSequence = array();
-
-    /**
-     * @var bool
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link isGroupSequenceProvider()} instead.
-     */
-    public $groupSequenceProvider = false;
-
-    /**
-     * The strategy for traversing traversable objects.
-     *
-     * By default, only instances of {@link \Traversable} are traversed.
-     *
-     * @var int
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getTraversalStrategy()} instead.
-     */
-    public $traversalStrategy = TraversalStrategy::IMPLICIT;
-
-    /**
-     * @var \ReflectionClass
-     */
-    private $reflClass;
-
-    /**
-     * Constructs a metadata for the given class.
-     *
-     * @param string $class
-     */
-    public function __construct($class)
-    {
-        $this->name = $class;
-        // class name without namespace
-        if (false !== $nsSep = strrpos($class, '\\')) {
-            $this->defaultGroup = substr($class, $nsSep + 1);
-        } else {
-            $this->defaultGroup = $class;
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     */
-    public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath, $propagatedGroup = null)
-    {
-        if (null === $propagatedGroup && Constraint::DEFAULT_GROUP === $group
-                && ($this->hasGroupSequence() || $this->isGroupSequenceProvider())) {
-            if ($this->hasGroupSequence()) {
-                $groups = $this->getGroupSequence();
-            } else {
-                $groups = $value->getGroupSequence();
-            }
-
-            foreach ($groups as $group) {
-                $this->accept($visitor, $value, $group, $propertyPath, Constraint::DEFAULT_GROUP);
-
-                if (count($visitor->getViolations()) > 0) {
-                    break;
-                }
-            }
-
-            return;
-        }
-
-        $visitor->visit($this, $value, $group, $propertyPath);
-
-        if (null !== $value) {
-            $pathPrefix = empty($propertyPath) ? '' : $propertyPath.'.';
-
-            foreach ($this->getConstrainedProperties() as $property) {
-                foreach ($this->getPropertyMetadata($property) as $member) {
-                    $member->accept($visitor, $member->getPropertyValue($value), $group, $pathPrefix.$property, $propagatedGroup);
-                }
-            }
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __sleep()
-    {
-        $parentProperties = parent::__sleep();
-
-        // Don't store the cascading strategy. Classes never cascade.
-        unset($parentProperties[array_search('cascadingStrategy', $parentProperties)]);
-
-        return array_merge($parentProperties, array(
-            'getters',
-            'groupSequence',
-            'groupSequenceProvider',
-            'members',
-            'name',
-            'properties',
-            'defaultGroup',
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getClassName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Returns the name of the default group for this class.
-     *
-     * For each class, the group "Default" is an alias for the group
-     * "<ClassName>", where <ClassName> is the non-namespaced name of the
-     * class. All constraints implicitly or explicitly assigned to group
-     * "Default" belong to both of these groups, unless the class defines
-     * a group sequence.
-     *
-     * If a class defines a group sequence, validating the class in "Default"
-     * will validate the group sequence. The constraints assigned to "Default"
-     * can still be validated by validating the class in "<ClassName>".
-     *
-     * @return string The name of the default group
-     */
-    public function getDefaultGroup()
-    {
-        return $this->defaultGroup;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addConstraint(Constraint $constraint)
-    {
-        if (!in_array(Constraint::CLASS_CONSTRAINT, (array) $constraint->getTargets())) {
-            throw new ConstraintDefinitionException(sprintf(
-                'The constraint "%s" cannot be put on classes.',
-                get_class($constraint)
-            ));
-        }
-
-        if ($constraint instanceof Valid) {
-            throw new ConstraintDefinitionException(sprintf(
-                'The constraint "%s" cannot be put on classes.',
-                get_class($constraint)
-            ));
-        }
-
-        if ($constraint instanceof Traverse) {
-            if ($constraint->traverse) {
-                // If traverse is true, traversal should be explicitly enabled
-                $this->traversalStrategy = TraversalStrategy::TRAVERSE;
-            } else {
-                // If traverse is false, traversal should be explicitly disabled
-                $this->traversalStrategy = TraversalStrategy::NONE;
-            }
-
-            // The constraint is not added
-            return $this;
-        }
-
-        $constraint->addImplicitGroupName($this->getDefaultGroup());
-
-        parent::addConstraint($constraint);
-
-        return $this;
-    }
-
-    /**
-     * Adds a constraint to the given property.
-     *
-     * @param string     $property   The name of the property
-     * @param Constraint $constraint The constraint
-     *
-     * @return ClassMetadata This object
-     */
-    public function addPropertyConstraint($property, Constraint $constraint)
-    {
-        if (!isset($this->properties[$property])) {
-            $this->properties[$property] = new PropertyMetadata($this->getClassName(), $property);
-
-            $this->addPropertyMetadata($this->properties[$property]);
-        }
-
-        $constraint->addImplicitGroupName($this->getDefaultGroup());
-
-        $this->properties[$property]->addConstraint($constraint);
-
-        return $this;
-    }
-
-    /**
-     * @param string       $property
-     * @param Constraint[] $constraints
-     *
-     * @return ClassMetadata
-     */
-    public function addPropertyConstraints($property, array $constraints)
-    {
-        foreach ($constraints as $constraint) {
-            $this->addPropertyConstraint($property, $constraint);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Adds a constraint to the getter of the given property.
-     *
-     * The name of the getter is assumed to be the name of the property with an
-     * uppercased first letter and either the prefix "get" or "is".
-     *
-     * @param string     $property   The name of the property
-     * @param Constraint $constraint The constraint
-     *
-     * @return ClassMetadata This object
-     */
-    public function addGetterConstraint($property, Constraint $constraint)
-    {
-        if (!isset($this->getters[$property])) {
-            $this->getters[$property] = new GetterMetadata($this->getClassName(), $property);
-
-            $this->addPropertyMetadata($this->getters[$property]);
-        }
-
-        $constraint->addImplicitGroupName($this->getDefaultGroup());
-
-        $this->getters[$property]->addConstraint($constraint);
-
-        return $this;
-    }
-
-    /**
-     * @param string       $property
-     * @param Constraint[] $constraints
-     *
-     * @return ClassMetadata
-     */
-    public function addGetterConstraints($property, array $constraints)
-    {
-        foreach ($constraints as $constraint) {
-            $this->addGetterConstraint($property, $constraint);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Merges the constraints of the given metadata into this object.
-     *
-     * @param ClassMetadata $source The source metadata
-     */
-    public function mergeConstraints(ClassMetadata $source)
-    {
-        foreach ($source->getConstraints() as $constraint) {
-            $this->addConstraint(clone $constraint);
-        }
-
-        foreach ($source->getConstrainedProperties() as $property) {
-            foreach ($source->getPropertyMetadata($property) as $member) {
-                $member = clone $member;
-
-                foreach ($member->getConstraints() as $constraint) {
-                    $constraint->addImplicitGroupName($this->getDefaultGroup());
-                }
-
-                $this->addPropertyMetadata($member);
-
-                if ($member instanceof MemberMetadata && !$member->isPrivate($this->name)) {
-                    $property = $member->getPropertyName();
-
-                    if ($member instanceof PropertyMetadata && !isset($this->properties[$property])) {
-                        $this->properties[$property] = $member;
-                    } elseif ($member instanceof GetterMetadata && !isset($this->getters[$property])) {
-                        $this->getters[$property] = $member;
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Adds a member metadata.
-     *
-     * @param MemberMetadata $metadata
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0.
-     */
-    protected function addMemberMetadata(MemberMetadata $metadata)
-    {
-        $this->addPropertyMetadata($metadata);
-    }
-
-    /**
-     * Returns true if metadatas of members is present for the given property.
-     *
-     * @param string $property The name of the property
-     *
-     * @return bool
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use {@link hasPropertyMetadata} instead.
-     */
-    public function hasMemberMetadatas($property)
-    {
-        return $this->hasPropertyMetadata($property);
-    }
-
-    /**
-     * Returns all metadatas of members describing the given property.
-     *
-     * @param string $property The name of the property
-     *
-     * @return MemberMetadata[] An array of MemberMetadata
-     *
-     * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use {@link getPropertyMetadata} instead.
-     */
-    public function getMemberMetadatas($property)
-    {
-        return $this->getPropertyMetadata($property);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasPropertyMetadata($property)
-    {
-        return array_key_exists($property, $this->members);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyMetadata($property)
-    {
-        if (!isset($this->members[$property])) {
-            return array();
-        }
-
-        return $this->members[$property];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getConstrainedProperties()
-    {
-        return array_keys($this->members);
-    }
-
-    /**
-     * Sets the default group sequence for this class.
-     *
-     * @param array $groupSequence An array of group names
-     *
-     * @return ClassMetadata
-     *
-     * @throws GroupDefinitionException
-     */
-    public function setGroupSequence($groupSequence)
-    {
-        if ($this->isGroupSequenceProvider()) {
-            throw new GroupDefinitionException('Defining a static group sequence is not allowed with a group sequence provider');
-        }
-
-        if (is_array($groupSequence)) {
-            $groupSequence = new GroupSequence($groupSequence);
-        }
-
-        if (in_array(Constraint::DEFAULT_GROUP, $groupSequence->groups, true)) {
-            throw new GroupDefinitionException(sprintf('The group "%s" is not allowed in group sequences', Constraint::DEFAULT_GROUP));
-        }
-
-        if (!in_array($this->getDefaultGroup(), $groupSequence->groups, true)) {
-            throw new GroupDefinitionException(sprintf('The group "%s" is missing in the group sequence', $this->getDefaultGroup()));
-        }
-
-        $this->groupSequence = $groupSequence;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasGroupSequence()
-    {
-        return count($this->groupSequence) > 0;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getGroupSequence()
-    {
-        return $this->groupSequence;
-    }
-
-    /**
-     * Returns a ReflectionClass instance for this class.
-     *
-     * @return \ReflectionClass
-     */
-    public function getReflectionClass()
-    {
-        if (!$this->reflClass) {
-            $this->reflClass = new \ReflectionClass($this->getClassName());
-        }
-
-        return $this->reflClass;
-    }
-
-    /**
-     * Sets whether a group sequence provider should be used.
-     *
-     * @param bool $active
-     *
-     * @throws GroupDefinitionException
-     */
-    public function setGroupSequenceProvider($active)
-    {
-        if ($this->hasGroupSequence()) {
-            throw new GroupDefinitionException('Defining a group sequence provider is not allowed with a static group sequence');
-        }
-
-        if (!$this->getReflectionClass()->implementsInterface('Symfony\Component\Validator\GroupSequenceProviderInterface')) {
-            throw new GroupDefinitionException(sprintf('Class "%s" must implement GroupSequenceProviderInterface', $this->name));
-        }
-
-        $this->groupSequenceProvider = $active;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isGroupSequenceProvider()
-    {
-        return $this->groupSequenceProvider;
-    }
-
-    /**
-     * Class nodes are never cascaded.
-     *
-     * {@inheritdoc}
-     */
-    public function getCascadingStrategy()
-    {
-        return CascadingStrategy::NONE;
-    }
-
-    /**
-     * Adds a property metadata.
-     *
-     * @param PropertyMetadataInterface $metadata
-     */
-    private function addPropertyMetadata(PropertyMetadataInterface $metadata)
-    {
-        $property = $metadata->getPropertyName();
-
-        $this->members[$property][] = $metadata;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php
deleted file mode 100644
index 9b05edd..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory;
-
-/**
- * Alias of {@link LazyLoadingMetadataFactory}.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link LazyLoadingMetadataFactory} instead.
- */
-class ClassMetadataFactory extends LazyLoadingMetadataFactory
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataInterface.php
deleted file mode 100644
index bb76c2c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataInterface.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\ClassBasedInterface;
-use Symfony\Component\Validator\PropertyMetadataContainerInterface as LegacyPropertyMetadataContainerInterface;
-
-/**
- * Stores all metadata needed for validating objects of specific class.
- *
- * Most importantly, the metadata stores the constraints against which an object
- * and its properties should be validated.
- *
- * Additionally, the metadata stores whether the "Default" group is overridden
- * by a group sequence for that class and whether instances of that class
- * should be traversed or not.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see MetadataInterface
- * @see \Symfony\Component\Validator\Constraints\GroupSequence
- * @see \Symfony\Component\Validator\GroupSequenceProviderInterface
- * @see TraversalStrategy
- */
-interface ClassMetadataInterface extends MetadataInterface, LegacyPropertyMetadataContainerInterface, ClassBasedInterface
-{
-    /**
-     * Returns the names of all constrained properties.
-     *
-     * @return string[] A list of property names
-     */
-    public function getConstrainedProperties();
-
-    /**
-     * Returns whether the "Default" group is overridden by a group sequence.
-     *
-     * If it is, you can access the group sequence with {@link getGroupSequence()}.
-     *
-     * @return bool Returns true if the "Default" group is overridden
-     *
-     * @see \Symfony\Component\Validator\Constraints\GroupSequence
-     */
-    public function hasGroupSequence();
-
-    /**
-     * Returns the group sequence that overrides the "Default" group for this
-     * class.
-     *
-     * @return \Symfony\Component\Validator\Constraints\GroupSequence|null The group sequence or null
-     *
-     * @see \Symfony\Component\Validator\Constraints\GroupSequence
-     */
-    public function getGroupSequence();
-
-    /**
-     * Returns whether the "Default" group is overridden by a dynamic group
-     * sequence obtained by the validated objects.
-     *
-     * If this method returns true, the class must implement
-     * {@link \Symfony\Component\Validator\GroupSequenceProviderInterface}.
-     * This interface will be used to obtain the group sequence when an object
-     * of this class is validated.
-     *
-     * @return bool Returns true if the "Default" group is overridden by
-     *              a dynamic group sequence
-     *
-     * @see \Symfony\Component\Validator\GroupSequenceProviderInterface
-     */
-    public function isGroupSequenceProvider();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ElementMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ElementMetadata.php
deleted file mode 100644
index 1b971c9..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ElementMetadata.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-/**
- * Contains the metadata of a structural element.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Extend {@link GenericMetadata} instead.
- */
-abstract class ElementMetadata extends GenericMetadata
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/BlackHoleMetadataFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/BlackHoleMetadataFactory.php
deleted file mode 100644
index 5b38d0c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/BlackHoleMetadataFactory.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Factory;
-
-/**
- * Metadata factory that does not store metadata.
- *
- * This implementation is useful if you want to validate values against
- * constraints only and you don't need to add constraints to classes and
- * properties.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class BlackHoleMetadataFactory implements MetadataFactoryInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFor($value)
-    {
-        throw new \LogicException('This class does not support metadata.');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasMetadataFor($value)
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
deleted file mode 100644
index 208dfce..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Factory;
-
-use Symfony\Component\Validator\Exception\NoSuchMetadataException;
-use Symfony\Component\Validator\Mapping\Cache\CacheInterface;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\ClassMetadataInterface;
-use Symfony\Component\Validator\Mapping\Loader\LoaderChain;
-use Symfony\Component\Validator\Mapping\Loader\LoaderInterface;
-
-/**
- * Creates new {@link ClassMetadataInterface} instances.
- *
- * Whenever {@link getMetadataFor()} is called for the first time with a given
- * class name or object of that class, a new metadata instance is created and
- * returned. On subsequent requests for the same class, the same metadata
- * instance will be returned.
- *
- * You can optionally pass a {@link LoaderInterface} instance to the constructor.
- * Whenever a new metadata instance is created, it is passed to the loader,
- * which can configure the metadata based on configuration loaded from the
- * filesystem or a database. If you want to use multiple loaders, wrap them in a
- * {@link LoaderChain}.
- *
- * You can also optionally pass a {@link CacheInterface} instance to the
- * constructor. This cache will be used for persisting the generated metadata
- * between multiple PHP requests.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class LazyLoadingMetadataFactory implements MetadataFactoryInterface
-{
-    /**
-     * The loader for loading the class metadata
-     *
-     * @var LoaderInterface|null
-     */
-    protected $loader;
-
-    /**
-     * The cache for caching class metadata
-     *
-     * @var CacheInterface|null
-     */
-    protected $cache;
-
-    /**
-     * The loaded metadata, indexed by class name
-     *
-     * @var ClassMetadata[]
-     */
-    protected $loadedClasses = array();
-
-    /**
-     * Creates a new metadata factory.
-     *
-     * @param LoaderInterface|null $loader The loader for configuring new metadata
-     * @param CacheInterface|null  $cache  The cache for persisting metadata
-     *                                     between multiple PHP requests
-     */
-    public function __construct(LoaderInterface $loader = null, CacheInterface $cache = null)
-    {
-        $this->loader = $loader;
-        $this->cache = $cache;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * If the method was called with the same class name (or an object of that
-     * class) before, the same metadata instance is returned.
-     *
-     * If the factory was configured with a cache, this method will first look
-     * for an existing metadata instance in the cache. If an existing instance
-     * is found, it will be returned without further ado.
-     *
-     * Otherwise, a new metadata instance is created. If the factory was
-     * configured with a loader, the metadata is passed to the
-     * {@link LoaderInterface::loadClassMetadata()} method for further
-     * configuration. At last, the new object is returned.
-     */
-    public function getMetadataFor($value)
-    {
-        if (!is_object($value) && !is_string($value)) {
-            throw new NoSuchMetadataException(sprintf('Cannot create metadata for non-objects. Got: %s', gettype($value)));
-        }
-
-        $class = ltrim(is_object($value) ? get_class($value) : $value, '\\');
-
-        if (isset($this->loadedClasses[$class])) {
-            return $this->loadedClasses[$class];
-        }
-
-        if (null !== $this->cache && false !== ($this->loadedClasses[$class] = $this->cache->read($class))) {
-            return $this->loadedClasses[$class];
-        }
-
-        if (!class_exists($class) && !interface_exists($class)) {
-            throw new NoSuchMetadataException(sprintf('The class or interface "%s" does not exist.', $class));
-        }
-
-        $metadata = new ClassMetadata($class);
-
-        // Include constraints from the parent class
-        if ($parent = $metadata->getReflectionClass()->getParentClass()) {
-            $metadata->mergeConstraints($this->getMetadataFor($parent->name));
-        }
-
-        // Include constraints from all implemented interfaces
-        foreach ($metadata->getReflectionClass()->getInterfaces() as $interface) {
-            if ('Symfony\Component\Validator\GroupSequenceProviderInterface' === $interface->name) {
-                continue;
-            }
-            $metadata->mergeConstraints($this->getMetadataFor($interface->name));
-        }
-
-        if (null !== $this->loader) {
-            $this->loader->loadClassMetadata($metadata);
-        }
-
-        if (null !== $this->cache) {
-            $this->cache->write($metadata);
-        }
-
-        return $this->loadedClasses[$class] = $metadata;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasMetadataFor($value)
-    {
-        if (!is_object($value) && !is_string($value)) {
-            return false;
-        }
-
-        $class = ltrim(is_object($value) ? get_class($value) : $value, '\\');
-
-        if (class_exists($class) || interface_exists($class)) {
-            return true;
-        }
-
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/MetadataFactoryInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/MetadataFactoryInterface.php
deleted file mode 100644
index 58736e2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/MetadataFactoryInterface.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Factory;
-
-use Symfony\Component\Validator\MetadataFactoryInterface as LegacyMetadataFactoryInterface;
-
-/**
- * Returns {@link \Symfony\Component\Validator\Mapping\MetadataInterface} instances for values.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface MetadataFactoryInterface extends LegacyMetadataFactoryInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GenericMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GenericMetadata.php
deleted file mode 100644
index 904dcd7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GenericMetadata.php
+++ /dev/null
@@ -1,243 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\Traverse;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\Exception\BadMethodCallException;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\ValidationVisitorInterface;
-
-/**
- * A generic container of {@link Constraint} objects.
- *
- * This class supports serialization and cloning.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class GenericMetadata implements MetadataInterface
-{
-    /**
-     * @var Constraint[]
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getConstraints()} and {@link findConstraints()} instead.
-     */
-    public $constraints = array();
-
-    /**
-     * @var array
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link findConstraints()} instead.
-     */
-    public $constraintsByGroup = array();
-
-    /**
-     * The strategy for cascading objects.
-     *
-     * By default, objects are not cascaded.
-     *
-     * @var int
-     *
-     * @see CascadingStrategy
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getCascadingStrategy()} instead.
-     */
-    public $cascadingStrategy = CascadingStrategy::NONE;
-
-    /**
-     * The strategy for traversing traversable objects.
-     *
-     * By default, traversable objects are not traversed.
-     *
-     * @var int
-     *
-     * @see TraversalStrategy
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getTraversalStrategy()} instead.
-     */
-    public $traversalStrategy = TraversalStrategy::NONE;
-
-    /**
-     * Returns the names of the properties that should be serialized.
-     *
-     * @return string[]
-     */
-    public function __sleep()
-    {
-        return array(
-            'constraints',
-            'constraintsByGroup',
-            'cascadingStrategy',
-            'traversalStrategy',
-        );
-    }
-
-    /**
-     * Clones this object.
-     */
-    public function __clone()
-    {
-        $constraints = $this->constraints;
-
-        $this->constraints = array();
-        $this->constraintsByGroup = array();
-
-        foreach ($constraints as $constraint) {
-            $this->addConstraint(clone $constraint);
-        }
-    }
-
-    /**
-     * Adds a constraint.
-     *
-     * If the constraint {@link Valid} is added, the cascading strategy will be
-     * changed to {@link CascadingStrategy::CASCADE}. Depending on the
-     * properties $traverse and $deep of that constraint, the traversal strategy
-     * will be set to one of the following:
-     *
-     *  - {@link TraversalStrategy::IMPLICIT} if $traverse is enabled and $deep
-     *    is enabled
-     *  - {@link TraversalStrategy::IMPLICIT} | {@link TraversalStrategy::STOP_RECURSION}
-     *    if $traverse is enabled, but $deep is disabled
-     *  - {@link TraversalStrategy::NONE} if $traverse is disabled
-     *
-     * @param Constraint $constraint The constraint to add
-     *
-     * @return GenericMetadata This object
-     *
-     * @throws ConstraintDefinitionException When trying to add the
-     *                                       {@link Traverse} constraint
-     */
-    public function addConstraint(Constraint $constraint)
-    {
-        if ($constraint instanceof Traverse) {
-            throw new ConstraintDefinitionException(sprintf(
-                'The constraint "%s" can only be put on classes. Please use '.
-                '"Symfony\Component\Validator\Constraints\Valid" instead.',
-                get_class($constraint)
-            ));
-        }
-
-        if ($constraint instanceof Valid) {
-            $this->cascadingStrategy = CascadingStrategy::CASCADE;
-
-            if ($constraint->traverse) {
-                // Traverse unless the value is not traversable
-                $this->traversalStrategy = TraversalStrategy::IMPLICIT;
-
-                if (!$constraint->deep) {
-                    $this->traversalStrategy |= TraversalStrategy::STOP_RECURSION;
-                }
-            } else {
-                $this->traversalStrategy = TraversalStrategy::NONE;
-            }
-
-            return $this;
-        }
-
-        $this->constraints[] = $constraint;
-
-        foreach ($constraint->groups as $group) {
-            $this->constraintsByGroup[$group][] = $constraint;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Adds an list of constraints.
-     *
-     * @param Constraint[] $constraints The constraints to add
-     *
-     * @return GenericMetadata This object
-     */
-    public function addConstraints(array $constraints)
-    {
-        foreach ($constraints as $constraint) {
-            $this->addConstraint($constraint);
-        }
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getConstraints()
-    {
-        return $this->constraints;
-    }
-
-    /**
-     * Returns whether this element has any constraints.
-     *
-     * @return bool
-     */
-    public function hasConstraints()
-    {
-        return count($this->constraints) > 0;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * Aware of the global group (* group).
-     */
-    public function findConstraints($group)
-    {
-        return isset($this->constraintsByGroup[$group])
-            ? $this->constraintsByGroup[$group]
-            : array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCascadingStrategy()
-    {
-        return $this->cascadingStrategy;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTraversalStrategy()
-    {
-        return $this->traversalStrategy;
-    }
-
-    /**
-     * Exists for compatibility with the deprecated
-     * {@link Symfony\Component\Validator\MetadataInterface}.
-     *
-     * Should not be used.
-     *
-     * @throws BadMethodCallException
-     *
-     * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
-     *             Will be removed in Symfony 3.0.
-     */
-    public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath)
-    {
-        throw new BadMethodCallException('Not supported.');
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GetterMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GetterMetadata.php
deleted file mode 100644
index 0cf9992..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GetterMetadata.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\Exception\ValidatorException;
-
-/**
- * Stores all metadata needed for validating a class property via its getter
- * method.
- *
- * A property getter is any method that is equal to the property's name,
- * prefixed with either "get" or "is". That method will be used to access the
- * property's value.
- *
- * The getter will be invoked by reflection, so the access of private and
- * protected getters is supported.
- *
- * This class supports serialization and cloning.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see PropertyMetadataInterface
- */
-class GetterMetadata extends MemberMetadata
-{
-    /**
-     * Constructor.
-     *
-     * @param string $class    The class the getter is defined on
-     * @param string $property The property which the getter returns
-     *
-     * @throws ValidatorException
-     */
-    public function __construct($class, $property)
-    {
-        $getMethod = 'get'.ucfirst($property);
-        $isMethod = 'is'.ucfirst($property);
-        $hasMethod = 'has'.ucfirst($property);
-
-        if (method_exists($class, $getMethod)) {
-            $method = $getMethod;
-        } elseif (method_exists($class, $isMethod)) {
-            $method = $isMethod;
-        } elseif (method_exists($class, $hasMethod)) {
-            $method = $hasMethod;
-        } else {
-            throw new ValidatorException(sprintf('Neither of these methods exist in class %s: %s, %s, %s', $class, $getMethod, $isMethod, $hasMethod));
-        }
-
-        parent::__construct($class, $method, $property);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyValue($object)
-    {
-        return $this->newReflectionMember($object)->invoke($object);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function newReflectionMember($objectOrClassName)
-    {
-        return new \ReflectionMethod($objectOrClassName, $this->getName());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php
deleted file mode 100644
index 2ae8988..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\MappingException;
-
-/**
- * Base loader for validation metadata.
- *
- * This loader supports the loading of constraints from Symfony's default
- * namespace (see {@link DEFAULT_NAMESPACE}) using the short class names of
- * those constraints. Constraints can also be loaded using their fully
- * qualified class names. At last, namespace aliases can be defined to load
- * constraints with the syntax "alias:ShortName".
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class AbstractLoader implements LoaderInterface
-{
-    /**
-     * The namespace to load constraints from by default.
-     */
-    const DEFAULT_NAMESPACE = '\\Symfony\\Component\\Validator\\Constraints\\';
-
-    /**
-     * @var array
-     */
-    protected $namespaces = array();
-
-    /**
-     * Adds a namespace alias.
-     *
-     * The namespace alias can be used to reference constraints from specific
-     * namespaces in {@link newConstraint()}:
-     *
-     *     $this->addNamespaceAlias('mynamespace', '\\Acme\\Package\\Constraints\\');
-     *
-     *     $constraint = $this->newConstraint('mynamespace:NotNull');
-     *
-     * @param string $alias     The alias
-     * @param string $namespace The PHP namespace
-     */
-    protected function addNamespaceAlias($alias, $namespace)
-    {
-        $this->namespaces[$alias] = $namespace;
-    }
-
-    /**
-     * Creates a new constraint instance for the given constraint name.
-     *
-     * @param string $name    The constraint name. Either a constraint relative
-     *                        to the default constraint namespace, or a fully
-     *                        qualified class name. Alternatively, the constraint
-     *                        may be preceded by a namespace alias and a colon.
-     *                        The namespace alias must have been defined using
-     *                        {@link addNamespaceAlias()}.
-     * @param mixed  $options The constraint options
-     *
-     * @return Constraint
-     *
-     * @throws MappingException If the namespace prefix is undefined
-     */
-    protected function newConstraint($name, $options = null)
-    {
-        if (strpos($name, '\\') !== false && class_exists($name)) {
-            $className = (string) $name;
-        } elseif (strpos($name, ':') !== false) {
-            list($prefix, $className) = explode(':', $name, 2);
-
-            if (!isset($this->namespaces[$prefix])) {
-                throw new MappingException(sprintf('Undefined namespace prefix "%s"', $prefix));
-            }
-
-            $className = $this->namespaces[$prefix].$className;
-        } else {
-            $className = self::DEFAULT_NAMESPACE.$name;
-        }
-
-        return new $className($options);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AnnotationLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AnnotationLoader.php
deleted file mode 100644
index d1b8c35..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AnnotationLoader.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Doctrine\Common\Annotations\Reader;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\GroupSequence;
-use Symfony\Component\Validator\Constraints\GroupSequenceProvider;
-use Symfony\Component\Validator\Exception\MappingException;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * Loads validation metadata using a Doctrine annotation {@link Reader}.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class AnnotationLoader implements LoaderInterface
-{
-    /**
-     * @var Reader
-     */
-    protected $reader;
-
-    public function __construct(Reader $reader)
-    {
-        $this->reader = $reader;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function loadClassMetadata(ClassMetadata $metadata)
-    {
-        $reflClass = $metadata->getReflectionClass();
-        $className = $reflClass->name;
-        $success = false;
-
-        foreach ($this->reader->getClassAnnotations($reflClass) as $constraint) {
-            if ($constraint instanceof GroupSequence) {
-                $metadata->setGroupSequence($constraint->groups);
-            } elseif ($constraint instanceof GroupSequenceProvider) {
-                $metadata->setGroupSequenceProvider(true);
-            } elseif ($constraint instanceof Constraint) {
-                $metadata->addConstraint($constraint);
-            }
-
-            $success = true;
-        }
-
-        foreach ($reflClass->getProperties() as $property) {
-            if ($property->getDeclaringClass()->name === $className) {
-                foreach ($this->reader->getPropertyAnnotations($property) as $constraint) {
-                    if ($constraint instanceof Constraint) {
-                        $metadata->addPropertyConstraint($property->name, $constraint);
-                    }
-
-                    $success = true;
-                }
-            }
-        }
-
-        foreach ($reflClass->getMethods() as $method) {
-            if ($method->getDeclaringClass()->name === $className) {
-                foreach ($this->reader->getMethodAnnotations($method) as $constraint) {
-                    if ($constraint instanceof Callback) {
-                        $constraint->callback = $method->getName();
-                        $constraint->methods = null;
-
-                        $metadata->addConstraint($constraint);
-                    } elseif ($constraint instanceof Constraint) {
-                        if (preg_match('/^(get|is|has)(.+)$/i', $method->name, $matches)) {
-                            $metadata->addGetterConstraint(lcfirst($matches[2]), $constraint);
-                        } else {
-                            throw new MappingException(sprintf('The constraint on "%s::%s" cannot be added. Constraints can only be added on methods beginning with "get", "is" or "has".', $className, $method->name));
-                        }
-                    }
-
-                    $success = true;
-                }
-            }
-        }
-
-        return $success;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FileLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FileLoader.php
deleted file mode 100644
index 326bbdf..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FileLoader.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Symfony\Component\Validator\Exception\MappingException;
-
-/**
- * Base loader for loading validation metadata from a file.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see YamlFileLoader
- * @see XmlFileLoader
- */
-abstract class FileLoader extends AbstractLoader
-{
-    /**
-     * The file to load.
-     *
-     * @var string
-     */
-    protected $file;
-
-    /**
-     * Creates a new loader.
-     *
-     * @param string $file The mapping file to load
-     *
-     * @throws MappingException If the file does not exist or is not readable
-     */
-    public function __construct($file)
-    {
-        if (!is_file($file)) {
-            throw new MappingException(sprintf('The mapping file "%s" does not exist', $file));
-        }
-
-        if (!is_readable($file)) {
-            throw new MappingException(sprintf('The mapping file "%s" is not readable', $file));
-        }
-
-        if (!stream_is_local($this->file)) {
-            throw new MappingException(sprintf('The mapping file "%s" is not a local file', $file));
-        }
-
-        $this->file = $file;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FilesLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FilesLoader.php
deleted file mode 100644
index 571c7e7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FilesLoader.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-/**
- * Base loader for loading validation metadata from a list of files.
- *
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see YamlFilesLoader
- * @see XmlFilesLoader
- */
-abstract class FilesLoader extends LoaderChain
-{
-    /**
-     * Creates a new loader.
-     *
-     * @param array $paths An array of file paths
-     */
-    public function __construct(array $paths)
-    {
-        parent::__construct($this->getFileLoaders($paths));
-    }
-
-    /**
-     * Returns an array of file loaders for the given file paths.
-     *
-     * @param array $paths An array of file paths
-     *
-     * @return LoaderInterface[] The metadata loaders
-     */
-    protected function getFileLoaders($paths)
-    {
-        $loaders = array();
-
-        foreach ($paths as $path) {
-            $loaders[] = $this->getFileLoaderInstance($path);
-        }
-
-        return $loaders;
-    }
-
-    /**
-     * Creates a loader for the given file path.
-     *
-     * @param string $path The file path
-     *
-     * @return LoaderInterface The created loader
-     */
-    abstract protected function getFileLoaderInstance($path);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php
deleted file mode 100644
index 970d906..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Symfony\Component\Validator\Exception\MappingException;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * Loads validation metadata from multiple {@link LoaderInterface} instances.
- *
- * Pass the loaders when constructing the chain. Once
- * {@link loadClassMetadata()} is called, that method will be called on all
- * loaders in the chain.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class LoaderChain implements LoaderInterface
-{
-    /**
-     * @var LoaderInterface[]
-     */
-    protected $loaders;
-
-    /**
-     * @param LoaderInterface[] $loaders The metadata loaders to use
-     *
-     * @throws MappingException If any of the loaders has an invalid type
-     */
-    public function __construct(array $loaders)
-    {
-        foreach ($loaders as $loader) {
-            if (!$loader instanceof LoaderInterface) {
-                throw new MappingException(sprintf('Class %s is expected to implement LoaderInterface', get_class($loader)));
-            }
-        }
-
-        $this->loaders = $loaders;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function loadClassMetadata(ClassMetadata $metadata)
-    {
-        $success = false;
-
-        foreach ($this->loaders as $loader) {
-            $success = $loader->loadClassMetadata($metadata) || $success;
-        }
-
-        return $success;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderInterface.php
deleted file mode 100644
index 5dadc82..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderInterface.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * Loads validation metadata into {@link ClassMetadata} instances.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface LoaderInterface
-{
-    /**
-     * Loads validation metadata into a {@link ClassMetadata} instance.
-     *
-     * @param ClassMetadata $metadata The metadata to load
-     *
-     * @return bool Whether the loader succeeded
-     */
-    public function loadClassMetadata(ClassMetadata $metadata);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php
deleted file mode 100644
index 4ff2257..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Symfony\Component\Validator\Exception\MappingException;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * Loads validation metadata by calling a static method on the loaded class.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class StaticMethodLoader implements LoaderInterface
-{
-    /**
-     * The name of the method to call.
-     *
-     * @var string
-     */
-    protected $methodName;
-
-    /**
-     * Creates a new loader.
-     *
-     * @param string $methodName The name of the static method to call
-     */
-    public function __construct($methodName = 'loadValidatorMetadata')
-    {
-        $this->methodName = $methodName;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function loadClassMetadata(ClassMetadata $metadata)
-    {
-        /** @var \ReflectionClass $reflClass */
-        $reflClass = $metadata->getReflectionClass();
-
-        if (!$reflClass->isInterface() && $reflClass->hasMethod($this->methodName)) {
-            $reflMethod = $reflClass->getMethod($this->methodName);
-
-            if ($reflMethod->isAbstract()) {
-                return false;
-            }
-
-            if (!$reflMethod->isStatic()) {
-                throw new MappingException(sprintf('The method %s::%s should be static', $reflClass->name, $this->methodName));
-            }
-
-            if ($reflMethod->getDeclaringClass()->name != $reflClass->name) {
-                return false;
-            }
-
-            $reflMethod->invoke(null, $metadata);
-
-            return true;
-        }
-
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php
deleted file mode 100644
index 2961b00..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php
+++ /dev/null
@@ -1,219 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Symfony\Component\Config\Util\XmlUtils;
-use Symfony\Component\Validator\Exception\MappingException;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-/**
- * Loads validation metadata from an XML file.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class XmlFileLoader extends FileLoader
-{
-    /**
-     * The XML nodes of the mapping file.
-     *
-     * @var \SimpleXMLElement[]|null
-     */
-    protected $classes;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function loadClassMetadata(ClassMetadata $metadata)
-    {
-        if (null === $this->classes) {
-            // This method may throw an exception. Do not modify the class'
-            // state before it completes
-            $xml = $this->parseFile($this->file);
-
-            $this->classes = array();
-
-            foreach ($xml->namespace as $namespace) {
-                $this->addNamespaceAlias((string) $namespace['prefix'], trim((string) $namespace));
-            }
-
-            foreach ($xml->class as $class) {
-                $this->classes[(string) $class['name']] = $class;
-            }
-        }
-
-        if (isset($this->classes[$metadata->getClassName()])) {
-            $classDescription = $this->classes[$metadata->getClassName()];
-
-            $this->loadClassMetadataFromXml($metadata, $classDescription);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Parses a collection of "constraint" XML nodes.
-     *
-     * @param \SimpleXMLElement $nodes The XML nodes
-     *
-     * @return array The Constraint instances
-     */
-    protected function parseConstraints(\SimpleXMLElement $nodes)
-    {
-        $constraints = array();
-
-        foreach ($nodes as $node) {
-            if (count($node) > 0) {
-                if (count($node->value) > 0) {
-                    $options = $this->parseValues($node->value);
-                } elseif (count($node->constraint) > 0) {
-                    $options = $this->parseConstraints($node->constraint);
-                } elseif (count($node->option) > 0) {
-                    $options = $this->parseOptions($node->option);
-                } else {
-                    $options = array();
-                }
-            } elseif (strlen((string) $node) > 0) {
-                $options = trim($node);
-            } else {
-                $options = null;
-            }
-
-            $constraints[] = $this->newConstraint((string) $node['name'], $options);
-        }
-
-        return $constraints;
-    }
-
-    /**
-     * Parses a collection of "value" XML nodes.
-     *
-     * @param \SimpleXMLElement $nodes The XML nodes
-     *
-     * @return array The values
-     */
-    protected function parseValues(\SimpleXMLElement $nodes)
-    {
-        $values = array();
-
-        foreach ($nodes as $node) {
-            if (count($node) > 0) {
-                if (count($node->value) > 0) {
-                    $value = $this->parseValues($node->value);
-                } elseif (count($node->constraint) > 0) {
-                    $value = $this->parseConstraints($node->constraint);
-                } else {
-                    $value = array();
-                }
-            } else {
-                $value = trim($node);
-            }
-
-            if (isset($node['key'])) {
-                $values[(string) $node['key']] = $value;
-            } else {
-                $values[] = $value;
-            }
-        }
-
-        return $values;
-    }
-
-    /**
-     * Parses a collection of "option" XML nodes.
-     *
-     * @param \SimpleXMLElement $nodes The XML nodes
-     *
-     * @return array The options
-     */
-    protected function parseOptions(\SimpleXMLElement $nodes)
-    {
-        $options = array();
-
-        foreach ($nodes as $node) {
-            if (count($node) > 0) {
-                if (count($node->value) > 0) {
-                    $value = $this->parseValues($node->value);
-                } elseif (count($node->constraint) > 0) {
-                    $value = $this->parseConstraints($node->constraint);
-                } else {
-                    $value = array();
-                }
-            } else {
-                $value = XmlUtils::phpize($node);
-                if (is_string($value)) {
-                    $value = trim($value);
-                }
-            }
-
-            $options[(string) $node['name']] = $value;
-        }
-
-        return $options;
-    }
-
-    /**
-     * Loads the XML class descriptions from the given file.
-     *
-     * @param string $path The path of the XML file
-     *
-     * @return \SimpleXMLElement The class descriptions
-     *
-     * @throws MappingException If the file could not be loaded
-     */
-    protected function parseFile($path)
-    {
-        try {
-            $dom = XmlUtils::loadFile($path, __DIR__.'/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd');
-        } catch (\Exception $e) {
-            throw new MappingException($e->getMessage(), $e->getCode(), $e);
-        }
-
-        return simplexml_import_dom($dom);
-    }
-
-    /**
-     * Loads the validation metadata from the given XML class description.
-     *
-     * @param ClassMetadata $metadata         The metadata to load
-     * @param array         $classDescription The XML class description
-     */
-    private function loadClassMetadataFromXml(ClassMetadata $metadata, $classDescription)
-    {
-        foreach ($classDescription->{'group-sequence-provider'} as $_) {
-            $metadata->setGroupSequenceProvider(true);
-        }
-
-        foreach ($classDescription->{'group-sequence'} as $groupSequence) {
-            if (count($groupSequence->value) > 0) {
-                $metadata->setGroupSequence($this->parseValues($groupSequence[0]->value));
-            }
-        }
-
-        foreach ($this->parseConstraints($classDescription->constraint) as $constraint) {
-            $metadata->addConstraint($constraint);
-        }
-
-        foreach ($classDescription->property as $property) {
-            foreach ($this->parseConstraints($property->constraint) as $constraint) {
-                $metadata->addPropertyConstraint((string) $property['name'], $constraint);
-            }
-        }
-
-        foreach ($classDescription->getter as $getter) {
-            foreach ($this->parseConstraints($getter->constraint) as $constraint) {
-                $metadata->addGetterConstraint((string) $getter['property'], $constraint);
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFilesLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFilesLoader.php
deleted file mode 100644
index 6017c3f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFilesLoader.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-/**
- * Loads validation metadata from a list of XML files.
- *
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see FilesLoader
- */
-class XmlFilesLoader extends FilesLoader
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getFileLoaderInstance($file)
-    {
-        return new XmlFileLoader($file);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFileLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFileLoader.php
deleted file mode 100644
index 6075b27..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFileLoader.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Yaml\Parser as YamlParser;
-
-/**
- * Loads validation metadata from a YAML file.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class YamlFileLoader extends FileLoader
-{
-    /**
-     * An array of YAML class descriptions.
-     *
-     * @var array
-     */
-    protected $classes = null;
-
-    /**
-     * Caches the used YAML parser.
-     *
-     * @var YamlParser
-     */
-    private $yamlParser;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function loadClassMetadata(ClassMetadata $metadata)
-    {
-        if (null === $this->classes) {
-            if (null === $this->yamlParser) {
-                $this->yamlParser = new YamlParser();
-            }
-
-            // This method may throw an exception. Do not modify the class'
-            // state before it completes
-            if (false === ($classes = $this->parseFile($this->file))) {
-                return false;
-            }
-
-            $this->classes = $classes;
-
-            if (isset($this->classes['namespaces'])) {
-                foreach ($this->classes['namespaces'] as $alias => $namespace) {
-                    $this->addNamespaceAlias($alias, $namespace);
-                }
-
-                unset($this->classes['namespaces']);
-            }
-        }
-
-        if (isset($this->classes[$metadata->getClassName()])) {
-            $classDescription = $this->classes[$metadata->getClassName()];
-
-            $this->loadClassMetadataFromYaml($metadata, $classDescription);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Parses a collection of YAML nodes.
-     *
-     * @param array $nodes The YAML nodes
-     *
-     * @return array An array of values or Constraint instances
-     */
-    protected function parseNodes(array $nodes)
-    {
-        $values = array();
-
-        foreach ($nodes as $name => $childNodes) {
-            if (is_numeric($name) && is_array($childNodes) && 1 === count($childNodes)) {
-                $options = current($childNodes);
-
-                if (is_array($options)) {
-                    $options = $this->parseNodes($options);
-                }
-
-                $values[] = $this->newConstraint(key($childNodes), $options);
-            } else {
-                if (is_array($childNodes)) {
-                    $childNodes = $this->parseNodes($childNodes);
-                }
-
-                $values[$name] = $childNodes;
-            }
-        }
-
-        return $values;
-    }
-
-    /**
-     * Loads the YAML class descriptions from the given file.
-     *
-     * @param string $path The path of the YAML file
-     *
-     * @return array|null The class descriptions or null, if the file was empty
-     *
-     * @throws \InvalidArgumentException If the file could not be loaded or did
-     *                                   not contain a YAML array
-     */
-    private function parseFile($path)
-    {
-        $classes = $this->yamlParser->parse(file_get_contents($path));
-
-        // empty file
-        if (null === $classes) {
-            return;
-        }
-
-        // not an array
-        if (!is_array($classes)) {
-            throw new \InvalidArgumentException(sprintf('The file "%s" must contain a YAML array.', $this->file));
-        }
-
-        return $classes;
-    }
-
-    /**
-     * Loads the validation metadata from the given YAML class description.
-     *
-     * @param ClassMetadata $metadata         The metadata to load
-     * @param array         $classDescription The YAML class description
-     */
-    private function loadClassMetadataFromYaml(ClassMetadata $metadata, array $classDescription)
-    {
-        if (isset($classDescription['group_sequence_provider'])) {
-            $metadata->setGroupSequenceProvider(
-                (bool) $classDescription['group_sequence_provider']
-            );
-        }
-
-        if (isset($classDescription['group_sequence'])) {
-            $metadata->setGroupSequence($classDescription['group_sequence']);
-        }
-
-        if (isset($classDescription['constraints']) && is_array($classDescription['constraints'])) {
-            foreach ($this->parseNodes($classDescription['constraints']) as $constraint) {
-                $metadata->addConstraint($constraint);
-            }
-        }
-
-        if (isset($classDescription['properties']) && is_array($classDescription['properties'])) {
-            foreach ($classDescription['properties'] as $property => $constraints) {
-                if (null !== $constraints) {
-                    foreach ($this->parseNodes($constraints) as $constraint) {
-                        $metadata->addPropertyConstraint($property, $constraint);
-                    }
-                }
-            }
-        }
-
-        if (isset($classDescription['getters']) && is_array($classDescription['getters'])) {
-            foreach ($classDescription['getters'] as $getter => $constraints) {
-                if (null !== $constraints) {
-                    foreach ($this->parseNodes($constraints) as $constraint) {
-                        $metadata->addGetterConstraint($getter, $constraint);
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFilesLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFilesLoader.php
deleted file mode 100644
index 235856f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFilesLoader.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping\Loader;
-
-/**
- * Loads validation metadata from a list of YAML files.
- *
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see FilesLoader
- */
-class YamlFilesLoader extends FilesLoader
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getFileLoaderInstance($file)
-    {
-        return new YamlFileLoader($file);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd
deleted file mode 100644
index 1ca840b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" ?>
-
-<xsd:schema xmlns="http://symfony.com/schema/dic/constraint-mapping"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://symfony.com/schema/dic/constraint-mapping"
-    elementFormDefault="qualified">
-
-  <xsd:annotation>
-    <xsd:documentation><![CDATA[
-      Symfony Validator Constraint Mapping Schema, version 1.0
-      Authors: Bernhard Schussek
-
-      A constraint mapping connects classes, properties and getters with
-      validation constraints.
-    ]]></xsd:documentation>
-  </xsd:annotation>
-  
-  <xsd:element name="constraint-mapping" type="constraint-mapping" />
-  
-  <xsd:complexType name="constraint-mapping">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        The root element of the constraint mapping definition.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="namespace" type="namespace" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="class" type="class" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-  
-  <xsd:complexType name="namespace">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Contains the abbreviation for a namespace.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="prefix" type="xsd:string" use="required" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-  
-  <xsd:complexType name="class">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Contains constraints for a single class.
-        
-        Nested elements may be class constraints, property and/or getter 
-        definitions.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="group-sequence-provider" type="group-sequence-provider" minOccurs="0" maxOccurs="1" />
-      <xsd:element name="group-sequence" type="group-sequence" minOccurs="0" maxOccurs="1" />
-      <xsd:element name="constraint" type="constraint" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="property" type="property" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="getter" type="getter" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:choice>
-    <xsd:attribute name="name" type="xsd:string" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="group-sequence">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Contains the group sequence of a class. Each group should be written
-        into a "value" tag.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-  
-  <xsd:complexType name="group-sequence-provider">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Defines the name of the group sequence provider for a class.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Contains constraints for a single property. The name of the property
-        should be given in the "name" option.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="constraint" type="constraint" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required" />
-  </xsd:complexType>
-  
-  <xsd:complexType name="getter">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Contains constraints for a getter method. The name of the corresponding
-        property should be given in the "property" option.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="constraint" type="constraint" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="property" type="xsd:string" use="required" />
-  </xsd:complexType>
-  
-  <xsd:complexType name="constraint" mixed="true">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Contains a constraint definition. The name of the constraint should be
-        given in the "name" option.
-        
-        May contain a single value, multiple "constraint" elements, 
-        multiple "value" elements or multiple "option" elements.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice minOccurs="0">
-      <xsd:element name="constraint" type="constraint" minOccurs="1" maxOccurs="unbounded" />
-      <xsd:element name="option" type="option" minOccurs="1" maxOccurs="unbounded" />
-      <xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
-    </xsd:choice>
-    <xsd:attribute name="name" type="xsd:string" use="required" />    
-  </xsd:complexType>
-  
-  <xsd:complexType name="option" mixed="true">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        Contains a constraint option definition. The name of the option
-        should be given in the "name" option.
-        
-        May contain a single value, multiple "value" elements or multiple
-        "constraint" elements.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice minOccurs="0">
-      <xsd:element name="constraint" type="constraint" minOccurs="1" maxOccurs="unbounded" />
-      <xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
-    </xsd:choice>
-    <xsd:attribute name="name" type="xsd:string" use="required" />  
-  </xsd:complexType>
-  
-  <xsd:complexType name="value" mixed="true">
-    <xsd:annotation>
-      <xsd:documentation><![CDATA[
-        A value of an element.
-        
-        May contain a single value, multiple "value" elements or multiple
-        "constraint" elements.
-      ]]></xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice minOccurs="0">
-      <xsd:element name="constraint" type="constraint" minOccurs="1" maxOccurs="unbounded" />
-      <xsd:element name="value" type="value" minOccurs="1" maxOccurs="unbounded" />
-    </xsd:choice>
-    <xsd:attribute name="key" type="xsd:string" use="optional" /> 
-  </xsd:complexType>
-</xsd:schema>
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MemberMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MemberMetadata.php
deleted file mode 100644
index a0bbe0d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MemberMetadata.php
+++ /dev/null
@@ -1,251 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\ValidationVisitorInterface;
-
-/**
- * Stores all metadata needed for validating a class property.
- *
- * The method of accessing the property's value must be specified by subclasses
- * by implementing the {@link newReflectionMember()} method.
- *
- * This class supports serialization and cloning.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see PropertyMetadataInterface
- */
-abstract class MemberMetadata extends ElementMetadata implements PropertyMetadataInterface
-{
-    /**
-     * @var string
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getClassName()} instead.
-     */
-    public $class;
-
-    /**
-     * @var string
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getName()} instead.
-     */
-    public $name;
-
-    /**
-     * @var string
-     *
-     * @internal This property is public in order to reduce the size of the
-     *           class' serialized representation. Do not access it. Use
-     *           {@link getPropertyName()} instead.
-     */
-    public $property;
-
-    /**
-     * @var \ReflectionMethod[]|\ReflectionProperty[]
-     */
-    private $reflMember = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $class    The name of the class this member is defined on
-     * @param string $name     The name of the member
-     * @param string $property The property the member belongs to
-     */
-    public function __construct($class, $name, $property)
-    {
-        $this->class = $class;
-        $this->name = $name;
-        $this->property = $property;
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     */
-    public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath, $propagatedGroup = null)
-    {
-        $visitor->visit($this, $value, $group, $propertyPath);
-
-        if ($this->isCascaded()) {
-            $visitor->validate($value, $propagatedGroup ?: $group, $propertyPath, $this->isCollectionCascaded(), $this->isCollectionCascadedDeeply());
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addConstraint(Constraint $constraint)
-    {
-        if (!in_array(Constraint::PROPERTY_CONSTRAINT, (array) $constraint->getTargets())) {
-            throw new ConstraintDefinitionException(sprintf(
-                'The constraint %s cannot be put on properties or getters',
-                get_class($constraint)
-            ));
-        }
-
-        parent::addConstraint($constraint);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __sleep()
-    {
-        return array_merge(parent::__sleep(), array(
-            'class',
-            'name',
-            'property',
-        ));
-    }
-
-    /**
-     * Returns the name of the member.
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getClassName()
-    {
-        return $this->class;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyName()
-    {
-        return $this->property;
-    }
-
-    /**
-     * Returns whether this member is public.
-     *
-     * @param object|string $objectOrClassName The object or the class name
-     *
-     * @return bool
-     */
-    public function isPublic($objectOrClassName)
-    {
-        return $this->getReflectionMember($objectOrClassName)->isPublic();
-    }
-
-    /**
-     * Returns whether this member is protected.
-     *
-     * @param object|string $objectOrClassName The object or the class name
-     *
-     * @return bool
-     */
-    public function isProtected($objectOrClassName)
-    {
-        return $this->getReflectionMember($objectOrClassName)->isProtected();
-    }
-
-    /**
-     * Returns whether this member is private.
-     *
-     * @param object|string $objectOrClassName The object or the class name
-     *
-     * @return bool
-     */
-    public function isPrivate($objectOrClassName)
-    {
-        return $this->getReflectionMember($objectOrClassName)->isPrivate();
-    }
-
-    /**
-     * Returns whether objects stored in this member should be validated.
-     *
-     * @return bool
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link getCascadingStrategy()} instead.
-     */
-    public function isCascaded()
-    {
-        return (bool) ($this->cascadingStrategy & CascadingStrategy::CASCADE);
-    }
-
-    /**
-     * Returns whether arrays or traversable objects stored in this member
-     * should be traversed and validated in each entry.
-     *
-     * @return bool
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link getTraversalStrategy()} instead.
-     */
-    public function isCollectionCascaded()
-    {
-        return (bool) ($this->traversalStrategy & (TraversalStrategy::IMPLICIT | TraversalStrategy::TRAVERSE));
-    }
-
-    /**
-     * Returns whether arrays or traversable objects stored in this member
-     * should be traversed recursively for inner arrays/traversable objects.
-     *
-     * @return bool
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link getTraversalStrategy()} instead.
-     */
-    public function isCollectionCascadedDeeply()
-    {
-        return !($this->traversalStrategy & TraversalStrategy::STOP_RECURSION);
-    }
-
-    /**
-     * Returns the reflection instance for accessing the member's value.
-     *
-     * @param object|string $objectOrClassName The object or the class name
-     *
-     * @return \ReflectionMethod|\ReflectionProperty The reflection instance
-     */
-    public function getReflectionMember($objectOrClassName)
-    {
-        $className = is_string($objectOrClassName) ? $objectOrClassName : get_class($objectOrClassName);
-        if (!isset($this->reflMember[$className])) {
-            $this->reflMember[$className] = $this->newReflectionMember($objectOrClassName);
-        }
-
-        return $this->reflMember[$className];
-    }
-
-    /**
-     * Creates a new reflection instance for accessing the member's value.
-     *
-     * Must be implemented by subclasses.
-     *
-     * @param object|string $objectOrClassName The object or the class name
-     *
-     * @return \ReflectionMethod|\ReflectionProperty The reflection instance
-     */
-    abstract protected function newReflectionMember($objectOrClassName);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MetadataInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MetadataInterface.php
deleted file mode 100644
index fda1dbb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MetadataInterface.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\MetadataInterface as LegacyMetadataInterface;
-
-/**
- * A container for validation metadata.
- *
- * Most importantly, the metadata stores the constraints against which an object
- * and its properties should be validated.
- *
- * Additionally, the metadata stores whether objects should be validated
- * against their class' metadata and whether traversable objects should be
- * traversed or not.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see CascadingStrategy
- * @see TraversalStrategy
- */
-interface MetadataInterface extends LegacyMetadataInterface
-{
-    /**
-     * Returns the strategy for cascading objects.
-     *
-     * @return int The cascading strategy
-     *
-     * @see CascadingStrategy
-     */
-    public function getCascadingStrategy();
-
-    /**
-     * Returns the strategy for traversing traversable objects.
-     *
-     * @return int The traversal strategy
-     *
-     * @see TraversalStrategy
-     */
-    public function getTraversalStrategy();
-
-    /**
-     * Returns all constraints of this element.
-     *
-     * @return Constraint[] A list of Constraint instances
-     */
-    public function getConstraints();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadata.php
deleted file mode 100644
index 7319294..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadata.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\Exception\ValidatorException;
-
-/**
- * Stores all metadata needed for validating a class property.
- *
- * The value of the property is obtained by directly accessing the property.
- * The property will be accessed by reflection, so the access of private and
- * protected properties is supported.
- *
- * This class supports serialization and cloning.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see PropertyMetadataInterface
- */
-class PropertyMetadata extends MemberMetadata
-{
-    /**
-     * Constructor.
-     *
-     * @param string $class The class this property is defined on
-     * @param string $name  The name of this property
-     *
-     * @throws ValidatorException
-     */
-    public function __construct($class, $name)
-    {
-        if (!property_exists($class, $name)) {
-            throw new ValidatorException(sprintf('Property %s does not exist in class %s', $name, $class));
-        }
-
-        parent::__construct($class, $name, $name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPropertyValue($object)
-    {
-        return $this->getReflectionMember($object)->getValue($object);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function newReflectionMember($objectOrClassName)
-    {
-        $class = new \ReflectionClass($objectOrClassName);
-        while (!$class->hasProperty($this->getName())) {
-            $class = $class->getParentClass();
-        }
-
-        $member = new \ReflectionProperty($class->getName(), $this->getName());
-        $member->setAccessible(true);
-
-        return $member;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadataInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadataInterface.php
deleted file mode 100644
index 79e2c79..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadataInterface.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-use Symfony\Component\Validator\ClassBasedInterface;
-use Symfony\Component\Validator\PropertyMetadataInterface as LegacyPropertyMetadataInterface;
-
-/**
- * Stores all metadata needed for validating the value of a class property.
- *
- * Most importantly, the metadata stores the constraints against which the
- * property's value should be validated.
- *
- * Additionally, the metadata stores whether objects stored in the property
- * should be validated against their class' metadata and whether traversable
- * objects should be traversed or not.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see MetadataInterface
- * @see CascadingStrategy
- * @see TraversalStrategy
- */
-interface PropertyMetadataInterface extends MetadataInterface, LegacyPropertyMetadataInterface, ClassBasedInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/TraversalStrategy.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/TraversalStrategy.php
deleted file mode 100644
index 5122c47..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/TraversalStrategy.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Mapping;
-
-/**
- * Specifies whether and how a traversable object should be traversed.
- *
- * If the node traverser traverses a node whose value is an instance of
- * {@link \Traversable}, and if that node is either a class node or if
- * cascading is enabled, then the node's traversal strategy will be checked.
- * Depending on the requested traversal strategy, the node traverser will
- * iterate over the object and cascade each object or collection returned by
- * the iterator.
- *
- * The traversal strategy is ignored for arrays. Arrays are always iterated.
- *
- * @since  2.1
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see CascadingStrategy
- */
-class TraversalStrategy
-{
-    /**
-     * Specifies that a node's value should be iterated only if it is an
-     * instance of {@link \Traversable}.
-     */
-    const IMPLICIT = 1;
-
-    /**
-     * Specifies that a node's value should never be iterated.
-     */
-    const NONE = 2;
-
-    /**
-     * Specifies that a node's value should always be iterated. If the value is
-     * not an instance of {@link \Traversable}, an exception should be thrown.
-     */
-    const TRAVERSE = 4;
-
-    /**
-     * Specifies that nested instances of {@link \Traversable} should never be
-     * iterated. Can be combined with {@link IMPLICIT} or {@link TRAVERSE}.
-     *
-     * @deprecated This constant was added for backwards compatibility only.
-     *             It will be removed in Symfony 3.0.
-     * @internal
-     */
-    const STOP_RECURSION = 8;
-
-    /**
-     * Not instantiable.
-     */
-    private function __construct()
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataFactoryInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataFactoryInterface.php
deleted file mode 100644
index 4c0cbad..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataFactoryInterface.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Returns {@link MetadataInterface} instances for values.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Mapping\Factory\MetadataFactoryInterface} instead.
- */
-interface MetadataFactoryInterface
-{
-    /**
-     * Returns the metadata for the given value.
-     *
-     * @param mixed $value Some value
-     *
-     * @return MetadataInterface The metadata for the value
-     *
-     * @throws Exception\NoSuchMetadataException If no metadata exists for the given value
-     */
-    public function getMetadataFor($value);
-
-    /**
-     * Returns whether the class is able to return metadata for the given value.
-     *
-     * @param mixed $value Some value
-     *
-     * @return bool Whether metadata can be returned for that value
-     */
-    public function hasMetadataFor($value);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataInterface.php
deleted file mode 100644
index 60abfeb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataInterface.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * A container for validation metadata.
- *
- * The container contains constraints that may belong to different validation
- * groups. Constraints for a specific group can be fetched by calling
- * {@link findConstraints}.
- *
- * Implement this interface to add validation metadata to your own metadata
- * layer. Each metadata may have named properties. Each property can be
- * represented by one or more {@link PropertyMetadataInterface} instances that
- * are returned by {@link getPropertyMetadata}. Since
- * <tt>PropertyMetadataInterface</tt> inherits from <tt>MetadataInterface</tt>,
- * each property may be divided into further properties.
- *
- * The {@link accept} method of each metadata implements the Visitor pattern.
- * The method should forward the call to the visitor's
- * {@link ValidationVisitorInterface::visit} method and additionally call
- * <tt>accept()</tt> on all structurally related metadata instances.
- *
- * For example, to store constraints for PHP classes and their properties,
- * create a class <tt>ClassMetadata</tt> (implementing <tt>MetadataInterface</tt>)
- * and a class <tt>PropertyMetadata</tt> (implementing <tt>PropertyMetadataInterface</tt>).
- * <tt>ClassMetadata::getPropertyMetadata($property)</tt> returns all
- * <tt>PropertyMetadata</tt> instances for a property of that class. Its
- * <tt>accept()</tt>-method simply forwards to <tt>ValidationVisitorInterface::visit()</tt>
- * and calls <tt>accept()</tt> on all contained <tt>PropertyMetadata</tt>
- * instances, which themselves call <tt>ValidationVisitorInterface::visit()</tt>
- * again.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Mapping\MetadataInterface} instead.
- */
-interface MetadataInterface
-{
-    /**
-     * Implementation of the Visitor design pattern.
-     *
-     * Calls {@link ValidationVisitorInterface::visit} and then forwards the
-     * <tt>accept()</tt>-call to all property metadata instances.
-     *
-     * @param ValidationVisitorInterface $visitor      The visitor implementing the validation logic
-     * @param mixed                      $value        The value to validate
-     * @param string|string[]            $group        The validation group to validate in
-     * @param string                     $propertyPath The current property path in the validation graph
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     */
-    public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath);
-
-    /**
-     * Returns all constraints for a given validation group.
-     *
-     * @param string $group The validation group
-     *
-     * @return Constraint[] A list of constraint instances
-     */
-    public function findConstraints($group);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ObjectInitializerInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ObjectInitializerInterface.php
deleted file mode 100644
index 0426bc8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ObjectInitializerInterface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Prepares an object for validation.
- *
- * Concrete implementations of this interface are used by {@link ValidationVisitorInterface}
- * to initialize objects just before validating them.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-interface ObjectInitializerInterface
-{
-    /**
-     * Initializes an object just before validation.
-     *
-     * @param object $object The object to validate
-     *
-     * @api
-     */
-    public function initialize($object);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataContainerInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataContainerInterface.php
deleted file mode 100644
index 91b286a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataContainerInterface.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * A container for {@link PropertyMetadataInterface} instances.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Mapping\ClassMetadataInterface} instead.
- */
-interface PropertyMetadataContainerInterface
-{
-    /**
-     * Check if there's any metadata attached to the given named property.
-     *
-     * @param string $property The property name.
-     *
-     * @return bool
-     */
-    public function hasPropertyMetadata($property);
-
-    /**
-     * Returns all metadata instances for the given named property.
-     *
-     * If your implementation does not support properties, simply throw an
-     * exception in this method (for example a <tt>BadMethodCallException</tt>).
-     *
-     * @param string $property The property name.
-     *
-     * @return PropertyMetadataInterface[] A list of metadata instances. Empty if
-     *                                     no metadata exists for the property.
-     */
-    public function getPropertyMetadata($property);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataInterface.php
deleted file mode 100644
index c18ae83..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataInterface.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * A container for validation metadata of a property.
- *
- * What exactly you define as "property" is up to you. The validator expects
- * implementations of {@link MetadataInterface} that contain constraints and
- * optionally a list of named properties that also have constraints (and may
- * have further sub properties). Such properties are mapped by implementations
- * of this interface.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see MetadataInterface
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Mapping\PropertyMetadataInterface} instead.
- */
-interface PropertyMetadataInterface extends MetadataInterface
-{
-    /**
-     * Returns the name of the property.
-     *
-     * @return string The property name.
-     */
-    public function getPropertyName();
-
-    /**
-     * Extracts the value of the property from the given container.
-     *
-     * @param mixed $containingValue The container to extract the property value from.
-     *
-     * @return mixed The value of the property.
-     */
-    public function getPropertyValue($containingValue);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/README.md b/core/vendor/symfony/validator/Symfony/Component/Validator/README.md
deleted file mode 100644
index 8c3dc48..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/README.md
+++ /dev/null
@@ -1,126 +0,0 @@
-Validator Component
-===================
-
-This component is based on the JSR-303 Bean Validation specification and
-enables specifying validation rules for classes using XML, YAML, PHP or
-annotations, which can then be checked against instances of these classes.
-
-Usage
------
-
-The component provides "validation constraints", which are simple objects
-containing the rules for the validation. Let's validate a simple string
-as an example:
-
-```php
-use Symfony\Component\Validator\Validation;
-use Symfony\Component\Validator\Constraints\Length;
-
-$validator = Validation::createValidator();
-
-$violations = $validator->validateValue('Bernhard', new Length(array('min' => 10)));
-```
-
-This validation will fail because the given string is shorter than ten
-characters. The precise errors, here called "constraint violations",  are
-returned by the validator. You can analyze these or return them to the user.
-If the violation list is empty, validation succeeded.
-
-Validation of arrays is possible using the `Collection` constraint:
-
-```php
-use Symfony\Component\Validator\Validation;
-use Symfony\Component\Validator\Constraints as Assert;
-
-$validator = Validation::createValidator();
-
-$constraint = new Assert\Collection(array(
-    'name' => new Assert\Collection(array(
-        'first_name' => new Assert\Length(array('min' => 101)),
-        'last_name' => new Assert\Length(array('min' => 1)),
-    )),
-    'email' => new Assert\Email(),
-    'simple' => new Assert\Length(array('min' => 102)),
-    'gender' => new Assert\Choice(array(3, 4)),
-    'file' => new Assert\File(),
-    'password' => new Assert\Length(array('min' => 60)),
-));
-
-$violations = $validator->validateValue($input, $constraint);
-```
-
-Again, the validator returns the list of violations.
-
-Validation of objects is possible using "constraint mapping". With such
-a mapping you can put constraints onto properties and objects of classes.
-Whenever an object of this class is validated, its properties and
-method results are matched against the constraints.
-
-```php
-use Symfony\Component\Validator\Validation;
-use Symfony\Component\Validator\Constraints as Assert;
-
-class User
-{
-    /**
-     * @Assert\Length(min = 3)
-     * @Assert\NotBlank
-     */
-    private $name;
-
-    /**
-     * @Assert\Email
-     * @Assert\NotBlank
-     */
-    private $email;
-
-    public function __construct($name, $email)
-    {
-        $this->name = $name;
-        $this->email = $email;
-    }
-
-    /**
-     * @Assert\True(message = "The user should have a Google Mail account")
-     */
-    public function isGmailUser()
-    {
-        return false !== strpos($this->email, '@gmail.com');
-    }
-}
-
-$validator = Validation::createValidatorBuilder()
-    ->enableAnnotationMapping()
-    ->getValidator();
-
-$user = new User('John Doe', 'john@example.com');
-
-$violations = $validator->validate($user);
-```
-
-This example uses the annotation support of Doctrine Common to
-map constraints to properties and methods. You can also map constraints
-using XML, YAML or plain PHP, if you dislike annotations or don't want
-to include Doctrine. Check the documentation for more information about
-these drivers.
-
-Resources
----------
-
-Silex integration:
-
-https://github.com/fabpot/Silex/blob/master/src/Silex/Provider/ValidatorServiceProvider.php
-
-Documentation:
-
-https://symfony.com/doc/2.6/book/validation.html
-
-JSR-303 Specification:
-
-http://jcp.org/en/jsr/detail?id=303
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/Validator/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintTest.php
deleted file mode 100644
index f63570c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintTest.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Tests\Fixtures\ClassConstraint;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintC;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintWithValue;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintWithValueAsDefault;
-
-class ConstraintTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSetProperties()
-    {
-        $constraint = new ConstraintA(array(
-            'property1' => 'foo',
-            'property2' => 'bar',
-        ));
-
-        $this->assertEquals('foo', $constraint->property1);
-        $this->assertEquals('bar', $constraint->property2);
-    }
-
-    public function testSetNotExistingPropertyThrowsException()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\InvalidOptionsException');
-
-        new ConstraintA(array(
-            'foo' => 'bar',
-        ));
-    }
-
-    public function testMagicPropertiesAreNotAllowed()
-    {
-        $constraint = new ConstraintA();
-
-        $this->setExpectedException('Symfony\Component\Validator\Exception\InvalidOptionsException');
-
-        $constraint->foo = 'bar';
-    }
-
-    public function testInvalidAndRequiredOptionsPassed()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\InvalidOptionsException');
-
-        new ConstraintC(array(
-            'option1' => 'default',
-            'foo' => 'bar',
-        ));
-    }
-
-    public function testSetDefaultProperty()
-    {
-        $constraint = new ConstraintA('foo');
-
-        $this->assertEquals('foo', $constraint->property2);
-    }
-
-    public function testSetDefaultPropertyDoctrineStyle()
-    {
-        $constraint = new ConstraintA(array('value' => 'foo'));
-
-        $this->assertEquals('foo', $constraint->property2);
-    }
-
-    public function testSetDefaultPropertyDoctrineStylePlusOtherProperty()
-    {
-        $constraint = new ConstraintA(array('value' => 'foo', 'property1' => 'bar'));
-
-        $this->assertEquals('foo', $constraint->property2);
-        $this->assertEquals('bar', $constraint->property1);
-    }
-
-    public function testSetDefaultPropertyDoctrineStyleWhenDefaultPropertyIsNamedValue()
-    {
-        $constraint = new ConstraintWithValueAsDefault(array('value' => 'foo'));
-
-        $this->assertEquals('foo', $constraint->value);
-        $this->assertNull($constraint->property);
-    }
-
-    public function testDontSetDefaultPropertyIfValuePropertyExists()
-    {
-        $constraint = new ConstraintWithValue(array('value' => 'foo'));
-
-        $this->assertEquals('foo', $constraint->value);
-        $this->assertNull($constraint->property);
-    }
-
-    public function testSetUndefinedDefaultProperty()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\ConstraintDefinitionException');
-
-        new ConstraintB('foo');
-    }
-
-    public function testRequiredOptionsMustBeDefined()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\MissingOptionsException');
-
-        new ConstraintC();
-    }
-
-    public function testRequiredOptionsPassed()
-    {
-        new ConstraintC(array('option1' => 'default'));
-    }
-
-    public function testGroupsAreConvertedToArray()
-    {
-        $constraint = new ConstraintA(array('groups' => 'Foo'));
-
-        $this->assertEquals(array('Foo'), $constraint->groups);
-    }
-
-    public function testAddDefaultGroupAddsGroup()
-    {
-        $constraint = new ConstraintA(array('groups' => 'Default'));
-        $constraint->addImplicitGroupName('Foo');
-        $this->assertEquals(array('Default', 'Foo'), $constraint->groups);
-    }
-
-    public function testAllowsSettingZeroRequiredPropertyValue()
-    {
-        $constraint = new ConstraintA(0);
-        $this->assertEquals(0, $constraint->property2);
-    }
-
-    public function testCanCreateConstraintWithNoDefaultOptionAndEmptyArray()
-    {
-        new ConstraintB(array());
-    }
-
-    public function testGetTargetsCanBeString()
-    {
-        $constraint = new ClassConstraint();
-
-        $this->assertEquals('class', $constraint->getTargets());
-    }
-
-    public function testGetTargetsCanBeArray()
-    {
-        $constraint = new ConstraintA();
-
-        $this->assertEquals(array('property', 'class'), $constraint->getTargets());
-    }
-
-    public function testSerialize()
-    {
-        $constraint = new ConstraintA(array(
-            'property1' => 'foo',
-            'property2' => 'bar',
-        ));
-
-        $restoredConstraint = unserialize(serialize($constraint));
-
-        $this->assertEquals($constraint, $restoredConstraint);
-    }
-
-    public function testSerializeInitializesGroupsOptionToDefault()
-    {
-        $constraint = new ConstraintA(array(
-            'property1' => 'foo',
-            'property2' => 'bar',
-        ));
-
-        $constraint = unserialize(serialize($constraint));
-
-        $expected = new ConstraintA(array(
-            'property1' => 'foo',
-            'property2' => 'bar',
-            'groups' => 'Default',
-        ));
-
-        $this->assertEquals($expected, $constraint);
-    }
-
-    public function testSerializeKeepsCustomGroups()
-    {
-        $constraint = new ConstraintA(array(
-            'property1' => 'foo',
-            'property2' => 'bar',
-            'groups' => 'MyGroup',
-        ));
-
-        $constraint = unserialize(serialize($constraint));
-
-        $this->assertSame(array('MyGroup'), $constraint->groups);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\InvalidArgumentException
-     */
-    public function testGetErrorNameForUnknownCode()
-    {
-        Constraint::getErrorName(1);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php
deleted file mode 100644
index 30d7ff0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests;
-
-use Symfony\Component\Validator\ConstraintViolation;
-use Symfony\Component\Validator\ConstraintViolationList;
-
-class ConstraintViolationListTest extends \PHPUnit_Framework_TestCase
-{
-    protected $list;
-
-    protected function setUp()
-    {
-        $this->list = new ConstraintViolationList();
-    }
-
-    protected function tearDown()
-    {
-        $this->list = null;
-    }
-
-    public function testInit()
-    {
-        $this->assertCount(0, $this->list);
-    }
-
-    public function testInitWithViolations()
-    {
-        $violation = $this->getViolation('Error');
-        $this->list = new ConstraintViolationList(array($violation));
-
-        $this->assertCount(1, $this->list);
-        $this->assertSame($violation, $this->list[0]);
-    }
-
-    public function testAdd()
-    {
-        $violation = $this->getViolation('Error');
-        $this->list->add($violation);
-
-        $this->assertCount(1, $this->list);
-        $this->assertSame($violation, $this->list[0]);
-    }
-
-    public function testAddAll()
-    {
-        $violations = array(
-            10 => $this->getViolation('Error 1'),
-            20 => $this->getViolation('Error 2'),
-            30 => $this->getViolation('Error 3'),
-        );
-        $otherList = new ConstraintViolationList($violations);
-        $this->list->addAll($otherList);
-
-        $this->assertCount(3, $this->list);
-
-        $this->assertSame($violations[10], $this->list[0]);
-        $this->assertSame($violations[20], $this->list[1]);
-        $this->assertSame($violations[30], $this->list[2]);
-    }
-
-    public function testIterator()
-    {
-        $violations = array(
-            10 => $this->getViolation('Error 1'),
-            20 => $this->getViolation('Error 2'),
-            30 => $this->getViolation('Error 3'),
-        );
-
-        $this->list = new ConstraintViolationList($violations);
-
-        // indices are reset upon adding -> array_values()
-        $this->assertSame(array_values($violations), iterator_to_array($this->list));
-    }
-
-    public function testArrayAccess()
-    {
-        $violation = $this->getViolation('Error');
-        $this->list[] = $violation;
-
-        $this->assertSame($violation, $this->list[0]);
-        $this->assertTrue(isset($this->list[0]));
-
-        unset($this->list[0]);
-
-        $this->assertFalse(isset($this->list[0]));
-
-        $this->list[10] = $violation;
-
-        $this->assertSame($violation, $this->list[10]);
-        $this->assertTrue(isset($this->list[10]));
-    }
-
-    public function testToString()
-    {
-        $this->list = new ConstraintViolationList(array(
-            $this->getViolation('Error 1', 'Root'),
-            $this->getViolation('Error 2', 'Root', 'foo.bar'),
-            $this->getViolation('Error 3', 'Root', '[baz]'),
-            $this->getViolation('Error 4', '', 'foo.bar'),
-            $this->getViolation('Error 5', '', '[baz]'),
-        ));
-
-        $expected = <<<EOF
-Root:
-    Error 1
-Root.foo.bar:
-    Error 2
-Root[baz]:
-    Error 3
-foo.bar:
-    Error 4
-[baz]:
-    Error 5
-
-EOF;
-
-        $this->assertEquals($expected, (string) $this->list);
-    }
-
-    protected function getViolation($message, $root = null, $propertyPath = null)
-    {
-        return new ConstraintViolation($message, $message, array(), $root, $propertyPath, null);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationTest.php
deleted file mode 100644
index dffc384..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationTest.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests;
-
-use Symfony\Component\Validator\ConstraintViolation;
-
-class ConstraintViolationTest extends \PHPUnit_Framework_TestCase
-{
-    public function testToStringHandlesArrays()
-    {
-        $violation = new ConstraintViolation(
-            'Array',
-            '{{ value }}',
-            array('{{ value }}' => array(1, 2, 3)),
-            'Root',
-            'property.path',
-            null
-        );
-
-        $expected = <<<EOF
-Root.property.path:
-    Array
-EOF;
-
-        $this->assertSame($expected, (string) $violation);
-    }
-
-    public function testToStringHandlesArrayRoots()
-    {
-        $violation = new ConstraintViolation(
-            '42 cannot be used here',
-            'this is the message template',
-            array(),
-            array('some_value' => 42),
-            'some_value',
-            null
-        );
-
-        $expected = <<<EOF
-Array.some_value:
-    42 cannot be used here
-EOF;
-
-        $this->assertSame($expected, (string) $violation);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
deleted file mode 100644
index 4013fd4..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Intl\Util\IntlTestHelper;
-use Symfony\Component\Validator\Constraint;
-
-class ComparisonTest_Class
-{
-    protected $value;
-
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-
-    public function __toString()
-    {
-        return (string) $this->value;
-    }
-}
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-abstract class AbstractComparisonValidatorTestCase extends AbstractConstraintValidatorTest
-{
-    protected static function addPhp5Dot5Comparisons(array $comparisons)
-    {
-        if (version_compare(PHP_VERSION, '5.5.0-dev', '<')) {
-            return $comparisons;
-        }
-
-        $result = $comparisons;
-
-        // Duplicate all tests involving DateTime objects to be tested with
-        // DateTimeImmutable objects as well
-        foreach ($comparisons as $comparison) {
-            $add = false;
-
-            foreach ($comparison as $i => $value) {
-                if ($value instanceof \DateTime) {
-                    $comparison[$i] = new \DateTimeImmutable(
-                        $value->format('Y-m-d H:i:s.u e'),
-                        $value->getTimezone()
-                    );
-                    $add = true;
-                } elseif ('DateTime' === $value) {
-                    $comparison[$i] = 'DateTimeImmutable';
-                    $add = true;
-                }
-            }
-
-            if ($add) {
-                $result[] = $comparison;
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testThrowsConstraintExceptionIfNoValueOrProperty()
-    {
-        $comparison = $this->createConstraint(array());
-
-        $this->validator->validate('some value', $comparison);
-    }
-
-    /**
-     * @dataProvider provideAllValidComparisons
-     *
-     * @param mixed $dirtyValue
-     * @param mixed $comparisonValue
-     */
-    public function testValidComparisonToValue($dirtyValue, $comparisonValue)
-    {
-        $constraint = $this->createConstraint(array('value' => $comparisonValue));
-
-        $this->validator->validate($dirtyValue, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @return array
-     */
-    public function provideAllValidComparisons()
-    {
-        // The provider runs before setUp(), so we need to manually fix
-        // the default timezone
-        $this->setDefaultTimezone('UTC');
-
-        $comparisons = self::addPhp5Dot5Comparisons($this->provideValidComparisons());
-
-        $this->restoreDefaultTimezone();
-
-        return $comparisons;
-    }
-
-    /**
-     * @return array
-     */
-    abstract public function provideValidComparisons();
-
-    /**
-     * @dataProvider provideAllInvalidComparisons
-     *
-     * @param mixed  $dirtyValue
-     * @param mixed  $dirtyValueAsString
-     * @param mixed  $comparedValue
-     * @param mixed  $comparedValueString
-     * @param string $comparedValueType
-     */
-    public function testInvalidComparisonToValue($dirtyValue, $dirtyValueAsString, $comparedValue, $comparedValueString, $comparedValueType)
-    {
-        // Conversion of dates to string differs between ICU versions
-        // Make sure we have the correct version loaded
-        if ($dirtyValue instanceof \DateTime || $dirtyValue instanceof \DateTimeInterface) {
-            IntlTestHelper::requireIntl($this);
-        }
-
-        $constraint = $this->createConstraint(array('value' => $comparedValue));
-        $constraint->message = 'Constraint Message';
-
-        $this->validator->validate($dirtyValue, $constraint);
-
-        $this->buildViolation('Constraint Message')
-            ->setParameter('{{ value }}', $dirtyValueAsString)
-            ->setParameter('{{ compared_value }}', $comparedValueString)
-            ->setParameter('{{ compared_value_type }}', $comparedValueType)
-            ->assertRaised();
-    }
-
-    /**
-     * @return array
-     */
-    public function provideAllInvalidComparisons()
-    {
-        // The provider runs before setUp(), so we need to manually fix
-        // the default timezone
-        $this->setDefaultTimezone('UTC');
-
-        $comparisons = self::addPhp5Dot5Comparisons($this->provideInvalidComparisons());
-
-        $this->restoreDefaultTimezone();
-
-        return $comparisons;
-    }
-
-    /**
-     * @return array
-     */
-    abstract public function provideInvalidComparisons();
-
-    /**
-     * @param array $options Options for the constraint
-     *
-     * @return Constraint
-     */
-    abstract protected function createConstraint(array $options);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
deleted file mode 100644
index d55e464..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
+++ /dev/null
@@ -1,545 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\ConstraintValidatorInterface;
-use Symfony\Component\Validator\ConstraintViolation;
-use Symfony\Component\Validator\Context\ExecutionContext;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\Context\LegacyExecutionContext;
-use Symfony\Component\Validator\ExecutionContextInterface as LegacyExecutionContextInterface;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\PropertyMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\StubGlobalExecutionContext;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class AbstractConstraintValidatorTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var ExecutionContextInterface
-     */
-    protected $context;
-
-    /**
-     * @var ConstraintValidatorInterface
-     */
-    protected $validator;
-
-    protected $group;
-
-    protected $metadata;
-
-    protected $object;
-
-    protected $value;
-
-    protected $root;
-
-    protected $propertyPath;
-
-    protected $constraint;
-
-    protected $defaultTimezone;
-
-    protected function setUp()
-    {
-        if (Validation::API_VERSION_2_5 !== $this->getApiVersion()) {
-            $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-        }
-
-        $this->group = 'MyGroup';
-        $this->metadata = null;
-        $this->object = null;
-        $this->value = 'InvalidValue';
-        $this->root = 'root';
-        $this->propertyPath = 'property.path';
-
-        // Initialize the context with some constraint so that we can
-        // successfully build a violation.
-        // The 2.4 API does not keep a reference to the current
-        // constraint yet. There the violation stores null.
-        $this->constraint = Validation::API_VERSION_2_4 === $this->getApiVersion()
-            ? null
-            : new NotNull();
-
-        $this->context = $this->createContext();
-        $this->validator = $this->createValidator();
-        $this->validator->initialize($this->context);
-
-        \Locale::setDefault('en');
-
-        $this->setDefaultTimezone('UTC');
-    }
-
-    protected function tearDown()
-    {
-        $this->restoreDefaultTimezone();
-    }
-
-    protected function setDefaultTimezone($defaultTimezone)
-    {
-        // Make sure this method can not be called twice before calling
-        // also restoreDefaultTimezone()
-        if (null === $this->defaultTimezone) {
-            $this->defaultTimezone = date_default_timezone_get();
-            date_default_timezone_set($defaultTimezone);
-        }
-    }
-
-    protected function restoreDefaultTimezone()
-    {
-        if (null !== $this->defaultTimezone) {
-            date_default_timezone_set($this->defaultTimezone);
-            $this->defaultTimezone = null;
-        }
-    }
-
-    protected function createContext()
-    {
-        $translator = $this->getMock('Symfony\Component\Translation\TranslatorInterface');
-
-        if (Validation::API_VERSION_2_4 === $this->getApiVersion()) {
-            return $this->getMockBuilder('Symfony\Component\Validator\ExecutionContext')
-                ->setConstructorArgs(array(
-                    new StubGlobalExecutionContext($this->root),
-                    $translator,
-                    null,
-                    $this->metadata,
-                    $this->value,
-                    $this->group,
-                    $this->propertyPath,
-                ))
-                ->setMethods(array('validate', 'validateValue'))
-                ->getMock();
-        }
-
-        $validator = $this->getMock('Symfony\Component\Validator\Validator\ValidatorInterface');
-        $contextualValidator = $this->getMock('Symfony\Component\Validator\Validator\ContextualValidatorInterface');
-
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_5:
-                $context = new ExecutionContext(
-                    $validator,
-                    $this->root,
-                    $translator
-                );
-                break;
-            case Validation::API_VERSION_2_5_BC:
-                $context = new LegacyExecutionContext(
-                    $validator,
-                    $this->root,
-                    $this->getMock('Symfony\Component\Validator\MetadataFactoryInterface'),
-                    $translator
-                );
-                break;
-            default:
-                throw new \RuntimeException('Invalid API version');
-        }
-
-        $context->setGroup($this->group);
-        $context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath);
-        $context->setConstraint($this->constraint);
-
-        $validator->expects($this->any())
-            ->method('inContext')
-            ->with($context)
-            ->will($this->returnValue($contextualValidator));
-
-        return $context;
-    }
-
-    /**
-     * @param mixed  $message
-     * @param array  $parameters
-     * @param string $propertyPath
-     * @param string $invalidValue
-     * @param null   $plural
-     * @param null   $code
-     *
-     * @return ConstraintViolation
-     *
-     * @deprecated To be removed in Symfony 3.0. Use
-     *             {@link buildViolation()} instead.
-     */
-    protected function createViolation($message, array $parameters = array(), $propertyPath = 'property.path', $invalidValue = 'InvalidValue', $plural = null, $code = null)
-    {
-        return new ConstraintViolation(
-            null,
-            $message,
-            $parameters,
-            $this->root,
-            $propertyPath,
-            $invalidValue,
-            $plural,
-            $code,
-            $this->constraint
-        );
-    }
-
-    protected function setGroup($group)
-    {
-        $this->group = $group;
-
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context = $this->createContext();
-                $this->validator->initialize($this->context);
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $this->context->setGroup($group);
-                break;
-        }
-    }
-
-    protected function setObject($object)
-    {
-        $this->object = $object;
-        $this->metadata = is_object($object)
-            ? new ClassMetadata(get_class($object))
-            : null;
-
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context = $this->createContext();
-                $this->validator->initialize($this->context);
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath);
-                break;
-        }
-    }
-
-    protected function setProperty($object, $property)
-    {
-        $this->object = $object;
-        $this->metadata = is_object($object)
-            ? new PropertyMetadata(get_class($object), $property)
-            : null;
-
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context = $this->createContext();
-                $this->validator->initialize($this->context);
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath);
-                break;
-        }
-    }
-
-    protected function setValue($value)
-    {
-        $this->value = $value;
-
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context = $this->createContext();
-                $this->validator->initialize($this->context);
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath);
-                break;
-        }
-    }
-
-    protected function setRoot($root)
-    {
-        $this->root = $root;
-        $this->context = $this->createContext();
-        $this->validator->initialize($this->context);
-    }
-
-    protected function setPropertyPath($propertyPath)
-    {
-        $this->propertyPath = $propertyPath;
-
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context = $this->createContext();
-                $this->validator->initialize($this->context);
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath);
-                break;
-        }
-    }
-
-    protected function expectNoValidate()
-    {
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context->expects($this->never())
-                    ->method('validate');
-                $this->context->expects($this->never())
-                    ->method('validateValue');
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $validator = $this->context->getValidator()->inContext($this->context);
-                $validator->expects($this->never())
-                    ->method('atPath');
-                $validator->expects($this->never())
-                    ->method('validate');
-                break;
-        }
-    }
-
-    protected function expectValidateAt($i, $propertyPath, $value, $group)
-    {
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context->expects($this->at($i))
-                    ->method('validate')
-                    ->with($value, $propertyPath, $group);
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $validator = $this->context->getValidator()->inContext($this->context);
-                $validator->expects($this->at(2 * $i))
-                    ->method('atPath')
-                    ->with($propertyPath)
-                    ->will($this->returnValue($validator));
-                $validator->expects($this->at(2 * $i + 1))
-                    ->method('validate')
-                    ->with($value, $this->logicalOr(null, array()), $group);
-                break;
-        }
-    }
-
-    protected function expectValidateValueAt($i, $propertyPath, $value, $constraints, $group = null)
-    {
-        switch ($this->getApiVersion()) {
-            case Validation::API_VERSION_2_4:
-                $this->context->expects($this->at($i))
-                    ->method('validateValue')
-                    ->with($value, $constraints, $propertyPath, $group);
-                break;
-            case Validation::API_VERSION_2_5:
-            case Validation::API_VERSION_2_5_BC:
-                $contextualValidator = $this->context->getValidator()->inContext($this->context);
-                $contextualValidator->expects($this->at(2 * $i))
-                    ->method('atPath')
-                    ->with($propertyPath)
-                    ->will($this->returnValue($contextualValidator));
-                $contextualValidator->expects($this->at(2 * $i + 1))
-                    ->method('validate')
-                    ->with($value, $constraints, $group);
-                break;
-        }
-    }
-
-    protected function assertNoViolation()
-    {
-        $this->assertCount(0, $this->context->getViolations());
-    }
-
-    /**
-     * @param mixed  $message
-     * @param array  $parameters
-     * @param string $propertyPath
-     * @param string $invalidValue
-     * @param null   $plural
-     * @param null   $code
-     *
-     * @deprecated To be removed in Symfony 3.0. Use
-     *             {@link buildViolation()} instead.
-     */
-    protected function assertViolation($message, array $parameters = array(), $propertyPath = 'property.path', $invalidValue = 'InvalidValue', $plural = null, $code = null)
-    {
-        $this->buildViolation($message)
-            ->setParameters($parameters)
-            ->atPath($propertyPath)
-            ->setInvalidValue($invalidValue)
-            ->setCode($code)
-            ->setPlural($plural)
-            ->assertRaised();
-    }
-
-    /**
-     * @param array $expected
-     *
-     * @deprecated To be removed in Symfony 3.0. Use
-     *             {@link buildViolation()} instead.
-     */
-    protected function assertViolations(array $expected)
-    {
-        $violations = $this->context->getViolations();
-
-        $this->assertCount(count($expected), $violations);
-
-        $i = 0;
-
-        foreach ($expected as $violation) {
-            $this->assertEquals($violation, $violations[$i++]);
-        }
-    }
-
-    /**
-     * @param $message
-     *
-     * @return ConstraintViolationAssertion
-     */
-    protected function buildViolation($message)
-    {
-        return new ConstraintViolationAssertion($this->context, $message, $this->constraint);
-    }
-
-    abstract protected function getApiVersion();
-
-    abstract protected function createValidator();
-}
-
-/**
- * @internal
- */
-class ConstraintViolationAssertion
-{
-    /**
-     * @var LegacyExecutionContextInterface
-     */
-    private $context;
-
-    /**
-     * @var ConstraintViolationAssertion[]
-     */
-    private $assertions;
-
-    private $message;
-    private $parameters = array();
-    private $invalidValue = 'InvalidValue';
-    private $propertyPath = 'property.path';
-    private $translationDomain;
-    private $plural;
-    private $code;
-    private $constraint;
-    private $cause;
-
-    public function __construct(LegacyExecutionContextInterface $context, $message, Constraint $constraint = null, array $assertions = array())
-    {
-        $this->context = $context;
-        $this->message = $message;
-        $this->constraint = $constraint;
-        $this->assertions = $assertions;
-    }
-
-    public function atPath($path)
-    {
-        $this->propertyPath = $path;
-
-        return $this;
-    }
-
-    public function setParameter($key, $value)
-    {
-        $this->parameters[$key] = $value;
-
-        return $this;
-    }
-
-    public function setParameters(array $parameters)
-    {
-        $this->parameters = $parameters;
-
-        return $this;
-    }
-
-    public function setTranslationDomain($translationDomain)
-    {
-        $this->translationDomain = $translationDomain;
-
-        return $this;
-    }
-
-    public function setInvalidValue($invalidValue)
-    {
-        $this->invalidValue = $invalidValue;
-
-        return $this;
-    }
-
-    public function setPlural($number)
-    {
-        $this->plural = $number;
-
-        return $this;
-    }
-
-    public function setCode($code)
-    {
-        $this->code = $code;
-
-        return $this;
-    }
-
-    public function setCause($cause)
-    {
-        $this->cause = $cause;
-
-        return $this;
-    }
-
-    public function buildNextViolation($message)
-    {
-        $assertions = $this->assertions;
-        $assertions[] = $this;
-
-        return new self($this->context, $message, $this->constraint, $assertions);
-    }
-
-    public function assertRaised()
-    {
-        $expected = array();
-        foreach ($this->assertions as $assertion) {
-            $expected[] = $assertion->getViolation();
-        }
-        $expected[] = $this->getViolation();
-
-        $violations = iterator_to_array($this->context->getViolations());
-
-        \PHPUnit_Framework_Assert::assertCount(count($expected), $violations);
-
-        reset($violations);
-
-        foreach ($expected as $violation) {
-            \PHPUnit_Framework_Assert::assertEquals($violation, current($violations));
-            next($violations);
-        }
-    }
-
-    private function getViolation()
-    {
-        return new ConstraintViolation(
-            null,
-            $this->message,
-            $this->parameters,
-            $this->context->getRoot(),
-            $this->propertyPath,
-            $this->invalidValue,
-            $this->plural,
-            $this->code,
-            $this->constraint,
-            $this->cause
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllTest.php
deleted file mode 100644
index 36b5198..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\All;
-use Symfony\Component\Validator\Constraints\Valid;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class AllTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectNonConstraints()
-    {
-        new All(array(
-            'foo',
-        ));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectValidConstraint()
-    {
-        new All(array(
-            new Valid(),
-        ));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllValidatorTest.php
deleted file mode 100644
index 57dd600..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllValidatorTest.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\All;
-use Symfony\Component\Validator\Constraints\AllValidator;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\Range;
-use Symfony\Component\Validator\Validation;
-
-class AllValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new AllValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new All(new Range(array('min' => 4))));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testThrowsExceptionIfNotTraversable()
-    {
-        $this->validator->validate('foo.barbar', new All(new Range(array('min' => 4))));
-    }
-
-    /**
-     * @dataProvider getValidArguments
-     */
-    public function testWalkSingleConstraint($array)
-    {
-        $constraint = new Range(array('min' => 4));
-
-        $i = 0;
-
-        foreach ($array as $key => $value) {
-            $this->expectValidateValueAt($i++, '['.$key.']', $value, array($constraint));
-        }
-
-        $this->validator->validate($array, new All($constraint));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getValidArguments
-     */
-    public function testWalkMultipleConstraints($array)
-    {
-        $constraint1 = new Range(array('min' => 4));
-        $constraint2 = new NotNull();
-
-        $constraints = array($constraint1, $constraint2);
-
-        $i = 0;
-
-        foreach ($array as $key => $value) {
-            $this->expectValidateValueAt($i++, '['.$key.']', $value, array($constraint1, $constraint2));
-        }
-
-        $this->validator->validate($array, new All($constraints));
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidArguments()
-    {
-        return array(
-            array(array(5, 6, 7)),
-            array(new \ArrayObject(array(5, 6, 7))),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/BlankValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/BlankValidatorTest.php
deleted file mode 100644
index a7f3d7d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/BlankValidatorTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Blank;
-use Symfony\Component\Validator\Constraints\BlankValidator;
-use Symfony\Component\Validator\Validation;
-
-class BlankValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new BlankValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Blank());
-
-        $this->assertNoViolation();
-    }
-
-    public function testBlankIsValid()
-    {
-        $this->validator->validate('', new Blank());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getInvalidValues
-     */
-    public function testInvalidValues($value, $valueAsString)
-    {
-        $constraint = new Blank(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', $valueAsString)
-            ->assertRaised();
-    }
-
-    public function getInvalidValues()
-    {
-        return array(
-            array('foobar', '"foobar"'),
-            array(0, '0'),
-            array(false, 'false'),
-            array(1234, '1234'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CallbackValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CallbackValidatorTest.php
deleted file mode 100644
index 9bb12a2..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CallbackValidatorTest.php
+++ /dev/null
@@ -1,336 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\CallbackValidator;
-use Symfony\Component\Validator\ExecutionContextInterface;
-use Symfony\Component\Validator\Validation;
-
-class CallbackValidatorTest_Class
-{
-    public static function validateCallback($object, ExecutionContextInterface $context)
-    {
-        $context->addViolation('Callback message', array('{{ value }}' => 'foobar'));
-
-        return false;
-    }
-}
-
-class CallbackValidatorTest_Object
-{
-    public function validate(ExecutionContextInterface $context)
-    {
-        $context->addViolation('My message', array('{{ value }}' => 'foobar'));
-
-        return false;
-    }
-
-    public static function validateStatic($object, ExecutionContextInterface $context)
-    {
-        $context->addViolation('Static message', array('{{ value }}' => 'baz'));
-
-        return false;
-    }
-}
-
-class CallbackValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new CallbackValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Callback(array('foo')));
-
-        $this->assertNoViolation();
-    }
-
-    public function testSingleMethod()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback('validate');
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    public function testSingleMethodExplicitName()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array('callback' => 'validate'));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    public function testSingleStaticMethod()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback('validateStatic');
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('Static message')
-            ->setParameter('{{ value }}', 'baz')
-            ->assertRaised();
-    }
-
-    public function testClosure()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(function ($object, ExecutionContextInterface $context) {
-            $context->addViolation('My message', array('{{ value }}' => 'foobar'));
-
-            return false;
-        });
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    public function testClosureNullObject()
-    {
-        $constraint = new Callback(function ($object, ExecutionContextInterface $context) {
-            $context->addViolation('My message', array('{{ value }}' => 'foobar'));
-
-            return false;
-        });
-
-        $this->validator->validate(null, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    public function testClosureExplicitName()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array(
-            'callback' => function ($object, ExecutionContextInterface $context) {
-                $context->addViolation('My message', array('{{ value }}' => 'foobar'));
-
-                return false;
-            },
-        ));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    public function testArrayCallable()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array(__CLASS__.'_Class', 'validateCallback'));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('Callback message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    public function testArrayCallableNullObject()
-    {
-        $constraint = new Callback(array(__CLASS__.'_Class', 'validateCallback'));
-
-        $this->validator->validate(null, $constraint);
-
-        $this->buildViolation('Callback message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    public function testArrayCallableExplicitName()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array(
-            'callback' => array(__CLASS__.'_Class', 'validateCallback'),
-        ));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('Callback message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    // BC with Symfony < 2.4
-    public function testSingleMethodBc()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array('validate'));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    // BC with Symfony < 2.4
-    public function testSingleMethodBcExplicitName()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array('methods' => array('validate')));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    // BC with Symfony < 2.4
-    public function testMultipleMethodsBc()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array('validate', 'validateStatic'));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->buildNextViolation('Static message')
-            ->setParameter('{{ value }}', 'baz')
-            ->assertRaised();
-    }
-
-    // BC with Symfony < 2.4
-    public function testMultipleMethodsBcExplicitName()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array(
-            'methods' => array('validate', 'validateStatic'),
-        ));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('My message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->buildNextViolation('Static message')
-            ->setParameter('{{ value }}', 'baz')
-            ->assertRaised();
-    }
-
-    // BC with Symfony < 2.4
-    public function testSingleStaticMethodBc()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array(
-            array(__CLASS__.'_Class', 'validateCallback'),
-        ));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('Callback message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    // BC with Symfony < 2.4
-    public function testSingleStaticMethodBcExplicitName()
-    {
-        $object = new CallbackValidatorTest_Object();
-        $constraint = new Callback(array(
-            'methods' => array(array(__CLASS__.'_Class', 'validateCallback')),
-        ));
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('Callback message')
-            ->setParameter('{{ value }}', 'foobar')
-            ->assertRaised();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testExpectValidMethods()
-    {
-        $object = new CallbackValidatorTest_Object();
-
-        $this->validator->validate($object, new Callback(array('foobar')));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testExpectValidCallbacks()
-    {
-        $object = new CallbackValidatorTest_Object();
-
-        $this->validator->validate($object, new Callback(array(array('foo', 'bar'))));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testExpectEitherCallbackOrMethods()
-    {
-        $object = new CallbackValidatorTest_Object();
-
-        $this->validator->validate($object, new Callback(array(
-            'callback' => 'validate',
-            'methods' => array('validateStatic'),
-        )));
-    }
-
-    public function testConstraintGetTargets()
-    {
-        $constraint = new Callback(array('foo'));
-        $targets = array(Constraint::CLASS_CONSTRAINT, Constraint::PROPERTY_CONSTRAINT);
-
-        $this->assertEquals($targets, $constraint->getTargets());
-    }
-
-    // Should succeed. Needed when defining constraints as annotations.
-    public function testNoConstructorArguments()
-    {
-        new Callback();
-    }
-
-    public function testAnnotationInvocationSingleValued()
-    {
-        $constraint = new Callback(array('value' => 'validateStatic'));
-
-        $this->assertEquals(new Callback('validateStatic'), $constraint);
-    }
-
-    public function testAnnotationInvocationMultiValued()
-    {
-        $constraint = new Callback(array('value' => array(__CLASS__.'_Class', 'validateCallback')));
-
-        $this->assertEquals(new Callback(array(__CLASS__.'_Class', 'validateCallback')), $constraint);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php
deleted file mode 100644
index aab54e5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\CardScheme;
-use Symfony\Component\Validator\Constraints\CardSchemeValidator;
-use Symfony\Component\Validator\Validation;
-
-class CardSchemeValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new CardSchemeValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new CardScheme(array('schemes' => array())));
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new CardScheme(array('schemes' => array())));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getValidNumbers
-     */
-    public function testValidNumbers($scheme, $number)
-    {
-        $this->validator->validate($number, new CardScheme(array('schemes' => $scheme)));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getInvalidNumbers
-     */
-    public function testInvalidNumbers($scheme, $number, $code)
-    {
-        $constraint = new CardScheme(array(
-            'schemes' => $scheme,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($number, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', is_string($number) ? '"'.$number.'"' : $number)
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getValidNumbers()
-    {
-        return array(
-            array('AMEX', '378282246310005'),
-            array('AMEX', '371449635398431'),
-            array('AMEX', '378734493671000'),
-            array('AMEX', '347298508610146'),
-            array('CHINA_UNIONPAY', '6228888888888888'),
-            array('CHINA_UNIONPAY', '62288888888888888'),
-            array('CHINA_UNIONPAY', '622888888888888888'),
-            array('CHINA_UNIONPAY', '6228888888888888888'),
-            array('DINERS', '30569309025904'),
-            array('DINERS', '36088894118515'),
-            array('DINERS', '38520000023237'),
-            array('DISCOVER', '6011111111111117'),
-            array('DISCOVER', '6011000990139424'),
-            array('INSTAPAYMENT', '6372476031350068'),
-            array('INSTAPAYMENT', '6385537775789749'),
-            array('INSTAPAYMENT', '6393440808445746'),
-            array('JCB', '3530111333300000'),
-            array('JCB', '3566002020360505'),
-            array('JCB', '213112345678901'),
-            array('JCB', '180012345678901'),
-            array('LASER', '6304678107004080'),
-            array('LASER', '6706440607428128629'),
-            array('LASER', '6771656738314582216'),
-            array('MAESTRO', '6759744069209'),
-            array('MAESTRO', '5020507657408074712'),
-            array('MAESTRO', '6759744069209'),
-            array('MAESTRO', '6759744069209'),
-            array('MASTERCARD', '5555555555554444'),
-            array('MASTERCARD', '5105105105105100'),
-            array('VISA', '4111111111111111'),
-            array('VISA', '4012888888881881'),
-            array('VISA', '4222222222222'),
-            array(array('AMEX', 'VISA'), '4111111111111111'),
-            array(array('AMEX', 'VISA'), '378282246310005'),
-            array(array('JCB', 'MASTERCARD'), '5105105105105100'),
-            array(array('VISA', 'MASTERCARD'), '5105105105105100'),
-        );
-    }
-
-    public function getInvalidNumbers()
-    {
-        return array(
-            array('VISA', '42424242424242424242', CardScheme::INVALID_FORMAT_ERROR),
-            array('AMEX', '357298508610146', CardScheme::INVALID_FORMAT_ERROR),
-            array('DINERS', '31569309025904', CardScheme::INVALID_FORMAT_ERROR),
-            array('DINERS', '37088894118515', CardScheme::INVALID_FORMAT_ERROR),
-            array('INSTAPAYMENT', '6313440808445746', CardScheme::INVALID_FORMAT_ERROR),
-            array('CHINA_UNIONPAY', '622888888888888', CardScheme::INVALID_FORMAT_ERROR),
-            array('CHINA_UNIONPAY', '62288888888888888888', CardScheme::INVALID_FORMAT_ERROR),
-            array('AMEX', '30569309025904', CardScheme::INVALID_FORMAT_ERROR), // DINERS number
-            array('AMEX', 'invalid', CardScheme::NOT_NUMERIC_ERROR), // A string
-            array('AMEX', 0, CardScheme::INVALID_FORMAT_ERROR), // a lone number
-            array('AMEX', '0', CardScheme::INVALID_FORMAT_ERROR), // a lone number
-            array('AMEX', '000000000000', CardScheme::INVALID_FORMAT_ERROR), // a lone number
-            array('DINERS', '3056930', CardScheme::INVALID_FORMAT_ERROR), // only first part of the number
-            array('DISCOVER', '1117', CardScheme::INVALID_FORMAT_ERROR), // only last 4 digits
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ChoiceValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ChoiceValidatorTest.php
deleted file mode 100644
index b515b84..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ChoiceValidatorTest.php
+++ /dev/null
@@ -1,304 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Choice;
-use Symfony\Component\Validator\Constraints\ChoiceValidator;
-use Symfony\Component\Validator\Validation;
-
-function choice_callback()
-{
-    return array('foo', 'bar');
-}
-
-class ChoiceValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new ChoiceValidator();
-    }
-
-    public static function staticCallback()
-    {
-        return array('foo', 'bar');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectArrayIfMultipleIsTrue()
-    {
-        $constraint = new Choice(array(
-            'choices' => array('foo', 'bar'),
-            'multiple' => true,
-        ));
-
-        $this->validator->validate('asdf', $constraint);
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Choice(array('choices' => array('foo', 'bar'))));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testChoicesOrCallbackExpected()
-    {
-        $this->validator->validate('foobar', new Choice());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testValidCallbackExpected()
-    {
-        $this->validator->validate('foobar', new Choice(array('callback' => 'abcd')));
-    }
-
-    public function testValidChoiceArray()
-    {
-        $constraint = new Choice(array('choices' => array('foo', 'bar')));
-
-        $this->validator->validate('bar', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testValidChoiceCallbackFunction()
-    {
-        $constraint = new Choice(array('callback' => __NAMESPACE__.'\choice_callback'));
-
-        $this->validator->validate('bar', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testValidChoiceCallbackClosure()
-    {
-        $constraint = new Choice(array('callback' => function () {
-            return array('foo', 'bar');
-        }));
-
-        $this->validator->validate('bar', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testValidChoiceCallbackStaticMethod()
-    {
-        $constraint = new Choice(array('callback' => array(__CLASS__, 'staticCallback')));
-
-        $this->validator->validate('bar', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testValidChoiceCallbackContextMethod()
-    {
-        // search $this for "staticCallback"
-        $this->setObject($this);
-
-        $constraint = new Choice(array('callback' => 'staticCallback'));
-
-        $this->validator->validate('bar', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testMultipleChoices()
-    {
-        $constraint = new Choice(array(
-            'choices' => array('foo', 'bar', 'baz'),
-            'multiple' => true,
-        ));
-
-        $this->validator->validate(array('baz', 'bar'), $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testInvalidChoice()
-    {
-        $constraint = new Choice(array(
-            'choices' => array('foo', 'bar'),
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate('baz', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"baz"')
-            ->setCode(Choice::NO_SUCH_CHOICE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testInvalidChoiceEmptyChoices()
-    {
-        $constraint = new Choice(array(
-            // May happen when the choices are provided dynamically, e.g. from
-            // the DB or the model
-            'choices' => array(),
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate('baz', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"baz"')
-            ->setCode(Choice::NO_SUCH_CHOICE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testInvalidChoiceMultiple()
-    {
-        $constraint = new Choice(array(
-            'choices' => array('foo', 'bar'),
-            'multipleMessage' => 'myMessage',
-            'multiple' => true,
-        ));
-
-        $this->validator->validate(array('foo', 'baz'), $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"baz"')
-            ->setInvalidValue('baz')
-            ->setCode(Choice::NO_SUCH_CHOICE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testTooFewChoices()
-    {
-        $constraint = new Choice(array(
-            'choices' => array('foo', 'bar', 'moo', 'maa'),
-            'multiple' => true,
-            'min' => 2,
-            'minMessage' => 'myMessage',
-        ));
-
-        $value = array('foo');
-
-        $this->setValue($value);
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ limit }}', 2)
-            ->setInvalidValue($value)
-            ->setPlural(2)
-            ->setCode(Choice::TOO_FEW_ERROR)
-            ->assertRaised();
-    }
-
-    public function testTooManyChoices()
-    {
-        $constraint = new Choice(array(
-            'choices' => array('foo', 'bar', 'moo', 'maa'),
-            'multiple' => true,
-            'max' => 2,
-            'maxMessage' => 'myMessage',
-        ));
-
-        $value = array('foo', 'bar', 'moo');
-
-        $this->setValue($value);
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ limit }}', 2)
-            ->setInvalidValue($value)
-            ->setPlural(2)
-            ->setCode(Choice::TOO_MANY_ERROR)
-            ->assertRaised();
-    }
-
-    public function testNonStrict()
-    {
-        $constraint = new Choice(array(
-            'choices' => array(1, 2),
-            'strict' => false,
-        ));
-
-        $this->validator->validate('2', $constraint);
-        $this->validator->validate(2, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testStrictAllowsExactValue()
-    {
-        $constraint = new Choice(array(
-            'choices' => array(1, 2),
-            'strict' => true,
-        ));
-
-        $this->validator->validate(2, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testStrictDisallowsDifferentType()
-    {
-        $constraint = new Choice(array(
-            'choices' => array(1, 2),
-            'strict' => true,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate('2', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"2"')
-            ->setCode(Choice::NO_SUCH_CHOICE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testNonStrictWithMultipleChoices()
-    {
-        $constraint = new Choice(array(
-            'choices' => array(1, 2, 3),
-            'multiple' => true,
-            'strict' => false,
-        ));
-
-        $this->validator->validate(array('2', 3), $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testStrictWithMultipleChoices()
-    {
-        $constraint = new Choice(array(
-            'choices' => array(1, 2, 3),
-            'multiple' => true,
-            'strict' => true,
-            'multipleMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate(array(2, '3'), $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"3"')
-            ->setInvalidValue('3')
-            ->setCode(Choice::NO_SUCH_CHOICE_ERROR)
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionTest.php
deleted file mode 100644
index 79f50b0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionTest.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Collection;
-use Symfony\Component\Validator\Constraints\Email;
-use Symfony\Component\Validator\Constraints\Optional;
-use Symfony\Component\Validator\Constraints\Required;
-use Symfony\Component\Validator\Constraints\Valid;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class CollectionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectInvalidFieldsOption()
-    {
-        new Collection(array(
-            'fields' => 'foo',
-        ));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectNonConstraints()
-    {
-        new Collection(array(
-            'foo' => 'bar',
-        ));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectValidConstraint()
-    {
-        new Collection(array(
-            'foo' => new Valid(),
-        ));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectValidConstraintWithinOptional()
-    {
-        new Collection(array(
-            'foo' => new Optional(new Valid()),
-        ));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectValidConstraintWithinRequired()
-    {
-        new Collection(array(
-            'foo' => new Required(new Valid()),
-        ));
-    }
-
-    public function testAcceptOptionalConstraintAsOneElementArray()
-    {
-        $collection1 = new Collection(array(
-            'fields' => array(
-                'alternate_email' => array(
-                    new Optional(new Email()),
-                ),
-            ),
-        ));
-
-        $collection2 = new Collection(array(
-            'fields' => array(
-                'alternate_email' => new Optional(new Email()),
-            ),
-        ));
-
-        $this->assertEquals($collection1, $collection2);
-    }
-
-    public function testAcceptRequiredConstraintAsOneElementArray()
-    {
-        $collection1 = new Collection(array(
-            'fields' => array(
-                'alternate_email' => array(
-                    new Required(new Email()),
-                ),
-            ),
-        ));
-
-        $collection2 = new Collection(array(
-            'fields' => array(
-                'alternate_email' => new Required(new Email()),
-            ),
-        ));
-
-        $this->assertEquals($collection1, $collection2);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php
deleted file mode 100644
index a3c4b33..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-class CollectionValidatorArrayObjectTest extends CollectionValidatorTest
-{
-    public function prepareTestData(array $contents)
-    {
-        return new \ArrayObject($contents);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayTest.php
deleted file mode 100644
index 7517d0c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayTest.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-class CollectionValidatorArrayTest extends CollectionValidatorTest
-{
-    public function prepareTestData(array $contents)
-    {
-        return $contents;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php
deleted file mode 100644
index 3d4c296..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Tests\Fixtures\CustomArrayObject;
-
-class CollectionValidatorCustomArrayObjectTest extends CollectionValidatorTest
-{
-    public function prepareTestData(array $contents)
-    {
-        return new CustomArrayObject($contents);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorTest.php
deleted file mode 100644
index 0376814..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorTest.php
+++ /dev/null
@@ -1,389 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Collection;
-use Symfony\Component\Validator\Constraints\CollectionValidator;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\Optional;
-use Symfony\Component\Validator\Constraints\Range;
-use Symfony\Component\Validator\Constraints\Required;
-use Symfony\Component\Validator\Validation;
-
-abstract class CollectionValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new CollectionValidator();
-    }
-
-    abstract protected function prepareTestData(array $contents);
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Collection(array('fields' => array(
-            'foo' => new Range(array('min' => 4)),
-        ))));
-
-        $this->assertNoViolation();
-    }
-
-    public function testFieldsAsDefaultOption()
-    {
-        $constraint = new Range(array('min' => 4));
-
-        $data = $this->prepareTestData(array('foo' => 'foobar'));
-
-        $this->expectValidateValueAt(0, '[foo]', $data['foo'], array($constraint));
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => $constraint,
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testThrowsExceptionIfNotTraversable()
-    {
-        $this->validator->validate('foobar', new Collection(array('fields' => array(
-            'foo' => new Range(array('min' => 4)),
-        ))));
-    }
-
-    public function testWalkSingleConstraint()
-    {
-        $constraint = new Range(array('min' => 4));
-
-        $array = array(
-            'foo' => 3,
-            'bar' => 5,
-        );
-
-        $i = 0;
-
-        foreach ($array as $key => $value) {
-            $this->expectValidateValueAt($i++, '['.$key.']', $value, array($constraint));
-        }
-
-        $data = $this->prepareTestData($array);
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => $constraint,
-                'bar' => $constraint,
-            ),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testWalkMultipleConstraints()
-    {
-        $constraints = array(
-            new Range(array('min' => 4)),
-            new NotNull(),
-        );
-
-        $array = array(
-            'foo' => 3,
-            'bar' => 5,
-        );
-
-        $i = 0;
-
-        foreach ($array as $key => $value) {
-            $this->expectValidateValueAt($i++, '['.$key.']', $value, $constraints);
-        }
-
-        $data = $this->prepareTestData($array);
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => $constraints,
-                'bar' => $constraints,
-            ),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testExtraFieldsDisallowed()
-    {
-        $constraint = new Range(array('min' => 4));
-
-        $data = $this->prepareTestData(array(
-            'foo' => 5,
-            'baz' => 6,
-        ));
-
-        $this->expectValidateValueAt(0, '[foo]', $data['foo'], array($constraint));
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => $constraint,
-            ),
-            'extraFieldsMessage' => 'myMessage',
-        )));
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ field }}', '"baz"')
-            ->atPath('property.path[baz]')
-            ->setInvalidValue(6)
-            ->setCode(Collection::NO_SUCH_FIELD_ERROR)
-            ->assertRaised();
-    }
-
-    // bug fix
-    public function testNullNotConsideredExtraField()
-    {
-        $data = $this->prepareTestData(array(
-            'foo' => null,
-        ));
-
-        $constraint = new Range(array('min' => 4));
-
-        $this->expectValidateValueAt(0, '[foo]', $data['foo'], array($constraint));
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => $constraint,
-            ),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testExtraFieldsAllowed()
-    {
-        $data = $this->prepareTestData(array(
-            'foo' => 5,
-            'bar' => 6,
-        ));
-
-        $constraint = new Range(array('min' => 4));
-
-        $this->expectValidateValueAt(0, '[foo]', $data['foo'], array($constraint));
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => $constraint,
-            ),
-            'allowExtraFields' => true,
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testMissingFieldsDisallowed()
-    {
-        $data = $this->prepareTestData(array());
-
-        $constraint = new Range(array('min' => 4));
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => $constraint,
-            ),
-            'missingFieldsMessage' => 'myMessage',
-        )));
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ field }}', '"foo"')
-            ->atPath('property.path[foo]')
-            ->setInvalidValue(null)
-            ->setCode(Collection::MISSING_FIELD_ERROR)
-            ->assertRaised();
-    }
-
-    public function testMissingFieldsAllowed()
-    {
-        $data = $this->prepareTestData(array());
-
-        $constraint = new Range(array('min' => 4));
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => $constraint,
-            ),
-            'allowMissingFields' => true,
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testOptionalFieldPresent()
-    {
-        $data = $this->prepareTestData(array(
-            'foo' => null,
-        ));
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => new Optional(),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testOptionalFieldNotPresent()
-    {
-        $data = $this->prepareTestData(array());
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => new Optional(),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testOptionalFieldSingleConstraint()
-    {
-        $array = array(
-            'foo' => 5,
-        );
-
-        $constraint = new Range(array('min' => 4));
-
-        $this->expectValidateValueAt(0, '[foo]', $array['foo'], array($constraint));
-
-        $data = $this->prepareTestData($array);
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => new Optional($constraint),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testOptionalFieldMultipleConstraints()
-    {
-        $array = array(
-            'foo' => 5,
-        );
-
-        $constraints = array(
-            new NotNull(),
-            new Range(array('min' => 4)),
-        );
-
-        $this->expectValidateValueAt(0, '[foo]', $array['foo'], $constraints);
-
-        $data = $this->prepareTestData($array);
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => new Optional($constraints),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testRequiredFieldPresent()
-    {
-        $data = $this->prepareTestData(array(
-            'foo' => null,
-        ));
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => new Required(),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testRequiredFieldNotPresent()
-    {
-        $data = $this->prepareTestData(array());
-
-        $this->validator->validate($data, new Collection(array(
-            'fields' => array(
-                'foo' => new Required(),
-            ),
-            'missingFieldsMessage' => 'myMessage',
-        )));
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ field }}', '"foo"')
-            ->atPath('property.path[foo]')
-            ->setInvalidValue(null)
-            ->setCode(Collection::MISSING_FIELD_ERROR)
-            ->assertRaised();
-    }
-
-    public function testRequiredFieldSingleConstraint()
-    {
-        $array = array(
-            'foo' => 5,
-        );
-
-        $constraint = new Range(array('min' => 4));
-
-        $this->expectValidateValueAt(0, '[foo]', $array['foo'], array($constraint));
-
-        $data = $this->prepareTestData($array);
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => new Required($constraint),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testRequiredFieldMultipleConstraints()
-    {
-        $array = array(
-            'foo' => 5,
-        );
-
-        $constraints = array(
-            new NotNull(),
-            new Range(array('min' => 4)),
-        );
-
-        $this->expectValidateValueAt(0, '[foo]', $array['foo'], $constraints);
-
-        $data = $this->prepareTestData($array);
-
-        $this->validator->validate($data, new Collection(array(
-            'foo' => new Required($constraints),
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function testObjectShouldBeLeftUnchanged()
-    {
-        $value = new \ArrayObject(array(
-            'foo' => 3,
-        ));
-
-        $constraint = new Range(array('min' => 2));
-
-        $this->expectValidateValueAt(0, '[foo]', $value['foo'], array($constraint));
-
-        $this->validator->validate($value, new Collection(array(
-            'fields' => array(
-                'foo' => $constraint,
-            ),
-        )));
-
-        $this->assertEquals(array(
-            'foo' => 3,
-        ), (array) $value);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CompositeTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CompositeTest.php
deleted file mode 100644
index 21cb461..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CompositeTest.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Composite;
-use Symfony\Component\Validator\Constraints\NotBlank;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\Valid;
-
-class ConcreteComposite extends Composite
-{
-    public $constraints;
-
-    protected function getCompositeOption()
-    {
-        return 'constraints';
-    }
-
-    public function getDefaultOption()
-    {
-        return 'constraints';
-    }
-}
-
-/**
- * @since  2.6
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class CompositeTest extends \PHPUnit_Framework_TestCase
-{
-    public function testMergeNestedGroupsIfNoExplicitParentGroup()
-    {
-        $constraint = new ConcreteComposite(array(
-            new NotNull(array('groups' => 'Default')),
-            new NotBlank(array('groups' => array('Default', 'Strict'))),
-        ));
-
-        $this->assertEquals(array('Default', 'Strict'), $constraint->groups);
-        $this->assertEquals(array('Default'), $constraint->constraints[0]->groups);
-        $this->assertEquals(array('Default', 'Strict'), $constraint->constraints[1]->groups);
-    }
-
-    public function testSetImplicitNestedGroupsIfExplicitParentGroup()
-    {
-        $constraint = new ConcreteComposite(array(
-            'constraints' => array(
-                new NotNull(),
-                new NotBlank(),
-            ),
-            'groups' => array('Default', 'Strict'),
-        ));
-
-        $this->assertEquals(array('Default', 'Strict'), $constraint->groups);
-        $this->assertEquals(array('Default', 'Strict'), $constraint->constraints[0]->groups);
-        $this->assertEquals(array('Default', 'Strict'), $constraint->constraints[1]->groups);
-    }
-
-    public function testExplicitNestedGroupsMustBeSubsetOfExplicitParentGroups()
-    {
-        $constraint = new ConcreteComposite(array(
-            'constraints' => array(
-                new NotNull(array('groups' => 'Default')),
-                new NotBlank(array('groups' => 'Strict')),
-            ),
-            'groups' => array('Default', 'Strict'),
-        ));
-
-        $this->assertEquals(array('Default', 'Strict'), $constraint->groups);
-        $this->assertEquals(array('Default'), $constraint->constraints[0]->groups);
-        $this->assertEquals(array('Strict'), $constraint->constraints[1]->groups);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testFailIfExplicitNestedGroupsNotSubsetOfExplicitParentGroups()
-    {
-        new ConcreteComposite(array(
-            'constraints' => array(
-                new NotNull(array('groups' => array('Default', 'Foobar'))),
-            ),
-            'groups' => array('Default', 'Strict'),
-        ));
-    }
-
-    public function testImplicitGroupNamesAreForwarded()
-    {
-        $constraint = new ConcreteComposite(array(
-            new NotNull(array('groups' => 'Default')),
-            new NotBlank(array('groups' => 'Strict')),
-        ));
-
-        $constraint->addImplicitGroupName('ImplicitGroup');
-
-        $this->assertEquals(array('Default', 'Strict', 'ImplicitGroup'), $constraint->groups);
-        $this->assertEquals(array('Default', 'ImplicitGroup'), $constraint->constraints[0]->groups);
-        $this->assertEquals(array('Strict'), $constraint->constraints[1]->groups);
-    }
-
-    public function testSingleConstraintsAccepted()
-    {
-        $nestedConstraint = new NotNull();
-        $constraint = new ConcreteComposite($nestedConstraint);
-
-        $this->assertEquals(array($nestedConstraint), $constraint->constraints);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testFailIfNoConstraint()
-    {
-        new ConcreteComposite(array(
-            new NotNull(array('groups' => 'Default')),
-            'NotBlank',
-        ));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testValidCantBeNested()
-    {
-        new ConcreteComposite(array(
-            new Valid(),
-        ));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorArrayTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorArrayTest.php
deleted file mode 100644
index 5f562e7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorArrayTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class CountValidatorArrayTest extends CountValidatorTest
-{
-    protected function createCollection(array $content)
-    {
-        return $content;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorCountableTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorCountableTest.php
deleted file mode 100644
index 7d46967..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorCountableTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Tests\Fixtures\Countable;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class CountValidatorCountableTest extends CountValidatorTest
-{
-    protected function createCollection(array $content)
-    {
-        return new Countable($content);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorTest.php
deleted file mode 100644
index 6713166..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorTest.php
+++ /dev/null
@@ -1,203 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Count;
-use Symfony\Component\Validator\Constraints\CountValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class CountValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new CountValidator();
-    }
-
-    abstract protected function createCollection(array $content);
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Count(6));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsCountableType()
-    {
-        $this->validator->validate(new \stdClass(), new Count(5));
-    }
-
-    public function getThreeOrLessElements()
-    {
-        return array(
-            array($this->createCollection(array(1))),
-            array($this->createCollection(array(1, 2))),
-            array($this->createCollection(array(1, 2, 3))),
-            array($this->createCollection(array('a' => 1, 'b' => 2, 'c' => 3))),
-        );
-    }
-
-    public function getFourElements()
-    {
-        return array(
-            array($this->createCollection(array(1, 2, 3, 4))),
-            array($this->createCollection(array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4))),
-        );
-    }
-
-    public function getFiveOrMoreElements()
-    {
-        return array(
-            array($this->createCollection(array(1, 2, 3, 4, 5))),
-            array($this->createCollection(array(1, 2, 3, 4, 5, 6))),
-            array($this->createCollection(array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5))),
-        );
-    }
-
-    /**
-     * @dataProvider getThreeOrLessElements
-     */
-    public function testValidValuesMax($value)
-    {
-        $constraint = new Count(array('max' => 3));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getFiveOrMoreElements
-     */
-    public function testValidValuesMin($value)
-    {
-        $constraint = new Count(array('min' => 5));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getFourElements
-     */
-    public function testValidValuesExact($value)
-    {
-        $constraint = new Count(4);
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getFiveOrMoreElements
-     */
-    public function testTooManyValues($value)
-    {
-        $constraint = new Count(array(
-            'max' => 4,
-            'maxMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ count }}', count($value))
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Count::TOO_MANY_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getThreeOrLessElements
-     */
-    public function testTooFewValues($value)
-    {
-        $constraint = new Count(array(
-            'min' => 4,
-            'minMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ count }}', count($value))
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Count::TOO_FEW_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getFiveOrMoreElements
-     */
-    public function testTooManyValuesExact($value)
-    {
-        $constraint = new Count(array(
-            'min' => 4,
-            'max' => 4,
-            'exactMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ count }}', count($value))
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Count::TOO_MANY_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getThreeOrLessElements
-     */
-    public function testTooFewValuesExact($value)
-    {
-        $constraint = new Count(array(
-            'min' => 4,
-            'max' => 4,
-            'exactMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ count }}', count($value))
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Count::TOO_FEW_ERROR)
-            ->assertRaised();
-    }
-
-    public function testDefaultOption()
-    {
-        $constraint = new Count(5);
-
-        $this->assertEquals(5, $constraint->min);
-        $this->assertEquals(5, $constraint->max);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php
deleted file mode 100644
index b133511..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Intl\Util\IntlTestHelper;
-use Symfony\Component\Validator\Constraints\Country;
-use Symfony\Component\Validator\Constraints\CountryValidator;
-use Symfony\Component\Validator\Validation;
-
-class CountryValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function setUp()
-    {
-        IntlTestHelper::requireFullIntl($this);
-
-        parent::setUp();
-    }
-
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new CountryValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Country());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Country());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Country());
-    }
-
-    /**
-     * @dataProvider getValidCountries
-     */
-    public function testValidCountries($country)
-    {
-        $this->validator->validate($country, new Country());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidCountries()
-    {
-        return array(
-            array('GB'),
-            array('AT'),
-            array('MY'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidCountries
-     */
-    public function testInvalidCountries($country)
-    {
-        $constraint = new Country(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($country, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$country.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidCountries()
-    {
-        return array(
-            array('foobar'),
-            array('EN'),
-        );
-    }
-
-    public function testValidateUsingCountrySpecificLocale()
-    {
-        // in order to test with "en_GB"
-        IntlTestHelper::requireFullIntl($this);
-
-        \Locale::setDefault('en_GB');
-
-        $existingCountry = 'GB';
-
-        $this->validator->validate($existingCountry, new Country());
-
-        $this->assertNoViolation();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php
deleted file mode 100644
index e5bb060..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Intl\Util\IntlTestHelper;
-use Symfony\Component\Validator\Constraints\Currency;
-use Symfony\Component\Validator\Constraints\CurrencyValidator;
-use Symfony\Component\Validator\Validation;
-
-class CurrencyValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function setUp()
-    {
-        IntlTestHelper::requireFullIntl($this);
-
-        parent::setUp();
-    }
-
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new CurrencyValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Currency());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Currency());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Currency());
-    }
-
-    /**
-     * @dataProvider getValidCurrencies
-     */
-    public function testValidCurrencies($currency)
-    {
-        $this->validator->validate($currency, new Currency());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getValidCurrencies
-     **/
-    public function testValidCurrenciesWithCountrySpecificLocale($currency)
-    {
-        \Locale::setDefault('en_GB');
-
-        $this->validator->validate($currency, new Currency());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidCurrencies()
-    {
-        return array(
-            array('EUR'),
-            array('USD'),
-            array('SIT'),
-            array('AUD'),
-            array('CAD'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidCurrencies
-     */
-    public function testInvalidCurrencies($currency)
-    {
-        $constraint = new Currency(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($currency, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$currency.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidCurrencies()
-    {
-        return array(
-            array('EN'),
-            array('foobar'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateTimeValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateTimeValidatorTest.php
deleted file mode 100644
index 25d88aa..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateTimeValidatorTest.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\DateTime;
-use Symfony\Component\Validator\Constraints\DateTimeValidator;
-use Symfony\Component\Validator\Validation;
-
-class DateTimeValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new DateTimeValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new DateTime());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new DateTime());
-
-        $this->assertNoViolation();
-    }
-
-    public function testDateTimeClassIsValid()
-    {
-        $this->validator->validate(new \DateTime(), new DateTime());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new DateTime());
-    }
-
-    /**
-     * @dataProvider getValidDateTimes
-     */
-    public function testValidDateTimes($dateTime)
-    {
-        $this->validator->validate($dateTime, new DateTime());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidDateTimes()
-    {
-        return array(
-            array('2010-01-01 01:02:03'),
-            array('1955-12-12 00:00:00'),
-            array('2030-05-31 23:59:59'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidDateTimes
-     */
-    public function testInvalidDateTimes($dateTime, $code)
-    {
-        $constraint = new DateTime(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($dateTime, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$dateTime.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getInvalidDateTimes()
-    {
-        return array(
-            array('foobar', DateTime::INVALID_FORMAT_ERROR),
-            array('2010-01-01', DateTime::INVALID_FORMAT_ERROR),
-            array('00:00:00', DateTime::INVALID_FORMAT_ERROR),
-            array('2010-01-01 00:00', DateTime::INVALID_FORMAT_ERROR),
-            array('2010-13-01 00:00:00', DateTime::INVALID_DATE_ERROR),
-            array('2010-04-32 00:00:00', DateTime::INVALID_DATE_ERROR),
-            array('2010-02-29 00:00:00', DateTime::INVALID_DATE_ERROR),
-            array('2010-01-01 24:00:00', DateTime::INVALID_TIME_ERROR),
-            array('2010-01-01 00:60:00', DateTime::INVALID_TIME_ERROR),
-            array('2010-01-01 00:00:60', DateTime::INVALID_TIME_ERROR),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateValidatorTest.php
deleted file mode 100644
index 21f0a2d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateValidatorTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Date;
-use Symfony\Component\Validator\Constraints\DateValidator;
-use Symfony\Component\Validator\Validation;
-
-class DateValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new DateValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Date());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Date());
-
-        $this->assertNoViolation();
-    }
-
-    public function testDateTimeClassIsValid()
-    {
-        $this->validator->validate(new \DateTime(), new Date());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Date());
-    }
-
-    /**
-     * @dataProvider getValidDates
-     */
-    public function testValidDates($date)
-    {
-        $this->validator->validate($date, new Date());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidDates()
-    {
-        return array(
-            array('2010-01-01'),
-            array('1955-12-12'),
-            array('2030-05-31'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidDates
-     */
-    public function testInvalidDates($date, $code)
-    {
-        $constraint = new Date(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($date, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$date.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getInvalidDates()
-    {
-        return array(
-            array('foobar', Date::INVALID_FORMAT_ERROR),
-            array('foobar 2010-13-01', Date::INVALID_FORMAT_ERROR),
-            array('2010-13-01 foobar', Date::INVALID_FORMAT_ERROR),
-            array('2010-13-01', Date::INVALID_DATE_ERROR),
-            array('2010-04-32', Date::INVALID_DATE_ERROR),
-            array('2010-02-29', Date::INVALID_DATE_ERROR),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
deleted file mode 100644
index 0361333..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Email;
-use Symfony\Component\Validator\Constraints\EmailValidator;
-use Symfony\Component\Validator\Validation;
-
-class EmailValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new EmailValidator(false);
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Email());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Email());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Email());
-    }
-
-    /**
-     * @dataProvider getValidEmails
-     */
-    public function testValidEmails($email)
-    {
-        $this->validator->validate($email, new Email());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidEmails()
-    {
-        return array(
-            array('fabien@symfony.com'),
-            array('example@example.co.uk'),
-            array('fabien_potencier@example.fr'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidEmails
-     */
-    public function testInvalidEmails($email)
-    {
-        $constraint = new Email(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($email, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$email.'"')
-            ->setCode(Email::INVALID_FORMAT_ERROR)
-            ->assertRaised();
-    }
-
-    public function getInvalidEmails()
-    {
-        return array(
-            array('example'),
-            array('example@'),
-            array('example@localhost'),
-        );
-    }
-
-    public function testStrict()
-    {
-        $constraint = new Email(array('strict' => true));
-
-        $this->validator->validate('example@localhost', $constraint);
-
-        $this->assertNoViolation();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php
deleted file mode 100644
index c20db15..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\EqualTo;
-use Symfony\Component\Validator\Constraints\EqualToValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class EqualToValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new EqualToValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new EqualTo($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        return array(
-            array(3, 3),
-            array(3, '3'),
-            array('a', 'a'),
-            array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01')),
-            array(new \DateTime('2000-01-01'), '2000-01-01'),
-            array(new \DateTime('2000-01-01 UTC'), '2000-01-01 UTC'),
-            array(new ComparisonTest_Class(5), new ComparisonTest_Class(5)),
-            array(null, 1),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        return array(
-            array(1, '1', 2, '2', 'integer'),
-            array('22', '"22"', '333', '"333"', 'string'),
-            array(new \DateTime('2001-01-01'), 'Jan 1, 2001, 12:00 AM', new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2001-01-01'), 'Jan 1, 2001, 12:00 AM', '2000-01-01', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2001-01-01 UTC'), 'Jan 1, 2001, 12:00 AM', '2000-01-01 UTC', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new ComparisonTest_Class(4), '4', new ComparisonTest_Class(5), '5', __NAMESPACE__.'\ComparisonTest_Class'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ExpressionValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ExpressionValidatorTest.php
deleted file mode 100644
index 3d4ef75..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ExpressionValidatorTest.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\PropertyAccess\PropertyAccess;
-use Symfony\Component\Validator\Constraints\Expression;
-use Symfony\Component\Validator\Constraints\ExpressionValidator;
-use Symfony\Component\Validator\Tests\Fixtures\Entity;
-use Symfony\Component\Validator\Validation;
-
-class ExpressionValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new ExpressionValidator(PropertyAccess::createPropertyAccessor());
-    }
-
-    public function testExpressionIsEvaluatedWithNullValue()
-    {
-        $constraint = new Expression(array(
-            'expression' => 'false',
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate(null, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', 'null')
-            ->assertRaised();
-    }
-
-    public function testExpressionIsEvaluatedWithEmptyStringValue()
-    {
-        $constraint = new Expression(array(
-            'expression' => 'false',
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate('', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '""')
-            ->assertRaised();
-    }
-
-    public function testSucceedingExpressionAtObjectLevel()
-    {
-        $constraint = new Expression('this.data == 1');
-
-        $object = new Entity();
-        $object->data = '1';
-
-        $this->setObject($object);
-
-        $this->validator->validate($object, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testFailingExpressionAtObjectLevel()
-    {
-        $constraint = new Expression(array(
-            'expression' => 'this.data == 1',
-            'message' => 'myMessage',
-        ));
-
-        $object = new Entity();
-        $object->data = '2';
-
-        $this->setObject($object);
-
-        $this->validator->validate($object, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', 'object')
-            ->assertRaised();
-    }
-
-    public function testSucceedingExpressionAtPropertyLevel()
-    {
-        $constraint = new Expression('value == this.data');
-
-        $object = new Entity();
-        $object->data = '1';
-
-        $this->setRoot($object);
-        $this->setPropertyPath('data');
-        $this->setProperty($object, 'data');
-
-        $this->validator->validate('1', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testFailingExpressionAtPropertyLevel()
-    {
-        $constraint = new Expression(array(
-            'expression' => 'value == this.data',
-            'message' => 'myMessage',
-        ));
-
-        $object = new Entity();
-        $object->data = '1';
-
-        $this->setRoot($object);
-        $this->setPropertyPath('data');
-        $this->setProperty($object, 'data');
-
-        $this->validator->validate('2', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"2"')
-            ->atPath('data')
-            ->assertRaised();
-    }
-
-    public function testSucceedingExpressionAtNestedPropertyLevel()
-    {
-        $constraint = new Expression('value == this.data');
-
-        $object = new Entity();
-        $object->data = '1';
-
-        $root = new Entity();
-        $root->reference = $object;
-
-        $this->setRoot($root);
-        $this->setPropertyPath('reference.data');
-        $this->setProperty($object, 'data');
-
-        $this->validator->validate('1', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testFailingExpressionAtNestedPropertyLevel()
-    {
-        $constraint = new Expression(array(
-            'expression' => 'value == this.data',
-            'message' => 'myMessage',
-        ));
-
-        $object = new Entity();
-        $object->data = '1';
-
-        $root = new Entity();
-        $root->reference = $object;
-
-        $this->setRoot($root);
-        $this->setPropertyPath('reference.data');
-        $this->setProperty($object, 'data');
-
-        $this->validator->validate('2', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"2"')
-            ->atPath('reference.data')
-            ->assertRaised();
-    }
-
-    /**
-     * When validatePropertyValue() is called with a class name
-     * https://github.com/symfony/symfony/pull/11498
-     */
-    public function testSucceedingExpressionAtPropertyLevelWithoutRoot()
-    {
-        $constraint = new Expression('value == "1"');
-
-        $this->setRoot('1');
-        $this->setPropertyPath('');
-        $this->setProperty(null, 'property');
-
-        $this->validator->validate('1', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * When validatePropertyValue() is called with a class name
-     * https://github.com/symfony/symfony/pull/11498
-     */
-    public function testFailingExpressionAtPropertyLevelWithoutRoot()
-    {
-        $constraint = new Expression(array(
-            'expression' => 'value == "1"',
-            'message' => 'myMessage',
-        ));
-
-        $this->setRoot('2');
-        $this->setPropertyPath('');
-        $this->setProperty(null, 'property');
-
-        $this->validator->validate('2', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"2"')
-            ->atPath('')
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FalseValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FalseValidatorTest.php
deleted file mode 100644
index 479888e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FalseValidatorTest.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\False;
-use Symfony\Component\Validator\Constraints\FalseValidator;
-use Symfony\Component\Validator\Validation;
-
-class FalseValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new FalseValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new False());
-
-        $this->assertNoViolation();
-    }
-
-    public function testFalseIsValid()
-    {
-        $this->validator->validate(false, new False());
-
-        $this->assertNoViolation();
-    }
-
-    public function testTrueIsInvalid()
-    {
-        $constraint = new False(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate(true, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', 'true')
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileTest.php
deleted file mode 100644
index 2ee4681..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\File;
-
-class FileTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @param mixed $maxSize
-     * @param int   bytes
-     * @param bool  $bytes
-     * @dataProvider provideValidSizes
-     */
-    public function testMaxSize($maxSize, $bytes, $binaryFormat)
-    {
-        $file = new File(array('maxSize' => $maxSize));
-
-        $this->assertSame($bytes, $file->maxSize);
-        $this->assertSame($binaryFormat, $file->binaryFormat);
-    }
-
-    /**
-     * @param mixed $maxSize
-     * @param int   $bytes
-     * @dataProvider provideInValidSizes
-     * @expectedException Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalideMaxSize($maxSize)
-    {
-        $file = new File(array('maxSize' => $maxSize));
-    }
-
-    /**
-     * @return array
-     */
-    public function provideValidSizes()
-    {
-        return array(
-            array('500', 500, false),
-            array(12300, 12300, false),
-            array('1ki', 1024, true),
-            array('1KI', 1024, true),
-            array('2k', 2000, false),
-            array('2K', 2000, false),
-            array('1mi', 1048576, true),
-            array('1MI', 1048576, true),
-            array('3m', 3000000, false),
-            array('3M', 3000000, false),
-        );
-    }
-
-    /**
-     * @return array
-     */
-    public function provideInvalidSizes()
-    {
-        return array(
-            array('+100'),
-            array('foo'),
-            array('1Ko'),
-            array('1kio'),
-            array('1G'),
-            array('1Gi'),
-        );
-    }
-
-    /**
-     * @param mixed $maxSize
-     * @param bool  $guessedFormat
-     * @param bool  $binaryFormat
-     * @dataProvider provideFormats
-     */
-    public function testBinaryFormat($maxSize, $guessedFormat, $binaryFormat)
-    {
-        $file = new File(array('maxSize' => $maxSize, 'binaryFormat' => $guessedFormat));
-
-        $this->assertSame($binaryFormat, $file->binaryFormat);
-    }
-
-    /**
-     * @return array
-     */
-    public function provideFormats()
-    {
-        return array(
-            array(100, null, false),
-            array(100, true, true),
-            array(100, false, false),
-            array('100K', null, false),
-            array('100K', true, true),
-            array('100K', false, false),
-            array('100Ki', null, true),
-            array('100Ki', true, true),
-            array('100Ki', false, false),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorObjectTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorObjectTest.php
deleted file mode 100644
index f35f93b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorObjectTest.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\HttpFoundation\File\File;
-
-class FileValidatorObjectTest extends FileValidatorTest
-{
-    protected function getFile($filename)
-    {
-        return new File($filename);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorPathTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorPathTest.php
deleted file mode 100644
index 11b8d4c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorPathTest.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\File;
-
-class FileValidatorPathTest extends FileValidatorTest
-{
-    protected function getFile($filename)
-    {
-        return $filename;
-    }
-
-    public function testFileNotFound()
-    {
-        $constraint = new File(array(
-            'notFoundMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate('foobar', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ file }}', '"foobar"')
-            ->setCode(File::NOT_FOUND_ERROR)
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php
deleted file mode 100644
index 176b49f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php
+++ /dev/null
@@ -1,477 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-use Symfony\Component\Validator\Constraints\File;
-use Symfony\Component\Validator\Constraints\FileValidator;
-use Symfony\Component\Validator\Validation;
-
-abstract class FileValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected $path;
-
-    protected $file;
-
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new FileValidator();
-    }
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->path = sys_get_temp_dir().DIRECTORY_SEPARATOR.'FileValidatorTest';
-        $this->file = fopen($this->path, 'w');
-        fwrite($this->file, ' ', 1);
-    }
-
-    protected function tearDown()
-    {
-        parent::tearDown();
-
-        if (is_resource($this->file)) {
-            fclose($this->file);
-        }
-
-        if (file_exists($this->path)) {
-            unlink($this->path);
-        }
-
-        $this->path = null;
-        $this->file = null;
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new File());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new File());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleTypeOrFile()
-    {
-        $this->validator->validate(new \stdClass(), new File());
-    }
-
-    public function testValidFile()
-    {
-        $this->validator->validate($this->path, new File());
-
-        $this->assertNoViolation();
-    }
-
-    public function testValidUploadedfile()
-    {
-        $file = new UploadedFile($this->path, 'originalName', null, null, null, true);
-        $this->validator->validate($file, new File());
-
-        $this->assertNoViolation();
-    }
-
-    public function provideMaxSizeExceededTests()
-    {
-        // We have various interesting limit - size combinations to test.
-        // Assume a limit of 1000 bytes (1 kB). Then the following table
-        // lists the violation messages for different file sizes:
-        // -----------+--------------------------------------------------------
-        // Size       | Violation Message
-        // -----------+--------------------------------------------------------
-        // 1000 bytes | No violation
-        // 1001 bytes | "Size of 1001 bytes exceeded limit of 1000 bytes"
-        // 1004 bytes | "Size of 1004 bytes exceeded limit of 1000 bytes"
-        //            | NOT: "Size of 1 kB exceeded limit of 1 kB"
-        // 1005 bytes | "Size of 1.01 kB exceeded limit of 1 kB"
-        // -----------+--------------------------------------------------------
-
-        // As you see, we have two interesting borders:
-
-        // 1000/1001 - The border as of which a violation occurs
-        // 1004/1005 - The border as of which the message can be rounded to kB
-
-        // Analogous for kB/MB.
-
-        // Prior to Symfony 2.5, violation messages are always displayed in the
-        // same unit used to specify the limit.
-
-        // As of Symfony 2.5, the above logic is implemented.
-        return array(
-            // limit in bytes
-            array(1001, 1000, '1001', '1000', 'bytes'),
-            array(1004, 1000, '1004', '1000', 'bytes'),
-            array(1005, 1000, '1.01', '1', 'kB'),
-
-            array(1000001, 1000000, '1000001', '1000000', 'bytes'),
-            array(1004999, 1000000, '1005', '1000', 'kB'),
-            array(1005000, 1000000, '1.01', '1', 'MB'),
-
-            // limit in kB
-            array(1001, '1k', '1001', '1000', 'bytes'),
-            array(1004, '1k', '1004', '1000', 'bytes'),
-            array(1005, '1k', '1.01', '1', 'kB'),
-
-            array(1000001, '1000k', '1000001', '1000000', 'bytes'),
-            array(1004999, '1000k', '1005', '1000', 'kB'),
-            array(1005000, '1000k', '1.01', '1', 'MB'),
-
-            // limit in MB
-            array(1000001, '1M', '1000001', '1000000', 'bytes'),
-            array(1004999, '1M', '1005', '1000', 'kB'),
-            array(1005000, '1M', '1.01', '1', 'MB'),
-
-            // limit in KiB
-            array(1025, '1Ki', '1025', '1024', 'bytes'),
-            array(1029, '1Ki', '1029', '1024', 'bytes'),
-            array(1030, '1Ki', '1.01', '1', 'KiB'),
-
-            array(1048577, '1024Ki', '1048577', '1048576', 'bytes'),
-            array(1053818, '1024Ki', '1029.12', '1024', 'KiB'),
-            array(1053819, '1024Ki', '1.01', '1', 'MiB'),
-
-            // limit in MiB
-            array(1048577, '1Mi', '1048577', '1048576', 'bytes'),
-            array(1053818, '1Mi', '1029.12', '1024', 'KiB'),
-            array(1053819, '1Mi', '1.01', '1', 'MiB'),
-        );
-    }
-
-    /**
-     * @dataProvider provideMaxSizeExceededTests
-     */
-    public function testMaxSizeExceeded($bytesWritten, $limit, $sizeAsString, $limitAsString, $suffix)
-    {
-        fseek($this->file, $bytesWritten - 1, SEEK_SET);
-        fwrite($this->file, '0');
-        fclose($this->file);
-
-        $constraint = new File(array(
-            'maxSize' => $limit,
-            'maxSizeMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->getFile($this->path), $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ limit }}', $limitAsString)
-            ->setParameter('{{ size }}', $sizeAsString)
-            ->setParameter('{{ suffix }}', $suffix)
-            ->setParameter('{{ file }}', '"'.$this->path.'"')
-            ->setCode(File::TOO_LARGE_ERROR)
-            ->assertRaised();
-    }
-
-    public function provideMaxSizeNotExceededTests()
-    {
-        return array(
-            // limit in bytes
-            array(1000, 1000),
-            array(1000000, 1000000),
-
-            // limit in kB
-            array(1000, '1k'),
-            array(1000000, '1000k'),
-
-            // limit in MB
-            array(1000000, '1M'),
-
-            // limit in KiB
-            array(1024, '1Ki'),
-            array(1048576, '1024Ki'),
-
-            // limit in MiB
-            array(1048576, '1Mi'),
-        );
-    }
-
-    /**
-     * @dataProvider provideMaxSizeNotExceededTests
-     */
-    public function testMaxSizeNotExceeded($bytesWritten, $limit)
-    {
-        fseek($this->file, $bytesWritten - 1, SEEK_SET);
-        fwrite($this->file, '0');
-        fclose($this->file);
-
-        $constraint = new File(array(
-            'maxSize' => $limit,
-            'maxSizeMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->getFile($this->path), $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidMaxSize()
-    {
-        $constraint = new File(array(
-            'maxSize' => '1abc',
-        ));
-
-        $this->validator->validate($this->path, $constraint);
-    }
-
-    public function provideBinaryFormatTests()
-    {
-        return array(
-            array(11, 10, null, '11', '10', 'bytes'),
-            array(11, 10, true, '11', '10', 'bytes'),
-            array(11, 10, false, '11', '10', 'bytes'),
-
-            // round(size) == 1.01kB, limit == 1kB
-            array(ceil(1000*1.01), 1000, null, '1.01', '1', 'kB'),
-            array(ceil(1000*1.01), '1k', null, '1.01', '1', 'kB'),
-            array(ceil(1024*1.01), '1Ki', null, '1.01', '1', 'KiB'),
-
-            array(ceil(1024*1.01), 1024, true, '1.01', '1', 'KiB'),
-            array(ceil(1024*1.01*1000), '1024k', true, '1010', '1000', 'KiB'),
-            array(ceil(1024*1.01), '1Ki', true, '1.01', '1', 'KiB'),
-
-            array(ceil(1000*1.01), 1000, false, '1.01', '1', 'kB'),
-            array(ceil(1000*1.01), '1k', false, '1.01', '1', 'kB'),
-            array(ceil(1024*1.01*10), '10Ki', false, '10.34', '10.24', 'kB'),
-        );
-    }
-
-    /**
-     * @dataProvider provideBinaryFormatTests
-     */
-    public function testBinaryFormat($bytesWritten, $limit, $binaryFormat, $sizeAsString, $limitAsString, $suffix)
-    {
-        fseek($this->file, $bytesWritten-1, SEEK_SET);
-        fwrite($this->file, '0');
-        fclose($this->file);
-
-        $constraint = new File(array(
-            'maxSize' => $limit,
-            'binaryFormat' => $binaryFormat,
-            'maxSizeMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->getFile($this->path), $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ limit }}', $limitAsString)
-            ->setParameter('{{ size }}', $sizeAsString)
-            ->setParameter('{{ suffix }}', $suffix)
-            ->setParameter('{{ file }}', '"'.$this->path.'"')
-            ->setCode(File::TOO_LARGE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testValidMimeType()
-    {
-        $file = $this
-            ->getMockBuilder('Symfony\Component\HttpFoundation\File\File')
-            ->setConstructorArgs(array(__DIR__.'/Fixtures/foo'))
-            ->getMock();
-        $file
-            ->expects($this->once())
-            ->method('getPathname')
-            ->will($this->returnValue($this->path));
-        $file
-            ->expects($this->once())
-            ->method('getMimeType')
-            ->will($this->returnValue('image/jpg'));
-
-        $constraint = new File(array(
-            'mimeTypes' => array('image/png', 'image/jpg'),
-        ));
-
-        $this->validator->validate($file, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testValidWildcardMimeType()
-    {
-        $file = $this
-            ->getMockBuilder('Symfony\Component\HttpFoundation\File\File')
-            ->setConstructorArgs(array(__DIR__.'/Fixtures/foo'))
-            ->getMock();
-        $file
-            ->expects($this->once())
-            ->method('getPathname')
-            ->will($this->returnValue($this->path));
-        $file
-            ->expects($this->once())
-            ->method('getMimeType')
-            ->will($this->returnValue('image/jpg'));
-
-        $constraint = new File(array(
-            'mimeTypes' => array('image/*'),
-        ));
-
-        $this->validator->validate($file, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testInvalidMimeType()
-    {
-        $file = $this
-            ->getMockBuilder('Symfony\Component\HttpFoundation\File\File')
-            ->setConstructorArgs(array(__DIR__.'/Fixtures/foo'))
-            ->getMock();
-        $file
-            ->expects($this->once())
-            ->method('getPathname')
-            ->will($this->returnValue($this->path));
-        $file
-            ->expects($this->once())
-            ->method('getMimeType')
-            ->will($this->returnValue('application/pdf'));
-
-        $constraint = new File(array(
-            'mimeTypes' => array('image/png', 'image/jpg'),
-            'mimeTypesMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($file, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ type }}', '"application/pdf"')
-            ->setParameter('{{ types }}', '"image/png", "image/jpg"')
-            ->setParameter('{{ file }}', '"'.$this->path.'"')
-            ->setCode(File::INVALID_MIME_TYPE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testInvalidWildcardMimeType()
-    {
-        $file = $this
-            ->getMockBuilder('Symfony\Component\HttpFoundation\File\File')
-            ->setConstructorArgs(array(__DIR__.'/Fixtures/foo'))
-            ->getMock();
-        $file
-            ->expects($this->once())
-            ->method('getPathname')
-            ->will($this->returnValue($this->path));
-        $file
-            ->expects($this->once())
-            ->method('getMimeType')
-            ->will($this->returnValue('application/pdf'));
-
-        $constraint = new File(array(
-            'mimeTypes' => array('image/*', 'image/jpg'),
-            'mimeTypesMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($file, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ type }}', '"application/pdf"')
-            ->setParameter('{{ types }}', '"image/*", "image/jpg"')
-            ->setParameter('{{ file }}', '"'.$this->path.'"')
-            ->setCode(File::INVALID_MIME_TYPE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testDisallowEmpty()
-    {
-        ftruncate($this->file, 0);
-
-        $constraint = new File(array(
-            'disallowEmptyMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->getFile($this->path), $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ file }}', '"'.$this->path.'"')
-            ->setCode(File::EMPTY_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider uploadedFileErrorProvider
-     */
-    public function testUploadedFileError($error, $message, array $params = array(), $maxSize = null)
-    {
-        $file = new UploadedFile('/path/to/file', 'originalName', 'mime', 0, $error);
-
-        $constraint = new File(array(
-            $message => 'myMessage',
-            'maxSize' => $maxSize,
-        ));
-
-        $this->validator->validate($file, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameters($params)
-            ->setCode($error)
-            ->assertRaised();
-    }
-
-    public function uploadedFileErrorProvider()
-    {
-        $tests = array(
-            array(UPLOAD_ERR_FORM_SIZE, 'uploadFormSizeErrorMessage'),
-            array(UPLOAD_ERR_PARTIAL, 'uploadPartialErrorMessage'),
-            array(UPLOAD_ERR_NO_FILE, 'uploadNoFileErrorMessage'),
-            array(UPLOAD_ERR_NO_TMP_DIR, 'uploadNoTmpDirErrorMessage'),
-            array(UPLOAD_ERR_CANT_WRITE, 'uploadCantWriteErrorMessage'),
-            array(UPLOAD_ERR_EXTENSION, 'uploadExtensionErrorMessage'),
-        );
-
-        if (class_exists('Symfony\Component\HttpFoundation\File\UploadedFile')) {
-            // when no maxSize is specified on constraint, it should use the ini value
-            $tests[] = array(UPLOAD_ERR_INI_SIZE, 'uploadIniSizeErrorMessage', array(
-                '{{ limit }}' => UploadedFile::getMaxFilesize() / 1048576,
-                '{{ suffix }}' => 'MiB',
-            ));
-
-            // it should use the smaller limitation (maxSize option in this case)
-            $tests[] = array(UPLOAD_ERR_INI_SIZE, 'uploadIniSizeErrorMessage', array(
-                '{{ limit }}' => 1,
-                '{{ suffix }}' => 'bytes',
-            ), '1');
-
-            // it correctly parses the maxSize option and not only uses simple string comparison
-            // 1000M should be bigger than the ini value
-            $tests[] = array(UPLOAD_ERR_INI_SIZE, 'uploadIniSizeErrorMessage', array(
-                '{{ limit }}' => UploadedFile::getMaxFilesize() / 1048576,
-                '{{ suffix }}' => 'MiB',
-            ), '1000M');
-
-            // it correctly parses the maxSize option and not only uses simple string comparison
-            // 1000M should be bigger than the ini value
-            $tests[] = array(UPLOAD_ERR_INI_SIZE, 'uploadIniSizeErrorMessage', array(
-                '{{ limit }}' => '0.1',
-                '{{ suffix }}' => 'MB',
-            ), '100K');
-        }
-
-        return $tests;
-    }
-
-    abstract protected function getFile($filename);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/foo b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test.gif b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test.gif
deleted file mode 100644
index 6b44fc7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test.gif
+++ /dev/null
@@ -1 +0,0 @@
-GIF89a  ÷  ÿÿÿ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ,         ;
\ No newline at end of file
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_4by3.gif b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_4by3.gif
deleted file mode 100644
index 64dd3ff..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_4by3.gif
+++ /dev/null
@@ -1 +0,0 @@
-GIF89a  €  ÿÿÿÿÿÿ!þCreated with GIMP ,       „�V ;
\ No newline at end of file
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_landscape.gif b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_landscape.gif
deleted file mode 100644
index 8701235..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_landscape.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-GIF89a  €  ÿÿÿÿÿÿ!ù
-  ,       L
- ;
\ No newline at end of file
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_portrait.gif b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_portrait.gif
deleted file mode 100644
index cc480ca..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_portrait.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-GIF89a  €  ÿÿÿÿÿÿ!ù
-  ,       L
- ;
\ No newline at end of file
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php
deleted file mode 100644
index 41708f6..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\GreaterThanOrEqual;
-use Symfony\Component\Validator\Constraints\GreaterThanOrEqualValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class GreaterThanOrEqualValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new GreaterThanOrEqualValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new GreaterThanOrEqual($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        return array(
-            array(3, 2),
-            array(1, 1),
-            array(new \DateTime('2010/01/01'), new \DateTime('2000/01/01')),
-            array(new \DateTime('2000/01/01'), new \DateTime('2000/01/01')),
-            array(new \DateTime('2010/01/01'), '2000/01/01'),
-            array(new \DateTime('2000/01/01'), '2000/01/01'),
-            array(new \DateTime('2010/01/01 UTC'), '2000/01/01 UTC'),
-            array(new \DateTime('2000/01/01 UTC'), '2000/01/01 UTC'),
-            array('a', 'a'),
-            array('z', 'a'),
-            array(null, 1),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        return array(
-            array(1, '1', 2, '2', 'integer'),
-            array(new \DateTime('2000/01/01'), 'Jan 1, 2000, 12:00 AM', new \DateTime('2005/01/01'), 'Jan 1, 2005, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000/01/01'), 'Jan 1, 2000, 12:00 AM', '2005/01/01', 'Jan 1, 2005, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000/01/01 UTC'), 'Jan 1, 2000, 12:00 AM', '2005/01/01 UTC', 'Jan 1, 2005, 12:00 AM', 'DateTime'),
-            array('b', '"b"', 'c', '"c"', 'string'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php
deleted file mode 100644
index 85a2b1d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\GreaterThan;
-use Symfony\Component\Validator\Constraints\GreaterThanValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class GreaterThanValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new GreaterThanValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new GreaterThan($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        return array(
-            array(2, 1),
-            array(new \DateTime('2005/01/01'), new \DateTime('2001/01/01')),
-            array(new \DateTime('2005/01/01'), '2001/01/01'),
-            array(new \DateTime('2005/01/01 UTC'), '2001/01/01 UTC'),
-            array(new ComparisonTest_Class(5), new ComparisonTest_Class(4)),
-            array('333', '22'),
-            array(null, 1),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        return array(
-            array(1, '1', 2, '2', 'integer'),
-            array(2, '2', 2, '2', 'integer'),
-            array(new \DateTime('2000/01/01'), 'Jan 1, 2000, 12:00 AM', new \DateTime('2005/01/01'), 'Jan 1, 2005, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000/01/01'), 'Jan 1, 2000, 12:00 AM', new \DateTime('2000/01/01'), 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000/01/01'), 'Jan 1, 2000, 12:00 AM', '2005/01/01', 'Jan 1, 2005, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000/01/01'), 'Jan 1, 2000, 12:00 AM', '2000/01/01', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000/01/01 UTC'), 'Jan 1, 2000, 12:00 AM', '2005/01/01 UTC', 'Jan 1, 2005, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000/01/01 UTC'), 'Jan 1, 2000, 12:00 AM', '2000/01/01 UTC', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new ComparisonTest_Class(4), '4', new ComparisonTest_Class(5), '5', __NAMESPACE__.'\ComparisonTest_Class'),
-            array(new ComparisonTest_Class(5), '5', new ComparisonTest_Class(5), '5', __NAMESPACE__.'\ComparisonTest_Class'),
-            array('22', '"22"', '333', '"333"', 'string'),
-            array('22', '"22"', '22', '"22"', 'string'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GroupSequenceTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GroupSequenceTest.php
deleted file mode 100644
index 85b60b5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GroupSequenceTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\GroupSequence;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class GroupSequenceTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCreate()
-    {
-        $sequence = new GroupSequence(array('Group 1', 'Group 2'));
-
-        $this->assertSame(array('Group 1', 'Group 2'), $sequence->groups);
-    }
-
-    public function testCreateDoctrineStyle()
-    {
-        $sequence = new GroupSequence(array('value' => array('Group 1', 'Group 2')));
-
-        $this->assertSame(array('Group 1', 'Group 2'), $sequence->groups);
-    }
-
-    public function testIterate()
-    {
-        $sequence = new GroupSequence(array('Group 1', 'Group 2'));
-
-        $this->assertSame(array('Group 1', 'Group 2'), iterator_to_array($sequence));
-    }
-
-    public function testCount()
-    {
-        $sequence = new GroupSequence(array('Group 1', 'Group 2'));
-
-        $this->assertCount(2, $sequence);
-    }
-
-    public function testArrayAccess()
-    {
-        $sequence = new GroupSequence(array('Group 1', 'Group 2'));
-
-        $this->assertSame('Group 1', $sequence[0]);
-        $this->assertSame('Group 2', $sequence[1]);
-        $this->assertTrue(isset($sequence[0]));
-        $this->assertFalse(isset($sequence[2]));
-        unset($sequence[0]);
-        $this->assertFalse(isset($sequence[0]));
-        $sequence[] = 'Group 3';
-        $this->assertTrue(isset($sequence[2]));
-        $this->assertSame('Group 3', $sequence[2]);
-        $sequence[0] = 'Group 1';
-        $this->assertTrue(isset($sequence[0]));
-        $this->assertSame('Group 1', $sequence[0]);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\OutOfBoundsException
-     */
-    public function testGetExpectsExistingKey()
-    {
-        $sequence = new GroupSequence(array('Group 1', 'Group 2'));
-
-        $sequence[2];
-    }
-
-    public function testUnsetIgnoresNonExistingKeys()
-    {
-        $sequence = new GroupSequence(array('Group 1', 'Group 2'));
-
-        // should not fail
-        unset($sequence[2]);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php
deleted file mode 100644
index ab9839a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Iban;
-use Symfony\Component\Validator\Constraints\IbanValidator;
-use Symfony\Component\Validator\Validation;
-
-class IbanValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new IbanValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Iban());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Iban());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getValidIbans
-     */
-    public function testValidIbans($iban)
-    {
-        $this->validator->validate($iban, new Iban());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidIbans()
-    {
-        return array(
-            array('CH9300762011623852957'), // Switzerland without spaces
-            array('CH93  0076 2011 6238 5295 7'), // Switzerland with multiple spaces
-
-            //Country list
-            //http://www.rbs.co.uk/corporate/international/g0/guide-to-international-business/regulatory-information/iban/iban-example.ashx
-
-            array('AL47 2121 1009 0000 0002 3569 8741'), //Albania
-            array('AD12 0001 2030 2003 5910 0100'), //Andorra
-            array('AT61 1904 3002 3457 3201'), //Austria
-            array('AZ21 NABZ 0000 0000 1370 1000 1944'), //Azerbaijan
-            array('BH67 BMAG 0000 1299 1234 56'), //Bahrain
-            array('BE62 5100 0754 7061'), //Belgium
-            array('BA39 1290 0794 0102 8494'), //Bosnia and Herzegovina
-            array('BG80 BNBG 9661 1020 3456 78'), //Bulgaria
-            array('HR12 1001 0051 8630 0016 0'), //Croatia
-            array('CY17 0020 0128 0000 0012 0052 7600'), //Cyprus
-            array('CZ65 0800 0000 1920 0014 5399'), //Czech Republic
-            array('DK50 0040 0440 1162 43'), //Denmark
-            array('EE38 2200 2210 2014 5685'), //Estonia
-            array('FO97 5432 0388 8999 44'), //Faroe Islands
-            array('FI21 1234 5600 0007 85'), //Finland
-            array('FR14 2004 1010 0505 0001 3M02 606'), //France
-            array('GE29 NB00 0000 0101 9049 17'), //Georgia
-            array('DE89 3704 0044 0532 0130 00'), //Germany
-            array('GI75 NWBK 0000 0000 7099 453'), //Gibraltar
-            array('GR16 0110 1250 0000 0001 2300 695'), //Greece
-            array('GL56 0444 9876 5432 10'), //Greenland
-            array('HU42 1177 3016 1111 1018 0000 0000'), //Hungary
-            array('IS14 0159 2600 7654 5510 7303 39'), //Iceland
-            array('IE29 AIBK 9311 5212 3456 78'), //Ireland
-            array('IL62 0108 0000 0009 9999 999'), //Israel
-            array('IT40 S054 2811 1010 0000 0123 456'), //Italy
-            array('LV80 BANK 0000 4351 9500 1'), //Latvia
-            array('LB62 0999 0000 0001 0019 0122 9114'), //Lebanon
-            array('LI21 0881 0000 2324 013A A'), //Liechtenstein
-            array('LT12 1000 0111 0100 1000'), //Lithuania
-            array('LU28 0019 4006 4475 0000'), //Luxembourg
-            array('MK072 5012 0000 0589 84'), //Macedonia
-            array('MT84 MALT 0110 0001 2345 MTLC AST0 01S'), //Malta
-            array('MU17 BOMM 0101 1010 3030 0200 000M UR'), //Mauritius
-            array('MD24 AG00 0225 1000 1310 4168'), //Moldova
-            array('MC93 2005 2222 1001 1223 3M44 555'), //Monaco
-            array('ME25 5050 0001 2345 6789 51'), //Montenegro
-            array('NL39 RABO 0300 0652 64'), //Netherlands
-            array('NO93 8601 1117 947'), //Norway
-            array('PK36 SCBL 0000 0011 2345 6702'), //Pakistan
-            array('PL60 1020 1026 0000 0422 7020 1111'), //Poland
-            array('PT50 0002 0123 1234 5678 9015 4'), //Portugal
-            array('RO49 AAAA 1B31 0075 9384 0000'), //Romania
-            array('SM86 U032 2509 8000 0000 0270 100'), //San Marino
-            array('SA03 8000 0000 6080 1016 7519'), //Saudi Arabia
-            array('RS35 2600 0560 1001 6113 79'), //Serbia
-            array('SK31 1200 0000 1987 4263 7541'), //Slovak Republic
-            array('SI56 1910 0000 0123 438'), //Slovenia
-            array('ES80 2310 0001 1800 0001 2345'), //Spain
-            array('SE35 5000 0000 0549 1000 0003'), //Sweden
-            array('CH93 0076 2011 6238 5295 7'), //Switzerland
-            array('TN59 1000 6035 1835 9847 8831'), //Tunisia
-            array('TR33 0006 1005 1978 6457 8413 26'), //Turkey
-            array('AE07 0331 2345 6789 0123 456'), //UAE
-            array('GB 12 CPBK 0892 9965 0449 91'), //United Kingdom
-
-            //Extended country list
-            //http://www.nordea.com/Our+services/International+products+and+services/Cash+Management/IBAN+countries/908462.html
-            array('AO06000600000100037131174'), //Angola
-            array('AZ21NABZ00000000137010001944'), //Azerbaijan
-            array('BH29BMAG1299123456BH00'), //Bahrain
-            array('BJ11B00610100400271101192591'), //Benin
-            array('VG96VPVG0000012345678901'), //British Virgin Islands
-            array('BF1030134020015400945000643'), //Burkina Faso
-            array('BI43201011067444'), //Burundi
-            array('CM2110003001000500000605306'), //Cameroon
-            array('CV64000300004547069110176'), //Cape Verde
-            array('FR7630007000110009970004942'), //Central African Republic
-            array('CG5230011000202151234567890'), //Congo
-            array('CR0515202001026284066'), //Costa Rica
-            array('DO28BAGR00000001212453611324'), //Dominican Republic
-            array('GT82TRAJ01020000001210029690'), //Guatemala
-            array('IR580540105180021273113007'), //Iran
-            array('IL620108000000099999999'), //Israel
-            array('CI05A00060174100178530011852'), //Ivory Coast
-            array('KZ176010251000042993'), //Kazakhstan
-            array('KW74NBOK0000000000001000372151'), //Kuwait
-            array('LB30099900000001001925579115'), //Lebanon
-            array('MG4600005030010101914016056'), //Madagascar
-            array('ML03D00890170001002120000447'), //Mali
-            array('MR1300012000010000002037372'), //Mauritania
-            array('MU17BOMM0101101030300200000MUR'), //Mauritius
-            array('MZ59000100000011834194157'), //Mozambique
-            array('PS92PALS000000000400123456702'), //Palestinian Territory
-            array('PT50000200000163099310355'), //Sao Tome and Principe
-            array('SA0380000000608010167519'), //Saudi Arabia
-            array('SN12K00100152000025690007542'), //Senegal
-            array('TN5914207207100707129648'), //Tunisia
-            array('TR330006100519786457841326'), //Turkey
-            array('AE260211000000230064016'), //United Arab Emirates
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidIbans
-     */
-    public function testInvalidIbans($iban, $code)
-    {
-        $constraint = new Iban(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($iban, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$iban.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getInvalidIbans()
-    {
-        return array(
-            array('CH93 0076 2011 6238 5295', Iban::CHECKSUM_FAILED_ERROR),
-            array('CH930076201162385295', Iban::CHECKSUM_FAILED_ERROR),
-            array('GB29 RBOS 6016 1331 9268 19', Iban::CHECKSUM_FAILED_ERROR),
-            array('CH930072011623852957', Iban::CHECKSUM_FAILED_ERROR),
-            array('NL39 RASO 0300 0652 64', Iban::CHECKSUM_FAILED_ERROR),
-            array('NO93 8601117 947', Iban::CHECKSUM_FAILED_ERROR),
-            array('CY170020 128 0000 0012 0052 7600', Iban::CHECKSUM_FAILED_ERROR),
-            array('foo', Iban::TOO_SHORT_ERROR),
-            array('123', Iban::TOO_SHORT_ERROR),
-            array('0750447346', Iban::INVALID_COUNTRY_CODE_ERROR),
-            array('CH930076201162385295]', Iban::INVALID_CHARACTERS_ERROR),
-
-            //Ibans with lower case values are invalid
-            array('Ae260211000000230064016', Iban::INVALID_CASE_ERROR),
-            array('ae260211000000230064016', Iban::INVALID_CASE_ERROR),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php
deleted file mode 100644
index 4b71062..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\IdenticalTo;
-use Symfony\Component\Validator\Constraints\IdenticalToValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class IdenticalToValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new IdenticalToValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new IdenticalTo($options);
-    }
-
-    public function provideAllValidComparisons()
-    {
-        $this->setDefaultTimezone('UTC');
-
-        // Don't call addPhp5Dot5Comparisons() automatically, as it does
-        // not take care of identical objects
-        $comparisons = $this->provideValidComparisons();
-
-        $this->restoreDefaultTimezone();
-
-        return $comparisons;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        $date = new \DateTime('2000-01-01');
-        $object = new ComparisonTest_Class(2);
-
-        $comparisons = array(
-            array(3, 3),
-            array('a', 'a'),
-            array($date, $date),
-            array($object, $object),
-            array(null, 1),
-        );
-
-        if (version_compare(PHP_VERSION, '>=', '5.5')) {
-            $immutableDate = new \DateTimeImmutable('2000-01-01');
-            $comparisons[] = array($immutableDate, $immutableDate);
-        }
-
-        return $comparisons;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        return array(
-            array(1, '1', 2, '2', 'integer'),
-            array(2, '2', '2', '"2"', 'string'),
-            array('22', '"22"', '333', '"333"', 'string'),
-            array(new \DateTime('2001-01-01'), 'Jan 1, 2001, 12:00 AM', new \DateTime('2001-01-01'), 'Jan 1, 2001, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2001-01-01'), 'Jan 1, 2001, 12:00 AM', new \DateTime('1999-01-01'), 'Jan 1, 1999, 12:00 AM', 'DateTime'),
-            array(new ComparisonTest_Class(4), '4', new ComparisonTest_Class(5), '5', __NAMESPACE__.'\ComparisonTest_Class'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php
deleted file mode 100644
index 18f9c1b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php
+++ /dev/null
@@ -1,329 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Image;
-use Symfony\Component\Validator\Constraints\ImageValidator;
-use Symfony\Component\Validator\Validation;
-
-class ImageValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected $context;
-
-    /**
-     * @var ImageValidator
-     */
-    protected $validator;
-
-    protected $path;
-    protected $image;
-    protected $imageLandscape;
-    protected $imagePortrait;
-    protected $image4By3;
-
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new ImageValidator();
-    }
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->image = __DIR__.'/Fixtures/test.gif';
-        $this->imageLandscape = __DIR__.'/Fixtures/test_landscape.gif';
-        $this->imagePortrait = __DIR__.'/Fixtures/test_portrait.gif';
-        $this->image4By3 = __DIR__.'/Fixtures/test_4by3.gif';
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Image());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Image());
-
-        $this->assertNoViolation();
-    }
-
-    public function testValidImage()
-    {
-        $this->validator->validate($this->image, new Image());
-
-        $this->assertNoViolation();
-    }
-
-    public function testFileNotFound()
-    {
-        // Check that the logic from FileValidator still works
-        $constraint = new Image(array(
-            'notFoundMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate('foobar', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ file }}', '"foobar"')
-            ->setCode(Image::NOT_FOUND_ERROR)
-            ->assertRaised();
-    }
-
-    public function testValidSize()
-    {
-        $constraint = new Image(array(
-            'minWidth' => 1,
-            'maxWidth' => 2,
-            'minHeight' => 1,
-            'maxHeight' => 2,
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testWidthTooSmall()
-    {
-        $constraint = new Image(array(
-            'minWidth' => 3,
-            'minWidthMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ width }}', '2')
-            ->setParameter('{{ min_width }}', '3')
-            ->setCode(Image::TOO_NARROW_ERROR)
-            ->assertRaised();
-    }
-
-    public function testWidthTooBig()
-    {
-        $constraint = new Image(array(
-            'maxWidth' => 1,
-            'maxWidthMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ width }}', '2')
-            ->setParameter('{{ max_width }}', '1')
-            ->setCode(Image::TOO_WIDE_ERROR)
-            ->assertRaised();
-    }
-
-    public function testHeightTooSmall()
-    {
-        $constraint = new Image(array(
-            'minHeight' => 3,
-            'minHeightMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ height }}', '2')
-            ->setParameter('{{ min_height }}', '3')
-            ->setCode(Image::TOO_LOW_ERROR)
-            ->assertRaised();
-    }
-
-    public function testHeightTooBig()
-    {
-        $constraint = new Image(array(
-            'maxHeight' => 1,
-            'maxHeightMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ height }}', '2')
-            ->setParameter('{{ max_height }}', '1')
-            ->setCode(Image::TOO_HIGH_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidMinWidth()
-    {
-        $constraint = new Image(array(
-            'minWidth' => '1abc',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidMaxWidth()
-    {
-        $constraint = new Image(array(
-            'maxWidth' => '1abc',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidMinHeight()
-    {
-        $constraint = new Image(array(
-            'minHeight' => '1abc',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidMaxHeight()
-    {
-        $constraint = new Image(array(
-            'maxHeight' => '1abc',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-    }
-
-    public function testRatioTooSmall()
-    {
-        $constraint = new Image(array(
-            'minRatio' => 2,
-            'minRatioMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ ratio }}', 1)
-            ->setParameter('{{ min_ratio }}', 2)
-            ->setCode(Image::RATIO_TOO_SMALL_ERROR)
-            ->assertRaised();
-    }
-
-    public function testRatioTooBig()
-    {
-        $constraint = new Image(array(
-            'maxRatio' => 0.5,
-            'maxRatioMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ ratio }}', 1)
-            ->setParameter('{{ max_ratio }}', 0.5)
-            ->setCode(Image::RATIO_TOO_BIG_ERROR)
-            ->assertRaised();
-    }
-
-    public function testMaxRatioUsesTwoDecimalsOnly()
-    {
-        $constraint = new Image(array(
-            'maxRatio' => 1.33,
-        ));
-
-        $this->validator->validate($this->image4By3, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidMinRatio()
-    {
-        $constraint = new Image(array(
-            'minRatio' => '1abc',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidMaxRatio()
-    {
-        $constraint = new Image(array(
-            'maxRatio' => '1abc',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-    }
-
-    public function testSquareNotAllowed()
-    {
-        $constraint = new Image(array(
-            'allowSquare' => false,
-            'allowSquareMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->image, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ width }}', 2)
-            ->setParameter('{{ height }}', 2)
-            ->setCode(Image::SQUARE_NOT_ALLOWED_ERROR)
-            ->assertRaised();
-    }
-
-    public function testLandscapeNotAllowed()
-    {
-        $constraint = new Image(array(
-            'allowLandscape' => false,
-            'allowLandscapeMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->imageLandscape, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ width }}', 2)
-            ->setParameter('{{ height }}', 1)
-            ->setCode(Image::LANDSCAPE_NOT_ALLOWED_ERROR)
-            ->assertRaised();
-    }
-
-    public function testPortraitNotAllowed()
-    {
-        $constraint = new Image(array(
-            'allowPortrait' => false,
-            'allowPortraitMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($this->imagePortrait, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ width }}', 1)
-            ->setParameter('{{ height }}', 2)
-            ->setCode(Image::PORTRAIT_NOT_ALLOWED_ERROR)
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IpValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IpValidatorTest.php
deleted file mode 100644
index fc40e61..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IpValidatorTest.php
+++ /dev/null
@@ -1,444 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Ip;
-use Symfony\Component\Validator\Constraints\IpValidator;
-use Symfony\Component\Validator\Validation;
-
-class IpValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new IpValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Ip());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Ip());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Ip());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testInvalidValidatorVersion()
-    {
-        new Ip(array(
-            'version' => 666,
-        ));
-    }
-
-    /**
-     * @dataProvider getValidIpsV4
-     */
-    public function testValidIpsV4($ip)
-    {
-        $this->validator->validate($ip, new Ip(array(
-            'version' => Ip::V4,
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidIpsV4()
-    {
-        return array(
-            array('0.0.0.0'),
-            array('10.0.0.0'),
-            array('123.45.67.178'),
-            array('172.16.0.0'),
-            array('192.168.1.0'),
-            array('224.0.0.1'),
-            array('255.255.255.255'),
-            array('127.0.0.0'),
-        );
-    }
-
-    /**
-     * @dataProvider getValidIpsV6
-     */
-    public function testValidIpsV6($ip)
-    {
-        $this->validator->validate($ip, new Ip(array(
-            'version' => Ip::V6,
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidIpsV6()
-    {
-        return array(
-            array('2001:0db8:85a3:0000:0000:8a2e:0370:7334'),
-            array('2001:0DB8:85A3:0000:0000:8A2E:0370:7334'),
-            array('2001:0Db8:85a3:0000:0000:8A2e:0370:7334'),
-            array('fdfe:dcba:9876:ffff:fdc6:c46b:bb8f:7d4c'),
-            array('fdc6:c46b:bb8f:7d4c:fdc6:c46b:bb8f:7d4c'),
-            array('fdc6:c46b:bb8f:7d4c:0000:8a2e:0370:7334'),
-            array('fe80:0000:0000:0000:0202:b3ff:fe1e:8329'),
-            array('fe80:0:0:0:202:b3ff:fe1e:8329'),
-            array('fe80::202:b3ff:fe1e:8329'),
-            array('0:0:0:0:0:0:0:0'),
-            array('::'),
-            array('0::'),
-            array('::0'),
-            array('0::0'),
-            // IPv4 mapped to IPv6
-            array('2001:0db8:85a3:0000:0000:8a2e:0.0.0.0'),
-            array('::0.0.0.0'),
-            array('::255.255.255.255'),
-            array('::123.45.67.178'),
-        );
-    }
-
-    /**
-     * @dataProvider getValidIpsAll
-     */
-    public function testValidIpsAll($ip)
-    {
-        $this->validator->validate($ip, new Ip(array(
-            'version' => Ip::ALL,
-        )));
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidIpsAll()
-    {
-        return array_merge($this->getValidIpsV4(), $this->getValidIpsV6());
-    }
-
-    /**
-     * @dataProvider getInvalidIpsV4
-     */
-    public function testInvalidIpsV4($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V4,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidIpsV4()
-    {
-        return array(
-            array('0'),
-            array('0.0'),
-            array('0.0.0'),
-            array('256.0.0.0'),
-            array('0.256.0.0'),
-            array('0.0.256.0'),
-            array('0.0.0.256'),
-            array('-1.0.0.0'),
-            array('foobar'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidPrivateIpsV4
-     */
-    public function testInvalidPrivateIpsV4($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V4_NO_PRIV,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidPrivateIpsV4()
-    {
-        return array(
-            array('10.0.0.0'),
-            array('172.16.0.0'),
-            array('192.168.1.0'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidReservedIpsV4
-     */
-    public function testInvalidReservedIpsV4($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V4_NO_RES,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidReservedIpsV4()
-    {
-        return array(
-            array('0.0.0.0'),
-            array('224.0.0.1'),
-            array('255.255.255.255'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidPublicIpsV4
-     */
-    public function testInvalidPublicIpsV4($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V4_ONLY_PUBLIC,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidPublicIpsV4()
-    {
-        return array_merge($this->getInvalidPrivateIpsV4(), $this->getInvalidReservedIpsV4());
-    }
-
-    /**
-     * @dataProvider getInvalidIpsV6
-     */
-    public function testInvalidIpsV6($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V6,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidIpsV6()
-    {
-        return array(
-            array('z001:0db8:85a3:0000:0000:8a2e:0370:7334'),
-            array('fe80'),
-            array('fe80:8329'),
-            array('fe80:::202:b3ff:fe1e:8329'),
-            array('fe80::202:b3ff::fe1e:8329'),
-            // IPv4 mapped to IPv6
-            array('2001:0db8:85a3:0000:0000:8a2e:0370:0.0.0.0'),
-            array('::0.0'),
-            array('::0.0.0'),
-            array('::256.0.0.0'),
-            array('::0.256.0.0'),
-            array('::0.0.256.0'),
-            array('::0.0.0.256'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidPrivateIpsV6
-     */
-    public function testInvalidPrivateIpsV6($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V6_NO_PRIV,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidPrivateIpsV6()
-    {
-        return array(
-            array('fdfe:dcba:9876:ffff:fdc6:c46b:bb8f:7d4c'),
-            array('fdc6:c46b:bb8f:7d4c:fdc6:c46b:bb8f:7d4c'),
-            array('fdc6:c46b:bb8f:7d4c:0000:8a2e:0370:7334'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidReservedIpsV6
-     */
-    public function testInvalidReservedIpsV6($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V6_NO_RES,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidReservedIpsV6()
-    {
-        // Quoting after official filter documentation:
-        // "FILTER_FLAG_NO_RES_RANGE = This flag does not apply to IPv6 addresses."
-        // Full description: http://php.net/manual/en/filter.filters.flags.php
-        return $this->getInvalidIpsV6();
-    }
-
-    /**
-     * @dataProvider getInvalidPublicIpsV6
-     */
-    public function testInvalidPublicIpsV6($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::V6_ONLY_PUBLIC,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidPublicIpsV6()
-    {
-        return array_merge($this->getInvalidPrivateIpsV6(), $this->getInvalidReservedIpsV6());
-    }
-
-    /**
-     * @dataProvider getInvalidIpsAll
-     */
-    public function testInvalidIpsAll($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::ALL,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidIpsAll()
-    {
-        return array_merge($this->getInvalidIpsV4(), $this->getInvalidIpsV6());
-    }
-
-    /**
-     * @dataProvider getInvalidPrivateIpsAll
-     */
-    public function testInvalidPrivateIpsAll($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::ALL_NO_PRIV,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidPrivateIpsAll()
-    {
-        return array_merge($this->getInvalidPrivateIpsV4(), $this->getInvalidPrivateIpsV6());
-    }
-
-    /**
-     * @dataProvider getInvalidReservedIpsAll
-     */
-    public function testInvalidReservedIpsAll($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::ALL_NO_RES,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidReservedIpsAll()
-    {
-        return array_merge($this->getInvalidReservedIpsV4(), $this->getInvalidReservedIpsV6());
-    }
-
-    /**
-     * @dataProvider getInvalidPublicIpsAll
-     */
-    public function testInvalidPublicIpsAll($ip)
-    {
-        $constraint = new Ip(array(
-            'version' => Ip::ALL_ONLY_PUBLIC,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($ip, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$ip.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidPublicIpsAll()
-    {
-        return array_merge($this->getInvalidPublicIpsV4(), $this->getInvalidPublicIpsV6());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php
deleted file mode 100644
index e73b89d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php
+++ /dev/null
@@ -1,271 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Isbn;
-use Symfony\Component\Validator\Constraints\IsbnValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @see https://en.wikipedia.org/wiki/Isbn
- */
-class IsbnValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new IsbnValidator();
-    }
-
-    public function getValidIsbn10()
-    {
-        return array(
-            array('2723442284'),
-            array('2723442276'),
-            array('2723455041'),
-            array('2070546810'),
-            array('2711858839'),
-            array('2756406767'),
-            array('2870971648'),
-            array('226623854X'),
-            array('2851806424'),
-            array('0321812700'),
-            array('0-45122-5244'),
-            array('0-4712-92311'),
-            array('0-9752298-0-X'),
-        );
-    }
-
-    public function getInvalidIsbn10()
-    {
-        return array(
-            array('27234422841', Isbn::TOO_LONG_ERROR),
-            array('272344228', Isbn::TOO_SHORT_ERROR),
-            array('0-4712-9231', Isbn::TOO_SHORT_ERROR),
-            array('1234567890', Isbn::CHECKSUM_FAILED_ERROR),
-            array('0987656789', Isbn::CHECKSUM_FAILED_ERROR),
-            array('7-35622-5444', Isbn::CHECKSUM_FAILED_ERROR),
-            array('0-4X19-92611', Isbn::CHECKSUM_FAILED_ERROR),
-            array('0_45122_5244', Isbn::INVALID_CHARACTERS_ERROR),
-            array('2870#971#648', Isbn::INVALID_CHARACTERS_ERROR),
-            array('0-9752298-0-x', Isbn::INVALID_CHARACTERS_ERROR),
-            array('1A34567890', Isbn::INVALID_CHARACTERS_ERROR),
-            // chr(1) evaluates to 0
-            // 2070546810 is valid
-            array('2'.chr(1).'70546810', Isbn::INVALID_CHARACTERS_ERROR),
-        );
-    }
-
-    public function getValidIsbn13()
-    {
-        return array(
-            array('978-2723442282'),
-            array('978-2723442275'),
-            array('978-2723455046'),
-            array('978-2070546817'),
-            array('978-2711858835'),
-            array('978-2756406763'),
-            array('978-2870971642'),
-            array('978-2266238540'),
-            array('978-2851806420'),
-            array('978-0321812704'),
-            array('978-0451225245'),
-            array('978-0471292319'),
-        );
-    }
-
-    public function getInvalidIsbn13()
-    {
-        return array(
-            array('978-27234422821', Isbn::TOO_LONG_ERROR),
-            array('978-272344228', Isbn::TOO_SHORT_ERROR),
-            array('978-2723442-82', Isbn::TOO_SHORT_ERROR),
-            array('978-2723442281', Isbn::CHECKSUM_FAILED_ERROR),
-            array('978-0321513774', Isbn::CHECKSUM_FAILED_ERROR),
-            array('979-0431225385', Isbn::CHECKSUM_FAILED_ERROR),
-            array('980-0474292319', Isbn::CHECKSUM_FAILED_ERROR),
-            array('0-4X19-92619812', Isbn::INVALID_CHARACTERS_ERROR),
-            array('978_2723442282', Isbn::INVALID_CHARACTERS_ERROR),
-            array('978#2723442282', Isbn::INVALID_CHARACTERS_ERROR),
-            array('978-272C442282', Isbn::INVALID_CHARACTERS_ERROR),
-            // chr(1) evaluates to 0
-            // 978-2070546817 is valid
-            array('978-2'.chr(1).'70546817', Isbn::INVALID_CHARACTERS_ERROR),
-        );
-    }
-
-    public function getValidIsbn()
-    {
-        return array_merge(
-            $this->getValidIsbn10(),
-            $this->getValidIsbn13()
-        );
-    }
-
-    public function getInvalidIsbn()
-    {
-        return array_merge(
-            $this->getInvalidIsbn10(),
-            $this->getInvalidIsbn13()
-        );
-    }
-
-    public function testNullIsValid()
-    {
-        $constraint = new Isbn(true);
-
-        $this->validator->validate(null, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $constraint = new Isbn(true);
-
-        $this->validator->validate('', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $constraint = new Isbn(true);
-
-        $this->validator->validate(new \stdClass(), $constraint);
-    }
-
-    /**
-     * @dataProvider getValidIsbn10
-     */
-    public function testValidIsbn10($isbn)
-    {
-        $constraint = new Isbn(array(
-            'type' => 'isbn10',
-        ));
-
-        $this->validator->validate($isbn, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getInvalidIsbn10
-     */
-    public function testInvalidIsbn10($isbn, $code)
-    {
-        $constraint = new Isbn(array(
-            'type' => 'isbn10',
-            'isbn10Message' => 'myMessage',
-        ));
-
-        $this->validator->validate($isbn, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$isbn.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getValidIsbn13
-     */
-    public function testValidIsbn13($isbn)
-    {
-        $constraint = new Isbn(array('type' => 'isbn13'));
-
-        $this->validator->validate($isbn, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getInvalidIsbn13
-     */
-    public function testInvalidIsbn13($isbn, $code)
-    {
-        $constraint = new Isbn(array(
-            'type' => 'isbn13',
-            'isbn13Message' => 'myMessage',
-        ));
-
-        $this->validator->validate($isbn, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$isbn.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getValidIsbn
-     */
-    public function testValidIsbnAny($isbn)
-    {
-        $constraint = new Isbn();
-
-        $this->validator->validate($isbn, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getInvalidIsbn10
-     */
-    public function testInvalidIsbnAnyIsbn10($isbn, $code)
-    {
-        $constraint = new Isbn(array(
-            'bothIsbnMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($isbn, $constraint);
-
-        // Too long for an ISBN-10, but not long enough for an ISBN-13
-        if (Isbn::TOO_LONG_ERROR === $code) {
-            $code = Isbn::TYPE_NOT_RECOGNIZED_ERROR;
-        }
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$isbn.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getInvalidIsbn13
-     */
-    public function testInvalidIsbnAnyIsbn13($isbn, $code)
-    {
-        $constraint = new Isbn(array(
-            'bothIsbnMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($isbn, $constraint);
-
-        // Too short for an ISBN-13, but not short enough for an ISBN-10
-        if (Isbn::TOO_SHORT_ERROR === $code) {
-            $code = Isbn::TYPE_NOT_RECOGNIZED_ERROR;
-        }
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$isbn.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IssnValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IssnValidatorTest.php
deleted file mode 100644
index a6d3994..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IssnValidatorTest.php
+++ /dev/null
@@ -1,187 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Issn;
-use Symfony\Component\Validator\Constraints\IssnValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @see https://en.wikipedia.org/wiki/Issn
- */
-class IssnValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new IssnValidator();
-    }
-
-    public function getValidLowerCasedIssn()
-    {
-        return array(
-            array('2162-321x'),
-            array('2160-200x'),
-            array('1537-453x'),
-            array('1937-710x'),
-            array('0002-922x'),
-            array('1553-345x'),
-            array('1553-619x'),
-        );
-    }
-
-    public function getValidNonHyphenatedIssn()
-    {
-        return array(
-            array('2162321X'),
-            array('01896016'),
-            array('15744647'),
-            array('14350645'),
-            array('07174055'),
-            array('20905076'),
-            array('14401592'),
-        );
-    }
-
-    public function getFullValidIssn()
-    {
-        return array(
-            array('1550-7416'),
-            array('1539-8560'),
-            array('2156-5376'),
-            array('1119-023X'),
-            array('1684-5315'),
-            array('1996-0786'),
-            array('1684-5374'),
-            array('1996-0794'),
-        );
-    }
-
-    public function getValidIssn()
-    {
-        return array_merge(
-            $this->getValidLowerCasedIssn(),
-            $this->getValidNonHyphenatedIssn(),
-            $this->getFullValidIssn()
-        );
-    }
-
-    public function getInvalidIssn()
-    {
-        return array(
-            array(0, Issn::TOO_SHORT_ERROR),
-            array('1539', Issn::TOO_SHORT_ERROR),
-            array('2156-537A', Issn::INVALID_CHARACTERS_ERROR),
-            array('1119-0231', Issn::CHECKSUM_FAILED_ERROR),
-            array('1684-5312', Issn::CHECKSUM_FAILED_ERROR),
-            array('1996-0783', Issn::CHECKSUM_FAILED_ERROR),
-            array('1684-537X', Issn::CHECKSUM_FAILED_ERROR),
-            array('1996-0795', Issn::CHECKSUM_FAILED_ERROR),
-        );
-    }
-
-    public function testNullIsValid()
-    {
-        $constraint = new Issn();
-
-        $this->validator->validate(null, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $constraint = new Issn();
-
-        $this->validator->validate('', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $constraint = new Issn();
-        $this->validator->validate(new \stdClass(), $constraint);
-    }
-
-    /**
-     * @dataProvider getValidLowerCasedIssn
-     */
-    public function testCaseSensitiveIssns($issn)
-    {
-        $constraint = new Issn(array(
-            'caseSensitive' => true,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($issn, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$issn.'"')
-            ->setCode(Issn::INVALID_CASE_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getValidNonHyphenatedIssn
-     */
-    public function testRequireHyphenIssns($issn)
-    {
-        $constraint = new Issn(array(
-            'requireHyphen' => true,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($issn, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$issn.'"')
-            ->setCode(Issn::MISSING_HYPHEN_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getValidIssn
-     */
-    public function testValidIssn($issn)
-    {
-        $constraint = new Issn();
-
-        $this->validator->validate($issn, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getInvalidIssn
-     */
-    public function testInvalidIssn($issn, $code)
-    {
-        $constraint = new Issn(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($issn, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$issn.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LanguageValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LanguageValidatorTest.php
deleted file mode 100644
index 6f7c390..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LanguageValidatorTest.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Intl\Util\IntlTestHelper;
-use Symfony\Component\Validator\Constraints\Language;
-use Symfony\Component\Validator\Constraints\LanguageValidator;
-use Symfony\Component\Validator\Validation;
-
-class LanguageValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new LanguageValidator();
-    }
-
-    protected function setUp()
-    {
-        IntlTestHelper::requireFullIntl($this);
-
-        parent::setUp();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Language());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Language());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Language());
-    }
-
-    /**
-     * @dataProvider getValidLanguages
-     */
-    public function testValidLanguages($language)
-    {
-        $this->validator->validate($language, new Language());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidLanguages()
-    {
-        return array(
-            array('en'),
-            array('en_US'),
-            array('my'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidLanguages
-     */
-    public function testInvalidLanguages($language)
-    {
-        $constraint = new Language(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($language, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$language.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidLanguages()
-    {
-        return array(
-            array('EN'),
-            array('foobar'),
-        );
-    }
-
-    public function testValidateUsingCountrySpecificLocale()
-    {
-        \Locale::setDefault('fr_FR');
-        $existingLanguage = 'en';
-
-        $this->validator->validate($existingLanguage, new Language(array(
-            'message' => 'aMessage',
-        )));
-
-        $this->assertNoViolation();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidator2Dot4ApiTest.php
deleted file mode 100644
index d5a41fb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyAllValidator2Dot4ApiTest extends AllValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidatorLegacyApiTest.php
deleted file mode 100644
index 649bfe1..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyAllValidatorLegacyApiTest extends AllValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidator2Dot4ApiTest.php
deleted file mode 100644
index 0cfb1aa..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyBlankValidator2Dot4ApiTest extends BlankValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidatorLegacyApiTest.php
deleted file mode 100644
index 00b8a7a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyBlankValidatorLegacyApiTest extends BlankValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidator2Dot4ApiTest.php
deleted file mode 100644
index efcb5ec..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCallbackValidator2Dot4ApiTest extends CallbackValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidatorLegacyApiTest.php
deleted file mode 100644
index 8f3ea2b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCallbackValidatorLegacyApiTest extends CallbackValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidator2Dot4ApiTest.php
deleted file mode 100644
index 0f467dd..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCardSchemeValidator2Dot4ApiTest extends CardSchemeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidatorLegacyApiTest.php
deleted file mode 100644
index e4b4184..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCardSchemeValidatorLegacyApiTest extends CardSchemeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidator2Dot4ApiTest.php
deleted file mode 100644
index 71277f7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyChoiceValidator2Dot4ApiTest extends ChoiceValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidatorLegacyApiTest.php
deleted file mode 100644
index 9237df5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyChoiceValidatorLegacyApiTest extends ChoiceValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArray2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArray2Dot4ApiTest.php
deleted file mode 100644
index 3826914..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArray2Dot4ApiTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @group legacy
- */
-class LegacyCollectionValidatorArray2Dot4ApiTest extends CollectionValidatorArrayTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayLegacyApiTest.php
deleted file mode 100644
index 45ca1df..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayLegacyApiTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @group legacy
- */
-class LegacyCollectionValidatorArrayLegacyApiTest extends CollectionValidatorArrayTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObject2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObject2Dot4ApiTest.php
deleted file mode 100644
index 22dbe46..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObject2Dot4ApiTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @group legacy
- */
-class LegacyCollectionValidatorArrayObject2Dot4ApiTest extends CollectionValidatorArrayObjectTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObjectLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObjectLegacyApiTest.php
deleted file mode 100644
index f28aed3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObjectLegacyApiTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @group legacy
- */
-class LegacyCollectionValidatorArrayObjectLegacyApiTest extends CollectionValidatorArrayObjectTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest.php
deleted file mode 100644
index 29ce241..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @group legacy
- */
-class LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest extends CollectionValidatorCustomArrayObjectTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObjectLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObjectLegacyApiTest.php
deleted file mode 100644
index b04053f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObjectLegacyApiTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @group legacy
- */
-class LegacyCollectionValidatorCustomArrayObjectLegacyApiTest extends CollectionValidatorCustomArrayObjectTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArray2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArray2Dot4ApiTest.php
deleted file mode 100644
index 2ab8b19..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArray2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCountValidatorArray2Dot4ApiTest extends CountValidatorArrayTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArrayLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArrayLegacyApiTest.php
deleted file mode 100644
index d362988..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArrayLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCountValidatorArrayLegacyApiTest extends CountValidatorArrayTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountable2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountable2Dot4ApiTest.php
deleted file mode 100644
index d0239bb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountable2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCountValidatorCountable2Dot4ApiTest extends CountValidatorCountableTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountableLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountableLegacyApiTest.php
deleted file mode 100644
index 33b8795..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountableLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCountValidatorCountableLegacyApiTest extends CountValidatorCountableTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidator2Dot4ApiTest.php
deleted file mode 100644
index 30685d4..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCurrencyValidator2Dot4ApiTest extends CurrencyValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidatorLegacyApiTest.php
deleted file mode 100644
index 85cd5d0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyCurrencyValidatorLegacyApiTest extends CurrencyValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidator2Dot4ApiTest.php
deleted file mode 100644
index 6c2f6a5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyDateTimeValidator2Dot4ApiTest extends DateTimeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidatorLegacyApiTest.php
deleted file mode 100644
index be19302..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyDateTimeValidatorLegacyApiTest extends DateTimeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidator2Dot4ApiTest.php
deleted file mode 100644
index aab7d43..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyDateValidator2Dot4ApiTest extends DateValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidatorLegacyApiTest.php
deleted file mode 100644
index 3235f42..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyDateValidatorLegacyApiTest extends DateValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidator2Dot4ApiTest.php
deleted file mode 100644
index 12ccb5e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyEmailValidator2Dot4ApiTest extends EmailValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidatorLegacyApiTest.php
deleted file mode 100644
index e5f1019..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyEmailValidatorLegacyApiTest extends EmailValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidator2Dot4ApiTest.php
deleted file mode 100644
index 1c7008a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyEqualToValidator2Dot4ApiTest extends EqualToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidatorLegacyApiTest.php
deleted file mode 100644
index 3a72cfb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyEqualToValidatorLegacyApiTest extends EqualToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidator2Dot4ApiTest.php
deleted file mode 100644
index 914e580..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyExpressionValidator2Dot4ApiTest extends ExpressionValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidatorLegacyApiTest.php
deleted file mode 100644
index 374bba0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyExpressionValidatorLegacyApiTest extends ExpressionValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php
deleted file mode 100644
index 3d65f4e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyFalseValidator2Dot4ApiTest extends FalseValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php
deleted file mode 100644
index 5f7cb12..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyFalseValidatorLegacyApiTest extends FalseValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObject2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObject2Dot4ApiTest.php
deleted file mode 100644
index 3035e41..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObject2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyFileValidatorObject2Dot4ApiTest extends FileValidatorObjectTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObjectLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObjectLegacyApiTest.php
deleted file mode 100644
index 97d5f59..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObjectLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyFileValidatorObjectLegacyApiTest extends FileValidatorObjectTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPath2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPath2Dot4ApiTest.php
deleted file mode 100644
index a154144..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPath2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyFileValidatorPath2Dot4ApiTest extends FileValidatorPathTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPathLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPathLegacyApiTest.php
deleted file mode 100644
index 2c298df..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPathLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyFileValidatorPathLegacyApiTest extends FileValidatorPathTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidator2Dot4ApiTest.php
deleted file mode 100644
index 5f4a17e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyGreaterThanOrEqualValidator2Dot4ApiTest extends GreaterThanOrEqualValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidatorLegacyApiTest.php
deleted file mode 100644
index 08822a5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyGreaterThanOrEqualValidatorLegacyApiTest extends GreaterThanOrEqualValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidator2Dot4ApiTest.php
deleted file mode 100644
index 799e5d8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyGreaterThanValidator2Dot4ApiTest extends GreaterThanValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidatorLegacyApiTest.php
deleted file mode 100644
index 0808e9b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyGreaterThanValidatorLegacyApiTest extends GreaterThanValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidator2Dot4ApiTest.php
deleted file mode 100644
index 6dac309..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIbanValidator2Dot4ApiTest extends IbanValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidatorLegacyApiTest.php
deleted file mode 100644
index 0ffc4b1..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIbanValidatorLegacyApiTest extends IbanValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidator2Dot4ApiTest.php
deleted file mode 100644
index 99cd986..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIdenticalToValidator2Dot4ApiTest extends IdenticalToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidatorLegacyApiTest.php
deleted file mode 100644
index aade84f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIdenticalToValidatorLegacyApiTest extends IdenticalToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidator2Dot4ApiTest.php
deleted file mode 100644
index 1fee081..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyImageValidator2Dot4ApiTest extends ImageValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidatorLegacyApiTest.php
deleted file mode 100644
index d36c175..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyImageValidatorLegacyApiTest extends ImageValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidator2Dot4ApiTest.php
deleted file mode 100644
index 99933cf..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIpValidator2Dot4ApiTest extends IpValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidatorLegacyApiTest.php
deleted file mode 100644
index 315f2f9..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIpValidatorLegacyApiTest extends IpValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidator2Dot4ApiTest.php
deleted file mode 100644
index 29455bd..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIsbnValidator2Dot4ApiTest extends IsbnValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidatorLegacyApiTest.php
deleted file mode 100644
index 1568270..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIsbnValidatorLegacyApiTest extends IsbnValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidator2Dot4ApiTest.php
deleted file mode 100644
index 3713fb0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIssnValidator2Dot4ApiTest extends IssnValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidatorLegacyApiTest.php
deleted file mode 100644
index 2ff3104..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyIssnValidatorLegacyApiTest extends IssnValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidator2Dot4ApiTest.php
deleted file mode 100644
index f712075..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLanguageValidator2Dot4ApiTest extends LanguageValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidatorLegacyApiTest.php
deleted file mode 100644
index a6471b3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLanguageValidatorLegacyApiTest extends LanguageValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidator2Dot4ApiTest.php
deleted file mode 100644
index 686d376..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLengthValidator2Dot4ApiTest extends LengthValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidatorLegacyApiTest.php
deleted file mode 100644
index 655f3d6..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLengthValidatorLegacyApiTest extends LengthValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidator2Dot4ApiTest.php
deleted file mode 100644
index f345ec3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLessThanOrEqualValidator2Dot4ApiTest extends LessThanOrEqualValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidatorLegacyApiTest.php
deleted file mode 100644
index 2e07ab0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLessThanOrEqualValidatorLegacyApiTest extends LessThanOrEqualValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidator2Dot4ApiTest.php
deleted file mode 100644
index 074450d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLessThanValidator2Dot4ApiTest extends LessThanValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidatorLegacyApiTest.php
deleted file mode 100644
index 27592b0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLessThanValidatorLegacyApiTest extends LessThanValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidator2Dot4ApiTest.php
deleted file mode 100644
index 4d119bb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLocaleValidator2Dot4ApiTest extends LocaleValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidatorLegacyApiTest.php
deleted file mode 100644
index f55d422..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLocaleValidatorLegacyApiTest extends LocaleValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidator2Dot4ApiTest.php
deleted file mode 100644
index 8207ca0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLuhnValidator2Dot4ApiTest extends LuhnValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidatorLegacyApiTest.php
deleted file mode 100644
index 5855526..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyLuhnValidatorLegacyApiTest extends LuhnValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidator2Dot4ApiTest.php
deleted file mode 100644
index a6d0faa..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotBlankValidator2Dot4ApiTest extends NotBlankValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidatorLegacyApiTest.php
deleted file mode 100644
index 0aaaa77..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotBlankValidatorLegacyApiTest extends NotBlankValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidator2Dot4ApiTest.php
deleted file mode 100644
index e48450e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotEqualToValidator2Dot4ApiTest extends NotEqualToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidatorLegacyApiTest.php
deleted file mode 100644
index df88f96..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotEqualToValidatorLegacyApiTest extends NotEqualToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidator2Dot4ApiTest.php
deleted file mode 100644
index 2c00cf5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotIdenticalToValidator2Dot4ApiTest extends NotIdenticalToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidatorLegacyApiTest.php
deleted file mode 100644
index 25819a6..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotIdenticalToValidatorLegacyApiTest extends NotIdenticalToValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidator2Dot4ApiTest.php
deleted file mode 100644
index 39b0038..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotNullValidator2Dot4ApiTest extends NotNullValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidatorLegacyApiTest.php
deleted file mode 100644
index 41a9e54..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNotNullValidatorLegacyApiTest extends NotNullValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php
deleted file mode 100644
index 958e446..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNullValidator2Dot4ApiTest extends NullValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php
deleted file mode 100644
index 79536ce..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyNullValidatorLegacyApiTest extends NullValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidator2Dot4ApiTest.php
deleted file mode 100644
index fe23ce8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyRangeValidator2Dot4ApiTest extends RangeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidatorLegacyApiTest.php
deleted file mode 100644
index 866a59a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyRangeValidatorLegacyApiTest extends RangeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidator2Dot4ApiTest.php
deleted file mode 100644
index dbae24e..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyRegexValidator2Dot4ApiTest extends RegexValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidatorLegacyApiTest.php
deleted file mode 100644
index ed1a464..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyRegexValidatorLegacyApiTest extends RegexValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidator2Dot4ApiTest.php
deleted file mode 100644
index d4a0678..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyTimeValidator2Dot4ApiTest extends TimeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidatorLegacyApiTest.php
deleted file mode 100644
index 2458d87..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyTimeValidatorLegacyApiTest extends TimeValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php
deleted file mode 100644
index 3d00252..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyTrueValidator2Dot4ApiTest extends TrueValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php
deleted file mode 100644
index 706c083..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyTrueValidatorLegacyApiTest extends TrueValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidator2Dot4ApiTest.php
deleted file mode 100644
index aed1d0a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyTypeValidator2Dot4ApiTest extends TypeValidatorTest
-{
-    /**
-     * PhpUnit calls data providers of test suites before launching the test
-     * suite. If this property is not replicated in every test class, only one
-     * file will ever be created and stored in TypeValidatorTest::$file. After
-     * the execution of the first TypeValidator test case, tearDownAfterClass()
-     * is called and closes the file. Hence the resource is not available
-     * anymore in the other TypeValidator test cases.
-     */
-    protected static $file;
-
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidatorLegacyApiTest.php
deleted file mode 100644
index 26eb39f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyTypeValidatorLegacyApiTest extends TypeValidatorTest
-{
-    protected static $file;
-
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidator2Dot4ApiTest.php
deleted file mode 100644
index 287d719..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyUrlValidator2Dot4ApiTest extends UrlValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidatorLegacyApiTest.php
deleted file mode 100644
index 0830ddb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyUrlValidatorLegacyApiTest extends UrlValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidator2Dot4ApiTest.php
deleted file mode 100644
index b5efc76..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidator2Dot4ApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyUuidValidator2Dot4ApiTest extends UrlValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_4;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidatorLegacyApiTest.php
deleted file mode 100644
index 4a4e362..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Validation;
-
-/**
- * @since  2.5.3
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @group  legacy
- */
-class LegacyUuidValidatorLegacyApiTest extends UuidValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5_BC;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LengthValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LengthValidatorTest.php
deleted file mode 100644
index 24b6306..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LengthValidatorTest.php
+++ /dev/null
@@ -1,255 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Length;
-use Symfony\Component\Validator\Constraints\LengthValidator;
-use Symfony\Component\Validator\Validation;
-
-class LengthValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new LengthValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Length(6));
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Length(6));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Length(5));
-    }
-
-    public function getThreeOrLessCharacters()
-    {
-        return array(
-            array(12),
-            array('12'),
-            array('üü'),
-            array('éé'),
-            array(123),
-            array('123'),
-            array('üüü'),
-            array('ééé'),
-        );
-    }
-
-    public function getFourCharacters()
-    {
-        return array(
-            array(1234),
-            array('1234'),
-            array('üüüü'),
-            array('éééé'),
-        );
-    }
-
-    public function getFiveOrMoreCharacters()
-    {
-        return array(
-            array(12345),
-            array('12345'),
-            array('üüüüü'),
-            array('ééééé'),
-            array(123456),
-            array('123456'),
-            array('üüüüüü'),
-            array('éééééé'),
-        );
-    }
-
-    public function getOneCharset()
-    {
-        if (!function_exists('iconv') && !function_exists('mb_convert_encoding')) {
-            $this->markTestSkipped('Mbstring or iconv is required for this test.');
-        }
-
-        return array(
-            array('é', 'utf8', true),
-            array("\xE9", 'CP1252', true),
-            array("\xE9", 'XXX', false),
-            array("\xE9", 'utf8', false),
-        );
-    }
-
-    /**
-     * @dataProvider getFiveOrMoreCharacters
-     */
-    public function testValidValuesMin($value)
-    {
-        $constraint = new Length(array('min' => 5));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getThreeOrLessCharacters
-     */
-    public function testValidValuesMax($value)
-    {
-        $constraint = new Length(array('max' => 3));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getFourCharacters
-     */
-    public function testValidValuesExact($value)
-    {
-        $constraint = new Length(4);
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getThreeOrLessCharacters
-     */
-    public function testInvalidValuesMin($value)
-    {
-        $constraint = new Length(array(
-            'min' => 4,
-            'minMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$value.'"')
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Length::TOO_SHORT_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getFiveOrMoreCharacters
-     */
-    public function testInvalidValuesMax($value)
-    {
-        $constraint = new Length(array(
-            'max' => 4,
-            'maxMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$value.'"')
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Length::TOO_LONG_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getThreeOrLessCharacters
-     */
-    public function testInvalidValuesExactLessThanFour($value)
-    {
-        $constraint = new Length(array(
-            'min' => 4,
-            'max' => 4,
-            'exactMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$value.'"')
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Length::TOO_SHORT_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getFiveOrMoreCharacters
-     */
-    public function testInvalidValuesExactMoreThanFour($value)
-    {
-        $constraint = new Length(array(
-            'min' => 4,
-            'max' => 4,
-            'exactMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$value.'"')
-            ->setParameter('{{ limit }}', 4)
-            ->setInvalidValue($value)
-            ->setPlural(4)
-            ->setCode(Length::TOO_LONG_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getOneCharset
-     */
-    public function testOneCharset($value, $charset, $isValid)
-    {
-        $constraint = new Length(array(
-            'min' => 1,
-            'max' => 1,
-            'charset' => $charset,
-            'charsetMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        if ($isValid) {
-            $this->assertNoViolation();
-        } else {
-            $this->buildViolation('myMessage')
-                ->setParameter('{{ value }}', '"'.$value.'"')
-                ->setParameter('{{ charset }}', $charset)
-                ->setInvalidValue($value)
-                ->assertRaised();
-        }
-    }
-
-    public function testConstraintGetDefaultOption()
-    {
-        $constraint = new Length(5);
-
-        $this->assertEquals(5, $constraint->min);
-        $this->assertEquals(5, $constraint->max);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php
deleted file mode 100644
index 7518135..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\LessThanOrEqual;
-use Symfony\Component\Validator\Constraints\LessThanOrEqualValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class LessThanOrEqualValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new LessThanOrEqualValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new LessThanOrEqual($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        return array(
-            array(1, 2),
-            array(1, 1),
-            array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01')),
-            array(new \DateTime('2000-01-01'), new \DateTime('2020-01-01')),
-            array(new \DateTime('2000-01-01'), '2000-01-01'),
-            array(new \DateTime('2000-01-01'), '2020-01-01'),
-            array(new \DateTime('2000-01-01 UTC'), '2000-01-01 UTC'),
-            array(new \DateTime('2000-01-01 UTC'), '2020-01-01 UTC'),
-            array(new ComparisonTest_Class(4), new ComparisonTest_Class(5)),
-            array(new ComparisonTest_Class(5), new ComparisonTest_Class(5)),
-            array('a', 'a'),
-            array('a', 'z'),
-            array(null, 1),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        return array(
-            array(2, '2', 1, '1', 'integer'),
-            array(new \DateTime('2010-01-01'), 'Jan 1, 2010, 12:00 AM', new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2010-01-01'), 'Jan 1, 2010, 12:00 AM', '2000-01-01', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2010-01-01 UTC'), 'Jan 1, 2010, 12:00 AM', '2000-01-01 UTC', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new ComparisonTest_Class(5), '5', new ComparisonTest_Class(4), '4', __NAMESPACE__.'\ComparisonTest_Class'),
-            array('c', '"c"', 'b', '"b"', 'string'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php
deleted file mode 100644
index d555870..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\LessThan;
-use Symfony\Component\Validator\Constraints\LessThanValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class LessThanValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new LessThanValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new LessThan($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        return array(
-            array(1, 2),
-            array(new \DateTime('2000-01-01'), new \DateTime('2010-01-01')),
-            array(new \DateTime('2000-01-01'), '2010-01-01'),
-            array(new \DateTime('2000-01-01 UTC'), '2010-01-01 UTC'),
-            array(new ComparisonTest_Class(4), new ComparisonTest_Class(5)),
-            array('22', '333'),
-            array(null, 1),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        return array(
-            array(3, '3', 2, '2', 'integer'),
-            array(2, '2', 2, '2', 'integer'),
-            array(new \DateTime('2010-01-01'), 'Jan 1, 2010, 12:00 AM', new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2010-01-01'), 'Jan 1, 2010, 12:00 AM', '2000-01-01', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', '2000-01-01', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2010-01-01 UTC'), 'Jan 1, 2010, 12:00 AM', '2000-01-01 UTC', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000-01-01 UTC'), 'Jan 1, 2000, 12:00 AM', '2000-01-01 UTC', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new ComparisonTest_Class(5), '5', new ComparisonTest_Class(5), '5', __NAMESPACE__.'\ComparisonTest_Class'),
-            array(new ComparisonTest_Class(6), '6', new ComparisonTest_Class(5), '5', __NAMESPACE__.'\ComparisonTest_Class'),
-            array('333', '"333"', '22', '"22"', 'string'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LocaleValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LocaleValidatorTest.php
deleted file mode 100644
index e5e2f30..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LocaleValidatorTest.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Intl\Util\IntlTestHelper;
-use Symfony\Component\Validator\Constraints\Locale;
-use Symfony\Component\Validator\Constraints\LocaleValidator;
-use Symfony\Component\Validator\Validation;
-
-class LocaleValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new LocaleValidator();
-    }
-
-    protected function setUp()
-    {
-        IntlTestHelper::requireIntl($this);
-
-        parent::setUp();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Locale());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Locale());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Locale());
-    }
-
-    /**
-     * @dataProvider getValidLocales
-     */
-    public function testValidLocales($locale)
-    {
-        $this->validator->validate($locale, new Locale());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidLocales()
-    {
-        return array(
-            array('en'),
-            array('en_US'),
-            array('pt'),
-            array('pt_PT'),
-            array('zh_Hans'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidLocales
-     */
-    public function testInvalidLocales($locale)
-    {
-        $constraint = new Locale(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($locale, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$locale.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidLocales()
-    {
-        return array(
-            array('EN'),
-            array('foobar'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LuhnValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LuhnValidatorTest.php
deleted file mode 100644
index b0e88c3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LuhnValidatorTest.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Luhn;
-use Symfony\Component\Validator\Constraints\LuhnValidator;
-use Symfony\Component\Validator\Validation;
-
-class LuhnValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new LuhnValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Luhn());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Luhn());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getValidNumbers
-     */
-    public function testValidNumbers($number)
-    {
-        $this->validator->validate($number, new Luhn());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidNumbers()
-    {
-        return array(
-            array('42424242424242424242'),
-            array('378282246310005'),
-            array('371449635398431'),
-            array('378734493671000'),
-            array('5610591081018250'),
-            array('30569309025904'),
-            array('38520000023237'),
-            array('6011111111111117'),
-            array('6011000990139424'),
-            array('3530111333300000'),
-            array('3566002020360505'),
-            array('5555555555554444'),
-            array('5105105105105100'),
-            array('4111111111111111'),
-            array('4012888888881881'),
-            array('4222222222222'),
-            array('5019717010103742'),
-            array('6331101999990016'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidNumbers
-     */
-    public function testInvalidNumbers($number, $code)
-    {
-        $constraint = new Luhn(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($number, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$number.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getInvalidNumbers()
-    {
-        return array(
-            array('1234567812345678', Luhn::CHECKSUM_FAILED_ERROR),
-            array('4222222222222222', Luhn::CHECKSUM_FAILED_ERROR),
-            array('0000000000000000', Luhn::CHECKSUM_FAILED_ERROR),
-            array('000000!000000000', Luhn::INVALID_CHARACTERS_ERROR),
-            array('42-22222222222222', Luhn::INVALID_CHARACTERS_ERROR),
-        );
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     * @dataProvider getInvalidTypes
-     */
-    public function testInvalidTypes($number)
-    {
-        $constraint = new Luhn();
-
-        $this->validator->validate($number, $constraint);
-    }
-
-    public function getInvalidTypes()
-    {
-        return array(
-            array(0),
-            array(123),
-            array(42424242424242424242),
-            array(378282246310005),
-            array(371449635398431),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotBlankValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotBlankValidatorTest.php
deleted file mode 100644
index c248246..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotBlankValidatorTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\NotBlank;
-use Symfony\Component\Validator\Constraints\NotBlankValidator;
-use Symfony\Component\Validator\Validation;
-
-class NotBlankValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new NotBlankValidator();
-    }
-
-    /**
-     * @dataProvider getValidValues
-     */
-    public function testValidValues($value)
-    {
-        $this->validator->validate($value, new NotBlank());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidValues()
-    {
-        return array(
-            array('foobar'),
-            array(0),
-            array(0.0),
-            array('0'),
-            array(1234),
-        );
-    }
-
-    public function testNullIsInvalid()
-    {
-        $constraint = new NotBlank(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate(null, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', 'null')
-            ->assertRaised();
-    }
-
-    public function testBlankIsInvalid()
-    {
-        $constraint = new NotBlank(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate('', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '""')
-            ->assertRaised();
-    }
-
-    public function testFalseIsInvalid()
-    {
-        $constraint = new NotBlank(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate(false, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', 'false')
-            ->assertRaised();
-    }
-
-    public function testEmptyArrayIsInvalid()
-    {
-        $constraint = new NotBlank(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate(array(), $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', 'array')
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php
deleted file mode 100644
index bc2c348..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\NotEqualTo;
-use Symfony\Component\Validator\Constraints\NotEqualToValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class NotEqualToValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new NotEqualToValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new NotEqualTo($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        return array(
-            array(1, 2),
-            array('22', '333'),
-            array(new \DateTime('2001-01-01'), new \DateTime('2000-01-01')),
-            array(new \DateTime('2001-01-01'), '2000-01-01'),
-            array(new \DateTime('2001-01-01 UTC'), '2000-01-01 UTC'),
-            array(new ComparisonTest_Class(6), new ComparisonTest_Class(5)),
-            array(null, 1),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        return array(
-            array(3, '3', 3, '3', 'integer'),
-            array('2', '"2"', 2, '2', 'integer'),
-            array('a', '"a"', 'a', '"a"', 'string'),
-            array(new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000-01-01'), 'Jan 1, 2000, 12:00 AM', '2000-01-01', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new \DateTime('2000-01-01 UTC'), 'Jan 1, 2000, 12:00 AM', '2000-01-01 UTC', 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array(new ComparisonTest_Class(5), '5', new ComparisonTest_Class(5), '5', __NAMESPACE__.'\ComparisonTest_Class'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php
deleted file mode 100644
index 1fbd806..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\NotIdenticalTo;
-use Symfony\Component\Validator\Constraints\NotIdenticalToValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Daniel Holmes <daniel@danielholmes.org>
- */
-class NotIdenticalToValidatorTest extends AbstractComparisonValidatorTestCase
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new NotIdenticalToValidator();
-    }
-
-    protected function createConstraint(array $options)
-    {
-        return new NotIdenticalTo($options);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideValidComparisons()
-    {
-        return array(
-            array(1, 2),
-            array('2', 2),
-            array('22', '333'),
-            array(new \DateTime('2001-01-01'), new \DateTime('2000-01-01')),
-            array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01')),
-            array(new \DateTime('2001-01-01'), '2000-01-01'),
-            array(new \DateTime('2000-01-01'), '2000-01-01'),
-            array(new \DateTime('2001-01-01'), '2000-01-01'),
-            array(new \DateTime('2000-01-01 UTC'), '2000-01-01 UTC'),
-            array(null, 1),
-        );
-    }
-
-    public function provideAllInvalidComparisons()
-    {
-        $this->setDefaultTimezone('UTC');
-
-        // Don't call addPhp5Dot5Comparisons() automatically, as it does
-        // not take care of identical objects
-        $comparisons = $this->provideInvalidComparisons();
-
-        $this->restoreDefaultTimezone();
-
-        return $comparisons;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function provideInvalidComparisons()
-    {
-        $date = new \DateTime('2000-01-01');
-        $object = new ComparisonTest_Class(2);
-
-        $comparisons = array(
-            array(3, '3', 3, '3', 'integer'),
-            array('a', '"a"', 'a', '"a"', 'string'),
-            array($date, 'Jan 1, 2000, 12:00 AM', $date, 'Jan 1, 2000, 12:00 AM', 'DateTime'),
-            array($object, '2', $object, '2', __NAMESPACE__.'\ComparisonTest_Class'),
-        );
-
-        if (version_compare(PHP_VERSION, '>=', '5.5')) {
-            $immutableDate = new \DateTimeImmutable('2000-01-01');
-            $comparisons[] = array($immutableDate, 'Jan 1, 2000, 12:00 AM', $immutableDate, 'Jan 1, 2000, 12:00 AM', 'DateTime');
-        }
-
-        return $comparisons;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotNullValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotNullValidatorTest.php
deleted file mode 100644
index d338f31..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotNullValidatorTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\NotNullValidator;
-use Symfony\Component\Validator\Validation;
-
-class NotNullValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new NotNullValidator();
-    }
-
-    /**
-     * @dataProvider getValidValues
-     */
-    public function testValidValues($value)
-    {
-        $this->validator->validate($value, new NotNull());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidValues()
-    {
-        return array(
-            array(0),
-            array(false),
-            array(true),
-            array(''),
-        );
-    }
-
-    public function testNullIsInvalid()
-    {
-        $constraint = new NotNull(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate(null, $constraint);
-
-        $this->buildViolation('myMessage')->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NullValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NullValidatorTest.php
deleted file mode 100644
index 85df90a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NullValidatorTest.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Null;
-use Symfony\Component\Validator\Constraints\NullValidator;
-use Symfony\Component\Validator\Validation;
-
-class NullValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new NullValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Null());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getInvalidValues
-     */
-    public function testInvalidValues($value, $valueAsString)
-    {
-        $constraint = new Null(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', $valueAsString)
-            ->assertRaised();
-    }
-
-    public function getInvalidValues()
-    {
-        return array(
-            array(0, '0'),
-            array(false, 'false'),
-            array(true, 'true'),
-            array('', '""'),
-            array('foo bar', '"foo bar"'),
-            array(new \DateTime(), 'object'),
-            array(new \stdClass(), 'object'),
-            array(array(), 'array'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RangeValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RangeValidatorTest.php
deleted file mode 100644
index 9b7056b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RangeValidatorTest.php
+++ /dev/null
@@ -1,403 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Intl\Util\IntlTestHelper;
-use Symfony\Component\Validator\Constraints\Range;
-use Symfony\Component\Validator\Constraints\RangeValidator;
-use Symfony\Component\Validator\Validation;
-
-class RangeValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new RangeValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Range(array('min' => 10, 'max' => 20)));
-
-        $this->assertNoViolation();
-    }
-
-    public function getTenToTwenty()
-    {
-        return array(
-            array(10.00001),
-            array(19.99999),
-            array('10.00001'),
-            array('19.99999'),
-            array(10),
-            array(20),
-            array(10.0),
-            array(20.0),
-        );
-    }
-
-    public function getLessThanTen()
-    {
-        return array(
-            array(9.99999, '9.99999'),
-            array('9.99999', '"9.99999"'),
-            array(5, '5'),
-            array(1.0, '1.0'),
-        );
-    }
-
-    public function getMoreThanTwenty()
-    {
-        return array(
-            array(20.000001, '20.000001'),
-            array('20.000001', '"20.000001"'),
-            array(21, '21'),
-            array(30.0, '30.0'),
-        );
-    }
-
-    /**
-     * @dataProvider getTenToTwenty
-     */
-    public function testValidValuesMin($value)
-    {
-        $constraint = new Range(array('min' => 10));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getTenToTwenty
-     */
-    public function testValidValuesMax($value)
-    {
-        $constraint = new Range(array('max' => 20));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getTenToTwenty
-     */
-    public function testValidValuesMinMax($value)
-    {
-        $constraint = new Range(array('min' => 10, 'max' => 20));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getLessThanTen
-     */
-    public function testInvalidValuesMin($value, $formattedValue)
-    {
-        $constraint = new Range(array(
-            'min' => 10,
-            'minMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', $formattedValue)
-            ->setParameter('{{ limit }}', 10)
-            ->setCode(Range::BELOW_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getMoreThanTwenty
-     */
-    public function testInvalidValuesMax($value, $formattedValue)
-    {
-        $constraint = new Range(array(
-            'max' => 20,
-            'maxMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', $formattedValue)
-            ->setParameter('{{ limit }}', 20)
-            ->setCode(Range::BEYOND_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getMoreThanTwenty
-     */
-    public function testInvalidValuesCombinedMax($value, $formattedValue)
-    {
-        $constraint = new Range(array(
-            'min' => 10,
-            'max' => 20,
-            'minMessage' => 'myMinMessage',
-            'maxMessage' => 'myMaxMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMaxMessage')
-            ->setParameter('{{ value }}', $formattedValue)
-            ->setParameter('{{ limit }}', 20)
-            ->setCode(Range::BEYOND_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getLessThanTen
-     */
-    public function testInvalidValuesCombinedMin($value, $formattedValue)
-    {
-        $constraint = new Range(array(
-            'min' => 10,
-            'max' => 20,
-            'minMessage' => 'myMinMessage',
-            'maxMessage' => 'myMaxMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMinMessage')
-            ->setParameter('{{ value }}', $formattedValue)
-            ->setParameter('{{ limit }}', 10)
-            ->setCode(Range::BELOW_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    public function getTenthToTwentiethMarch2014()
-    {
-        // The provider runs before setUp(), so we need to manually fix
-        // the default timezone
-        $this->setDefaultTimezone('UTC');
-
-        $tests = array(
-            array(new \DateTime('March 10, 2014')),
-            array(new \DateTime('March 15, 2014')),
-            array(new \DateTime('March 20, 2014')),
-        );
-
-        if (version_compare(PHP_VERSION, '5.5.0-dev', '>=')) {
-            $tests[] = array(new \DateTimeImmutable('March 10, 2014'));
-            $tests[] = array(new \DateTimeImmutable('March 15, 2014'));
-            $tests[] = array(new \DateTimeImmutable('March 20, 2014'));
-        }
-
-        $this->restoreDefaultTimezone();
-
-        return $tests;
-    }
-
-    public function getSoonerThanTenthMarch2014()
-    {
-        // The provider runs before setUp(), so we need to manually fix
-        // the default timezone
-        $this->setDefaultTimezone('UTC');
-
-        $tests = array(
-            array(new \DateTime('March 20, 2013'), 'Mar 20, 2013, 12:00 AM'),
-            array(new \DateTime('March 9, 2014'), 'Mar 9, 2014, 12:00 AM'),
-        );
-
-        if (version_compare(PHP_VERSION, '5.5.0-dev', '>=')) {
-            $tests[] = array(new \DateTimeImmutable('March 20, 2013'), 'Mar 20, 2013, 12:00 AM');
-            $tests[] = array(new \DateTimeImmutable('March 9, 2014'), 'Mar 9, 2014, 12:00 AM');
-        }
-
-        $this->restoreDefaultTimezone();
-
-        return $tests;
-    }
-
-    public function getLaterThanTwentiethMarch2014()
-    {
-        // The provider runs before setUp(), so we need to manually fix
-        // the default timezone
-        $this->setDefaultTimezone('UTC');
-
-        $tests = array(
-            array(new \DateTime('March 21, 2014'), 'Mar 21, 2014, 12:00 AM'),
-            array(new \DateTime('March 9, 2015'), 'Mar 9, 2015, 12:00 AM'),
-        );
-
-        if (version_compare(PHP_VERSION, '5.5.0-dev', '>=')) {
-            $tests[] = array(new \DateTimeImmutable('March 21, 2014'), 'Mar 21, 2014, 12:00 AM');
-            $tests[] = array(new \DateTimeImmutable('March 9, 2015'), 'Mar 9, 2015, 12:00 AM');
-        }
-
-        $this->restoreDefaultTimezone();
-
-        return $tests;
-    }
-
-    /**
-     * @dataProvider getTenthToTwentiethMarch2014
-     */
-    public function testValidDatesMin($value)
-    {
-        $constraint = new Range(array('min' => 'March 10, 2014'));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getTenthToTwentiethMarch2014
-     */
-    public function testValidDatesMax($value)
-    {
-        $constraint = new Range(array('max' => 'March 20, 2014'));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getTenthToTwentiethMarch2014
-     */
-    public function testValidDatesMinMax($value)
-    {
-        $constraint = new Range(array('min' => 'March 10, 2014', 'max' => 'March 20, 2014'));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @dataProvider getSoonerThanTenthMarch2014
-     */
-    public function testInvalidDatesMin($value, $dateTimeAsString)
-    {
-        // Conversion of dates to string differs between ICU versions
-        // Make sure we have the correct version loaded
-        IntlTestHelper::requireIntl($this);
-
-        $constraint = new Range(array(
-            'min' => 'March 10, 2014',
-            'minMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', $dateTimeAsString)
-            ->setParameter('{{ limit }}', 'Mar 10, 2014, 12:00 AM')
-            ->setCode(Range::BELOW_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getLaterThanTwentiethMarch2014
-     */
-    public function testInvalidDatesMax($value, $dateTimeAsString)
-    {
-        // Conversion of dates to string differs between ICU versions
-        // Make sure we have the correct version loaded
-        IntlTestHelper::requireIntl($this);
-
-        $constraint = new Range(array(
-            'max' => 'March 20, 2014',
-            'maxMessage' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', $dateTimeAsString)
-            ->setParameter('{{ limit }}', 'Mar 20, 2014, 12:00 AM')
-            ->setCode(Range::BEYOND_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getLaterThanTwentiethMarch2014
-     */
-    public function testInvalidDatesCombinedMax($value, $dateTimeAsString)
-    {
-        // Conversion of dates to string differs between ICU versions
-        // Make sure we have the correct version loaded
-        IntlTestHelper::requireIntl($this);
-
-        $constraint = new Range(array(
-            'min' => 'March 10, 2014',
-            'max' => 'March 20, 2014',
-            'minMessage' => 'myMinMessage',
-            'maxMessage' => 'myMaxMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMaxMessage')
-            ->setParameter('{{ value }}', $dateTimeAsString)
-            ->setParameter('{{ limit }}', 'Mar 20, 2014, 12:00 AM')
-            ->setCode(Range::BEYOND_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getSoonerThanTenthMarch2014
-     */
-    public function testInvalidDatesCombinedMin($value, $dateTimeAsString)
-    {
-        // Conversion of dates to string differs between ICU versions
-        // Make sure we have the correct version loaded
-        IntlTestHelper::requireIntl($this);
-
-        $constraint = new Range(array(
-            'min' => 'March 10, 2014',
-            'max' => 'March 20, 2014',
-            'minMessage' => 'myMinMessage',
-            'maxMessage' => 'myMaxMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMinMessage')
-            ->setParameter('{{ value }}', $dateTimeAsString)
-            ->setParameter('{{ limit }}', 'Mar 10, 2014, 12:00 AM')
-            ->setCode(Range::BELOW_RANGE_ERROR)
-            ->assertRaised();
-    }
-
-    public function getInvalidValues()
-    {
-        return array(
-            array(9.999999),
-            array(20.000001),
-            array('9.999999'),
-            array('20.000001'),
-            array(new \stdClass()),
-        );
-    }
-
-    public function testNonNumeric()
-    {
-        $this->validator->validate('abcd', new Range(array(
-            'min' => 10,
-            'max' => 20,
-            'invalidMessage' => 'myMessage',
-        )));
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"abcd"')
-            ->setCode(Range::INVALID_VALUE_ERROR)
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexTest.php
deleted file mode 100644
index ea37bb4..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexTest.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Constraints;
-
-use Symfony\Component\Validator\Constraints\Regex;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class RegexTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstraintGetDefaultOption()
-    {
-        $constraint = new Regex('/^[0-9]+$/');
-
-        $this->assertSame('/^[0-9]+$/', $constraint->pattern);
-    }
-
-    public function provideHtmlPatterns()
-    {
-        return array(
-            // HTML5 wraps the pattern in ^(?:pattern)$
-            array('/^[0-9]+$/', '[0-9]+'),
-            array('/[0-9]+$/', '.*[0-9]+'),
-            array('/^[0-9]+/', '[0-9]+.*'),
-            array('/[0-9]+/', '.*[0-9]+.*'),
-            // We need a smart way to allow matching of patterns that contain
-            // ^ and $ at various sub-clauses of an or-clause
-            // .*(pattern).* seems to work correctly
-            array('/[0-9]$|[a-z]+/', '.*([0-9]$|[a-z]+).*'),
-            array('/[0-9]$|^[a-z]+/', '.*([0-9]$|^[a-z]+).*'),
-            array('/^[0-9]|[a-z]+$/', '.*(^[0-9]|[a-z]+$).*'),
-            // Unescape escaped delimiters
-            array('/^[0-9]+\/$/', '[0-9]+/'),
-            array('#^[0-9]+\#$#', '[0-9]+#'),
-            // Cannot be converted
-            array('/^[0-9]+$/i', null),
-
-            // Inverse matches are simple, just wrap in
-            // ((?!pattern).)*
-            array('/^[0-9]+$/', '((?!^[0-9]+$).)*', false),
-            array('/[0-9]+$/', '((?![0-9]+$).)*', false),
-            array('/^[0-9]+/', '((?!^[0-9]+).)*', false),
-            array('/[0-9]+/', '((?![0-9]+).)*', false),
-            array('/[0-9]$|[a-z]+/', '((?![0-9]$|[a-z]+).)*', false),
-            array('/[0-9]$|^[a-z]+/', '((?![0-9]$|^[a-z]+).)*', false),
-            array('/^[0-9]|[a-z]+$/', '((?!^[0-9]|[a-z]+$).)*', false),
-            array('/^[0-9]+\/$/', '((?!^[0-9]+/$).)*', false),
-            array('#^[0-9]+\#$#', '((?!^[0-9]+#$).)*', false),
-            array('/^[0-9]+$/i', null, false),
-        );
-    }
-
-    /**
-     * @dataProvider provideHtmlPatterns
-     */
-    public function testGetHtmlPattern($pattern, $htmlPattern, $match = true)
-    {
-        $constraint = new Regex(array(
-            'pattern' => $pattern,
-            'match' => $match,
-        ));
-
-        $this->assertSame($pattern, $constraint->pattern);
-        $this->assertSame($htmlPattern, $constraint->getHtmlPattern());
-    }
-
-    public function testGetCustomHtmlPattern()
-    {
-        $constraint = new Regex(array(
-            'pattern' => '((?![0-9]$|[a-z]+).)*',
-            'htmlPattern' => 'foobar',
-        ));
-
-        $this->assertSame('((?![0-9]$|[a-z]+).)*', $constraint->pattern);
-        $this->assertSame('foobar', $constraint->getHtmlPattern());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php
deleted file mode 100644
index 61917e3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Regex;
-use Symfony\Component\Validator\Constraints\RegexValidator;
-use Symfony\Component\Validator\Validation;
-
-class RegexValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new RegexValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Regex(array('pattern' => '/^[0-9]+$/')));
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Regex(array('pattern' => '/^[0-9]+$/')));
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Regex(array('pattern' => '/^[0-9]+$/')));
-    }
-
-    /**
-     * @dataProvider getValidValues
-     */
-    public function testValidValues($value)
-    {
-        $constraint = new Regex(array('pattern' => '/^[0-9]+$/'));
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidValues()
-    {
-        return array(
-            array(0),
-            array('0'),
-            array('090909'),
-            array(90909),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidValues
-     */
-    public function testInvalidValues($value)
-    {
-        $constraint = new Regex(array(
-            'pattern' => '/^[0-9]+$/',
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$value.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidValues()
-    {
-        return array(
-            array('abcd'),
-            array('090foo'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TimeValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TimeValidatorTest.php
deleted file mode 100644
index a6ca143..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TimeValidatorTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Time;
-use Symfony\Component\Validator\Constraints\TimeValidator;
-use Symfony\Component\Validator\Validation;
-
-class TimeValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new TimeValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Time());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Time());
-
-        $this->assertNoViolation();
-    }
-
-    public function testDateTimeClassIsValid()
-    {
-        $this->validator->validate(new \DateTime(), new Time());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Time());
-    }
-
-    /**
-     * @dataProvider getValidTimes
-     */
-    public function testValidTimes($time)
-    {
-        $this->validator->validate($time, new Time());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidTimes()
-    {
-        return array(
-            array('01:02:03'),
-            array('00:00:00'),
-            array('23:59:59'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidTimes
-     */
-    public function testInvalidTimes($time, $code)
-    {
-        $constraint = new Time(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($time, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$time.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getInvalidTimes()
-    {
-        return array(
-            array('foobar', Time::INVALID_FORMAT_ERROR),
-            array('foobar 12:34:56', Time::INVALID_FORMAT_ERROR),
-            array('12:34:56 foobar', Time::INVALID_FORMAT_ERROR),
-            array('00:00', Time::INVALID_FORMAT_ERROR),
-            array('24:00:00', Time::INVALID_TIME_ERROR),
-            array('00:60:00', Time::INVALID_TIME_ERROR),
-            array('00:00:60', Time::INVALID_TIME_ERROR),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TrueValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TrueValidatorTest.php
deleted file mode 100644
index 2cdc703..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TrueValidatorTest.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\True;
-use Symfony\Component\Validator\Constraints\TrueValidator;
-use Symfony\Component\Validator\Validation;
-
-class TrueValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new TrueValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new True());
-
-        $this->assertNoViolation();
-    }
-
-    public function testTrueIsValid()
-    {
-        $this->validator->validate(true, new True());
-
-        $this->assertNoViolation();
-    }
-
-    public function testFalseIsInvalid()
-    {
-        $constraint = new True(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate(false, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', 'false')
-            ->assertRaised();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php
deleted file mode 100644
index 4836928..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Type;
-use Symfony\Component\Validator\Constraints\TypeValidator;
-use Symfony\Component\Validator\Validation;
-
-class TypeValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected static $file;
-
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new TypeValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $constraint = new Type(array('type' => 'integer'));
-
-        $this->validator->validate(null, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyIsValidIfString()
-    {
-        $constraint = new Type(array('type' => 'string'));
-
-        $this->validator->validate('', $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyIsInvalidIfNoString()
-    {
-        $constraint = new Type(array(
-            'type' => 'integer',
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate('', $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '""')
-            ->setParameter('{{ type }}', 'integer')
-            ->assertRaised();
-    }
-
-    /**
-     * @dataProvider getValidValues
-     */
-    public function testValidValues($value, $type)
-    {
-        $constraint = new Type(array('type' => $type));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidValues()
-    {
-        $object = new \stdClass();
-        $file = $this->createFile();
-
-        return array(
-            array(true, 'Boolean'),
-            array(false, 'Boolean'),
-            array(true, 'boolean'),
-            array(false, 'boolean'),
-            array(true, 'bool'),
-            array(false, 'bool'),
-            array(0, 'numeric'),
-            array('0', 'numeric'),
-            array(1.5, 'numeric'),
-            array('1.5', 'numeric'),
-            array(0, 'integer'),
-            array(1.5, 'float'),
-            array('12345', 'string'),
-            array(array(), 'array'),
-            array($object, 'object'),
-            array($object, 'stdClass'),
-            array($file, 'resource'),
-            array('12345', 'digit'),
-            array('12a34', 'alnum'),
-            array('abcde', 'alpha'),
-            array("\n\r\t", 'cntrl'),
-            array('arf12', 'graph'),
-            array('abcde', 'lower'),
-            array('ABCDE', 'upper'),
-            array('arf12', 'print'),
-            array('*&$()', 'punct'),
-            array("\n\r\t", 'space'),
-            array('AB10BC99', 'xdigit'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidValues
-     */
-    public function testInvalidValues($value, $type, $valueAsString)
-    {
-        $constraint = new Type(array(
-            'type' => $type,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($value, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', $valueAsString)
-            ->setParameter('{{ type }}', $type)
-            ->assertRaised();
-    }
-
-    public function getInvalidValues()
-    {
-        $object = new \stdClass();
-        $file = $this->createFile();
-
-        return array(
-            array('foobar', 'numeric', '"foobar"'),
-            array('foobar', 'boolean', '"foobar"'),
-            array('0', 'integer', '"0"'),
-            array('1.5', 'float', '"1.5"'),
-            array(12345, 'string', '12345'),
-            array($object, 'boolean', 'object'),
-            array($object, 'numeric', 'object'),
-            array($object, 'integer', 'object'),
-            array($object, 'float', 'object'),
-            array($object, 'string', 'object'),
-            array($object, 'resource', 'object'),
-            array($file, 'boolean', 'resource'),
-            array($file, 'numeric', 'resource'),
-            array($file, 'integer', 'resource'),
-            array($file, 'float', 'resource'),
-            array($file, 'string', 'resource'),
-            array($file, 'object', 'resource'),
-            array('12a34', 'digit', '"12a34"'),
-            array('1a#23', 'alnum', '"1a#23"'),
-            array('abcd1', 'alpha', '"abcd1"'),
-            array("\nabc", 'cntrl', "\"\nabc\""),
-            array("abc\n", 'graph', "\"abc\n\""),
-            array('abCDE', 'lower', '"abCDE"'),
-            array('ABcde', 'upper', '"ABcde"'),
-            array("\nabc", 'print', "\"\nabc\""),
-            array('abc&$!', 'punct', '"abc&$!"'),
-            array("\nabc", 'space', "\"\nabc\""),
-            array('AR1012', 'xdigit', '"AR1012"'),
-        );
-    }
-
-    protected function createFile()
-    {
-        if (!static::$file) {
-            static::$file = fopen(__FILE__, 'r');
-        }
-
-        return static::$file;
-    }
-
-    public static function tearDownAfterClass()
-    {
-        if (static::$file) {
-            fclose(static::$file);
-            static::$file = null;
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UrlValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UrlValidatorTest.php
deleted file mode 100644
index 3358c79..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UrlValidatorTest.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Url;
-use Symfony\Component\Validator\Constraints\UrlValidator;
-use Symfony\Component\Validator\Validation;
-
-class UrlValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new UrlValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Url());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Url());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Url());
-    }
-
-    /**
-     * @dataProvider getValidUrls
-     */
-    public function testValidUrls($url)
-    {
-        $this->validator->validate($url, new Url());
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidUrls()
-    {
-        return array(
-            array('http://a.pl'),
-            array('http://www.google.com'),
-            array('http://www.google.com.'),
-            array('http://www.google.museum'),
-            array('https://google.com/'),
-            array('https://google.com:80/'),
-            array('http://www.example.coop/'),
-            array('http://www.test-example.com/'),
-            array('http://www.symfony.com/'),
-            array('http://symfony.fake/blog/'),
-            array('http://symfony.com/?'),
-            array('http://symfony.com/search?type=&q=url+validator'),
-            array('http://symfony.com/#'),
-            array('http://symfony.com/#?'),
-            array('http://www.symfony.com/doc/current/book/validation.html#supported-constraints'),
-            array('http://very.long.domain.name.com/'),
-            array('http://localhost/'),
-            array('http://127.0.0.1/'),
-            array('http://127.0.0.1:80/'),
-            array('http://[::1]/'),
-            array('http://[::1]:80/'),
-            array('http://[1:2:3::4:5:6:7]/'),
-            array('http://sãopaulo.com/'),
-            array('http://xn--sopaulo-xwa.com/'),
-            array('http://sãopaulo.com.br/'),
-            array('http://xn--sopaulo-xwa.com.br/'),
-            array('http://пример.испытание/'),
-            array('http://xn--e1afmkfd.xn--80akhbyknj4f/'),
-            array('http://مثال.إختبار/'),
-            array('http://xn--mgbh0fb.xn--kgbechtv/'),
-            array('http://例子.测试/'),
-            array('http://xn--fsqu00a.xn--0zwm56d/'),
-            array('http://例子.測試/'),
-            array('http://xn--fsqu00a.xn--g6w251d/'),
-            array('http://例え.テスト/'),
-            array('http://xn--r8jz45g.xn--zckzah/'),
-            array('http://مثال.آزمایشی/'),
-            array('http://xn--mgbh0fb.xn--hgbk6aj7f53bba/'),
-            array('http://실례.테스트/'),
-            array('http://xn--9n2bp8q.xn--9t4b11yi5a/'),
-            array('http://العربية.idn.icann.org/'),
-            array('http://xn--ogb.idn.icann.org/'),
-            array('http://xn--e1afmkfd.xn--80akhbyknj4f.xn--e1afmkfd/'),
-            array('http://xn--espaa-rta.xn--ca-ol-fsay5a/'),
-            array('http://xn--d1abbgf6aiiy.xn--p1ai/'),
-            array('http://☎.com/'),
-            array('http://username:password@symfony.com'),
-            array('http://user-name@symfony.com'),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidUrls
-     */
-    public function testInvalidUrls($url)
-    {
-        $constraint = new Url(array(
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($url, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$url.'"')
-            ->assertRaised();
-    }
-
-    public function getInvalidUrls()
-    {
-        return array(
-            array('google.com'),
-            array('://google.com'),
-            array('http ://google.com'),
-            array('http:/google.com'),
-            array('http://goog_le.com'),
-            array('http://google.com::aa'),
-            array('http://google.com:aa'),
-            array('http://symfony.com?'),
-            array('http://symfony.com#'),
-            array('ftp://google.fr'),
-            array('faked://google.fr'),
-            array('http://127.0.0.1:aa/'),
-            array('ftp://[::1]/'),
-            array('http://[::1'),
-            array('http://hello.☎/'),
-            array('http://:password@symfony.com'),
-            array('http://:password@@symfony.com'),
-            array('http://username:passwordsymfony.com'),
-            array('http://usern@me:password@symfony.com'),
-        );
-    }
-
-    /**
-     * @dataProvider getValidCustomUrls
-     */
-    public function testCustomProtocolIsValid($url)
-    {
-        $constraint = new Url(array(
-            'protocols' => array('ftp', 'file', 'git'),
-        ));
-
-        $this->validator->validate($url, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidCustomUrls()
-    {
-        return array(
-            array('ftp://google.com'),
-            array('file://127.0.0.1'),
-            array('git://[::1]/'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UuidValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UuidValidatorTest.php
deleted file mode 100644
index 0abda39..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UuidValidatorTest.php
+++ /dev/null
@@ -1,211 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Uuid;
-use Symfony\Component\Validator\Constraints\UuidValidator;
-use Symfony\Component\Validator\Validation;
-
-/**
- * @author Colin O'Dell <colinodell@gmail.com>
- */
-class UuidValidatorTest extends AbstractConstraintValidatorTest
-{
-    protected function getApiVersion()
-    {
-        return Validation::API_VERSION_2_5;
-    }
-
-    protected function createValidator()
-    {
-        return new UuidValidator();
-    }
-
-    public function testNullIsValid()
-    {
-        $this->validator->validate(null, new Uuid());
-
-        $this->assertNoViolation();
-    }
-
-    public function testEmptyStringIsValid()
-    {
-        $this->validator->validate('', new Uuid());
-
-        $this->assertNoViolation();
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
-     */
-    public function testExpectsStringCompatibleType()
-    {
-        $this->validator->validate(new \stdClass(), new Uuid());
-    }
-
-    /**
-     * @dataProvider getValidStrictUuids
-     */
-    public function testValidStrictUuids($uuid, $versions = null)
-    {
-        $constraint = new Uuid();
-
-        if (null !== $versions) {
-            $constraint->versions = $versions;
-        }
-
-        $this->validator->validate($uuid, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidStrictUuids()
-    {
-        return array(
-            array('216fff40-98d9-11e3-a5e2-0800200c9a66'), // Version 1 UUID in lowercase
-            array('216fff40-98d9-11e3-a5e2-0800200c9a66', array(Uuid::V1_MAC)),
-            array('216FFF40-98D9-11E3-A5E2-0800200C9A66'), // Version 1 UUID in UPPERCASE
-            array('456daefb-5aa6-41b5-8dbc-068b05a8b201'), // Version 4 UUID in lowercase
-            array('456daEFb-5AA6-41B5-8DBC-068B05A8B201'), // Version 4 UUID in mixed case
-            array('456daEFb-5AA6-41B5-8DBC-068B05A8B201', array(Uuid::V4_RANDOM)),
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidStrictUuids
-     */
-    public function testInvalidStrictUuids($uuid, $code, $versions = null)
-    {
-        $constraint = new Uuid(array(
-            'message' => 'testMessage',
-        ));
-
-        if (null !== $versions) {
-            $constraint->versions = $versions;
-        }
-
-        $this->validator->validate($uuid, $constraint);
-
-        $this->buildViolation('testMessage')
-            ->setParameter('{{ value }}', '"'.$uuid.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getInvalidStrictUuids()
-    {
-        return array(
-            array('216fff40-98d9-11e3-a5e2_0800200c9a66', Uuid::INVALID_CHARACTERS_ERROR),
-            array('216gff40-98d9-11e3-a5e2-0800200c9a66', Uuid::INVALID_CHARACTERS_ERROR),
-            array('216Gff40-98d9-11e3-a5e2-0800200c9a66', Uuid::INVALID_CHARACTERS_ERROR),
-            array('216fff40-98d9-11e3-a5e-20800200c9a66', Uuid::INVALID_HYPHEN_PLACEMENT_ERROR),
-            array('216f-ff40-98d9-11e3-a5e2-0800200c9a66', Uuid::INVALID_HYPHEN_PLACEMENT_ERROR),
-            array('216fff40-98d9-11e3-a5e2-0800-200c9a66', Uuid::INVALID_HYPHEN_PLACEMENT_ERROR),
-            array('216fff40-98d9-11e3-a5e2-0800200c-9a66', Uuid::INVALID_HYPHEN_PLACEMENT_ERROR),
-            array('216fff40-98d9-11e3-a5e20800200c9a66', Uuid::INVALID_HYPHEN_PLACEMENT_ERROR),
-            array('216fff4098d911e3a5e20800200c9a66', Uuid::INVALID_HYPHEN_PLACEMENT_ERROR),
-            array('216fff40-98d9-11e3-a5e2-0800200c9a6', Uuid::TOO_SHORT_ERROR),
-            array('216fff40-98d9-11e3-a5e2-0800200c9a666', Uuid::TOO_LONG_ERROR),
-            array('216fff40-98d9-01e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-61e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-71e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-81e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-91e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-a1e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-b1e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-c1e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-d1e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-e1e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-f1e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR),
-            array('216fff40-98d9-11e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR, array(Uuid::V2_DCE, Uuid::V3_MD5, Uuid::V4_RANDOM, Uuid::V5_SHA1)),
-            array('216fff40-98d9-21e3-a5e2-0800200c9a66', Uuid::INVALID_VERSION_ERROR, array(Uuid::V1_MAC, Uuid::V3_MD5, Uuid::V4_RANDOM, Uuid::V5_SHA1)),
-            array('216fff40-98d9-11e3-05e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-15e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-25e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-35e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-45e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-55e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-65e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-75e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-c5e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-d5e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-e5e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-            array('216fff40-98d9-11e3-f5e2-0800200c9a66', Uuid::INVALID_VARIANT_ERROR),
-
-            // Non-standard UUID allowed by some other systems
-            array('{216fff40-98d9-11e3-a5e2-0800200c9a66}', Uuid::INVALID_CHARACTERS_ERROR),
-            array('[216fff40-98d9-11e3-a5e2-0800200c9a66]', Uuid::INVALID_CHARACTERS_ERROR),
-        );
-    }
-
-    /**
-     * @dataProvider getValidNonStrictUuids
-     */
-    public function testValidNonStrictUuids($uuid)
-    {
-        $constraint = new Uuid(array(
-            'strict' => false,
-        ));
-
-        $this->validator->validate($uuid, $constraint);
-
-        $this->assertNoViolation();
-    }
-
-    public function getValidNonStrictUuids()
-    {
-        return array(
-            array('216fff40-98d9-11e3-a5e2-0800200c9a66'),    // Version 1 UUID in lowercase
-            array('216FFF40-98D9-11E3-A5E2-0800200C9A66'),    // Version 1 UUID in UPPERCASE
-            array('456daefb-5aa6-41b5-8dbc-068b05a8b201'),    // Version 4 UUID in lowercase
-            array('456DAEFb-5AA6-41B5-8DBC-068b05a8B201'),    // Version 4 UUID in mixed case
-
-            // Non-standard UUIDs allowed by some other systems
-            array('216f-ff40-98d9-11e3-a5e2-0800-200c-9a66'), // Non-standard dash positions (every 4 chars)
-            array('216fff40-98d911e3-a5e20800-200c9a66'),     // Non-standard dash positions (every 8 chars)
-            array('216fff4098d911e3a5e20800200c9a66'),        // No dashes at all
-            array('{216fff40-98d9-11e3-a5e2-0800200c9a66}'),  // Wrapped with curly braces
-            array('[216fff40-98d9-11e3-a5e2-0800200c9a66]'),  // Wrapped with squared braces
-        );
-    }
-
-    /**
-     * @dataProvider getInvalidNonStrictUuids
-     */
-    public function testInvalidNonStrictUuids($uuid, $code)
-    {
-        $constraint = new Uuid(array(
-            'strict' => false,
-            'message' => 'myMessage',
-        ));
-
-        $this->validator->validate($uuid, $constraint);
-
-        $this->buildViolation('myMessage')
-            ->setParameter('{{ value }}', '"'.$uuid.'"')
-            ->setCode($code)
-            ->assertRaised();
-    }
-
-    public function getInvalidNonStrictUuids()
-    {
-        return array(
-            array('216fff40-98d9-11e3-a5e2_0800200c9a66', Uuid::INVALID_CHARACTERS_ERROR),
-            array('216gff40-98d9-11e3-a5e2-0800200c9a66', Uuid::INVALID_CHARACTERS_ERROR),
-            array('216Gff40-98d9-11e3-a5e2-0800200c9a66', Uuid::INVALID_CHARACTERS_ERROR),
-            array('216fff40-98d9-11e3-a5e2_0800200c9a6', Uuid::INVALID_CHARACTERS_ERROR),
-            array('216fff40-98d9-11e3-a5e-20800200c9a66', Uuid::INVALID_HYPHEN_PLACEMENT_ERROR),
-            array('216fff40-98d9-11e3-a5e2-0800200c9a6', Uuid::TOO_SHORT_ERROR),
-            array('216fff40-98d9-11e3-a5e2-0800200c9a666', Uuid::TOO_LONG_ERROR),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ValidTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ValidTest.php
deleted file mode 100644
index 3de6ab3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ValidTest.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Constraints;
-
-use Symfony\Component\Validator\Constraints\Valid;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ValidTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testRejectGroupsOption()
-    {
-        new Valid(array('groups' => 'foo'));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CallbackClass.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CallbackClass.php
deleted file mode 100644
index 0f6a2f4..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CallbackClass.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\ExecutionContextInterface;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class CallbackClass
-{
-    public static function callback($object, ExecutionContextInterface $context)
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ClassConstraint.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ClassConstraint.php
deleted file mode 100644
index a4dc777..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ClassConstraint.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-class ClassConstraint extends Constraint
-{
-    public function getTargets()
-    {
-        return self::CLASS_CONSTRAINT;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintA.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintA.php
deleted file mode 100644
index 8a196dc..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintA.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-/** @Annotation */
-class ConstraintA extends Constraint
-{
-    public $property1;
-    public $property2;
-
-    public function getDefaultOption()
-    {
-        return 'property2';
-    }
-
-    public function getTargets()
-    {
-        return array(self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintAValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintAValidator.php
deleted file mode 100644
index b3b85c8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintAValidator.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-use Symfony\Component\Validator\ExecutionContextInterface;
-
-class ConstraintAValidator extends ConstraintValidator
-{
-    public static $passedContext;
-
-    public function initialize(ExecutionContextInterface $context)
-    {
-        parent::initialize($context);
-
-        self::$passedContext = $context;
-    }
-
-    public function validate($value, Constraint $constraint)
-    {
-        if ('VALID' != $value) {
-            $this->context->addViolation('message', array('param' => 'value'));
-
-            return;
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintB.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintB.php
deleted file mode 100644
index 6258923..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintB.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-/** @Annotation */
-class ConstraintB extends Constraint
-{
-    public function getTargets()
-    {
-        return array(self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintC.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintC.php
deleted file mode 100644
index b0418b8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintC.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-/** @Annotation */
-class ConstraintC extends Constraint
-{
-    public $option1;
-
-    public function getRequiredOptions()
-    {
-        return array('option1');
-    }
-
-    public function getTargets()
-    {
-        return array(self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValue.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValue.php
deleted file mode 100644
index 4ebd981..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValue.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-/** @Annotation */
-class ConstraintWithValue extends Constraint
-{
-    public $property;
-    public $value;
-
-    public function getDefaultOption()
-    {
-        return 'property';
-    }
-
-    public function getTargets()
-    {
-        return array(self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValueAsDefault.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValueAsDefault.php
deleted file mode 100644
index a975e07..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValueAsDefault.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-/** @Annotation */
-class ConstraintWithValueAsDefault extends Constraint
-{
-    public $property;
-    public $value;
-
-    public function getDefaultOption()
-    {
-        return 'value';
-    }
-
-    public function getTargets()
-    {
-        return array(self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Countable.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Countable.php
deleted file mode 100644
index 282d78d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Countable.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-class Countable implements \Countable
-{
-    private $content;
-
-    public function __construct(array $content)
-    {
-        $this->content = $content;
-    }
-
-    public function count()
-    {
-        return count($this->content);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CustomArrayObject.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CustomArrayObject.php
deleted file mode 100644
index 41eac96..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CustomArrayObject.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-/**
- * This class is a hand written simplified version of PHP native `ArrayObject`
- * class, to show that it behaves differently than the PHP native implementation.
- */
-class CustomArrayObject implements \ArrayAccess, \IteratorAggregate, \Countable, \Serializable
-{
-    private $array;
-
-    public function __construct(array $array = null)
-    {
-        $this->array = $array ?: array();
-    }
-
-    public function offsetExists($offset)
-    {
-        return array_key_exists($offset, $this->array);
-    }
-
-    public function offsetGet($offset)
-    {
-        return $this->array[$offset];
-    }
-
-    public function offsetSet($offset, $value)
-    {
-        if (null === $offset) {
-            $this->array[] = $value;
-        } else {
-            $this->array[$offset] = $value;
-        }
-    }
-
-    public function offsetUnset($offset)
-    {
-        unset($this->array[$offset]);
-    }
-
-    public function getIterator()
-    {
-        return new \ArrayIterator($this->array);
-    }
-
-    public function count()
-    {
-        return count($this->array);
-    }
-
-    public function serialize()
-    {
-        return serialize($this->array);
-    }
-
-    public function unserialize($serialized)
-    {
-        $this->array = (array) unserialize((string) $serialized);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Entity.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Entity.php
deleted file mode 100644
index 2230d30..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Entity.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraints as Assert;
-use Symfony\Component\Validator\ExecutionContextInterface;
-
-/**
- * @Symfony\Component\Validator\Tests\Fixtures\ConstraintA
- * @Assert\GroupSequence({"Foo", "Entity"})
- * @Assert\Callback({"Symfony\Component\Validator\Tests\Fixtures\CallbackClass", "callback"})
- */
-class Entity extends EntityParent implements EntityInterface
-{
-    /**
-     * @Assert\NotNull
-     * @Assert\Range(min=3)
-     * @Assert\All({@Assert\NotNull, @Assert\Range(min=3)}),
-     * @Assert\All(constraints={@Assert\NotNull, @Assert\Range(min=3)})
-     * @Assert\Collection(fields={
-     *   "foo" = {@Assert\NotNull, @Assert\Range(min=3)},
-     *   "bar" = @Assert\Range(min=5)
-     * })
-     * @Assert\Choice(choices={"A", "B"}, message="Must be one of %choices%")
-     */
-    public $firstName;
-    protected $lastName;
-    public $reference;
-    public $reference2;
-    private $internal;
-    public $data = 'Overridden data';
-    public $initialized = false;
-
-    public function __construct($internal = null)
-    {
-        $this->internal = $internal;
-    }
-
-    public function getInternal()
-    {
-        return $this->internal.' from getter';
-    }
-
-    public function setLastName($lastName)
-    {
-        $this->lastName = $lastName;
-    }
-
-    /**
-     * @Assert\NotNull
-     */
-    public function getLastName()
-    {
-        return $this->lastName;
-    }
-
-    /**
-     * @Assert\True
-     */
-    public function isValid()
-    {
-        return 'valid';
-    }
-
-    /**
-     * @Assert\True
-     */
-    public function hasPermissions()
-    {
-        return 'permissions';
-    }
-
-    public function getData()
-    {
-        return 'Overridden data';
-    }
-
-    /**
-     * @Assert\Callback
-     */
-    public function validateMe(ExecutionContextInterface $context)
-    {
-    }
-
-    /**
-     * @Assert\Callback
-     */
-    public static function validateMeStatic($object, ExecutionContextInterface $context)
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityInterface.php
deleted file mode 100644
index 2901f26..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityInterface.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-interface EntityInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityParent.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityParent.php
deleted file mode 100644
index 422bb28..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityParent.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraints\NotNull;
-
-class EntityParent
-{
-    protected $firstName;
-    private $internal;
-    private $data = 'Data';
-
-    /**
-     * @NotNull
-     */
-    protected $other;
-
-    public function getData()
-    {
-        return 'Data';
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraint.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraint.php
deleted file mode 100644
index 03019fc..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraint.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-class FailingConstraint extends Constraint
-{
-    public $message = 'Failed';
-
-    public function getTargets()
-    {
-        return array(self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraintValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraintValidator.php
deleted file mode 100644
index a019dd6..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraintValidator.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintValidator;
-
-class FailingConstraintValidator extends ConstraintValidator
-{
-    public function validate($value, Constraint $constraint)
-    {
-        $this->context->addViolation($constraint->message, array());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeClassMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeClassMetadata.php
deleted file mode 100644
index 8c76a21..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeClassMetadata.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-class FakeClassMetadata extends ClassMetadata
-{
-    public function addCustomPropertyMetadata($propertyName, $metadata)
-    {
-        if (!isset($this->members[$propertyName])) {
-            $this->members[$propertyName] = array();
-        }
-
-        $this->members[$propertyName][] = $metadata;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeMetadataFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeMetadataFactory.php
deleted file mode 100644
index e3f0d9a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeMetadataFactory.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Exception\NoSuchMetadataException;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\MetadataInterface;
-
-class FakeMetadataFactory implements MetadataFactoryInterface
-{
-    protected $metadatas = array();
-
-    public function getMetadataFor($class)
-    {
-        $hash = null;
-
-        if (is_object($class)) {
-            $hash = spl_object_hash($class);
-            $class = get_class($class);
-        }
-
-        if (!is_string($class)) {
-            throw new NoSuchMetadataException(sprintf('No metadata for type %s', gettype($class)));
-        }
-
-        if (!isset($this->metadatas[$class])) {
-            if (isset($this->metadatas[$hash])) {
-                return $this->metadatas[$hash];
-            }
-
-            throw new NoSuchMetadataException(sprintf('No metadata for "%s"', $class));
-        }
-
-        return $this->metadatas[$class];
-    }
-
-    public function hasMetadataFor($class)
-    {
-        $hash = null;
-
-        if (is_object($class)) {
-            $hash = spl_object_hash($class);
-            $class = get_class($class);
-        }
-
-        if (!is_string($class)) {
-            return false;
-        }
-
-        return isset($this->metadatas[$class]) || isset($this->metadatas[$hash]);
-    }
-
-    public function addMetadata($metadata)
-    {
-        $this->metadatas[$metadata->getClassName()] = $metadata;
-    }
-
-    public function addMetadataForValue($value, MetadataInterface $metadata)
-    {
-        $key = is_object($value) ? spl_object_hash($value) : $value;
-        $this->metadatas[$key] = $metadata;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FilesLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FilesLoader.php
deleted file mode 100644
index 59d8ee8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FilesLoader.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Mapping\Loader\FilesLoader as BaseFilesLoader;
-use Symfony\Component\Validator\Mapping\Loader\LoaderInterface;
-
-abstract class FilesLoader extends BaseFilesLoader
-{
-    protected $timesCalled = 0;
-    protected $loader;
-
-    public function __construct(array $paths, LoaderInterface $loader)
-    {
-        $this->loader = $loader;
-        parent::__construct($paths);
-    }
-
-    protected function getFileLoaderInstance($file)
-    {
-        $this->timesCalled++;
-
-        return $this->loader;
-    }
-
-    public function getTimesCalled()
-    {
-        return $this->timesCalled;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/GroupSequenceProviderEntity.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/GroupSequenceProviderEntity.php
deleted file mode 100644
index 2b0beaf..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/GroupSequenceProviderEntity.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraints as Assert;
-use Symfony\Component\Validator\GroupSequenceProviderInterface;
-
-/**
- * @Assert\GroupSequenceProvider
- */
-class GroupSequenceProviderEntity implements GroupSequenceProviderInterface
-{
-    public $firstName;
-    public $lastName;
-
-    protected $sequence = array();
-
-    public function __construct($sequence)
-    {
-        $this->sequence = $sequence;
-    }
-
-    public function getGroupSequence()
-    {
-        return $this->sequence;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraint.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraint.php
deleted file mode 100644
index 6a9eaa7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraint.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-class InvalidConstraint extends Constraint
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraintValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraintValidator.php
deleted file mode 100644
index bd9a5cf..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraintValidator.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-class InvalidConstraintValidator
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/LegacyClassMetadata.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/LegacyClassMetadata.php
deleted file mode 100644
index 6a832a1..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/LegacyClassMetadata.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\ClassBasedInterface;
-use Symfony\Component\Validator\MetadataInterface;
-use Symfony\Component\Validator\PropertyMetadataContainerInterface;
-
-interface LegacyClassMetadata extends MetadataInterface, PropertyMetadataContainerInterface, ClassBasedInterface
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/PropertyConstraint.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/PropertyConstraint.php
deleted file mode 100644
index fadb535..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/PropertyConstraint.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\Constraint;
-
-class PropertyConstraint extends Constraint
-{
-    public function getTargets()
-    {
-        return self::PROPERTY_CONSTRAINT;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Reference.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Reference.php
deleted file mode 100644
index af29735..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Reference.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-class Reference
-{
-    public $value;
-
-    private $privateValue;
-
-    public function setPrivateValue($privateValue)
-    {
-        $this->privateValue = $privateValue;
-    }
-
-    public function getPrivateValue()
-    {
-        return $this->privateValue;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php
deleted file mode 100644
index 6ae3663..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Fixtures;
-
-use Symfony\Component\Validator\ConstraintViolationList;
-use Symfony\Component\Validator\GlobalExecutionContextInterface;
-use Symfony\Component\Validator\ValidationVisitorInterface;
-
-/**
- * @since 2.5.3
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated
- */
-class StubGlobalExecutionContext implements GlobalExecutionContextInterface
-{
-    private $violations;
-
-    private $root;
-
-    private $visitor;
-
-    public function __construct($root = null, ValidationVisitorInterface $visitor = null)
-    {
-        $this->violations = new ConstraintViolationList();
-        $this->root = $root;
-        $this->visitor = $visitor;
-    }
-
-    public function getViolations()
-    {
-        return $this->violations;
-    }
-
-    public function setRoot($root)
-    {
-        $this->root = $root;
-    }
-
-    public function getRoot()
-    {
-        return $this->root;
-    }
-
-    public function setVisitor(ValidationVisitorInterface $visitor)
-    {
-        $this->visitor = $visitor;
-    }
-
-    public function getVisitor()
-    {
-        return $this->visitor;
-    }
-
-    public function getValidatorFactory()
-    {
-    }
-
-    public function getMetadataFactory()
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php
deleted file mode 100644
index 4fec2aa..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php
+++ /dev/null
@@ -1,336 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests;
-
-use Symfony\Component\Validator\Constraints\Collection;
-use Symfony\Component\Validator\Constraints\All;
-use Symfony\Component\Validator\ConstraintValidatorFactory;
-use Symfony\Component\Validator\ConstraintViolation;
-use Symfony\Component\Validator\ConstraintViolationList;
-use Symfony\Component\Validator\ExecutionContext;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-use Symfony\Component\Validator\ValidationVisitor;
-
-/**
- * @group legacy
- */
-class LegacyExecutionContextTest extends \PHPUnit_Framework_TestCase
-{
-    const TRANS_DOMAIN = 'trans_domain';
-
-    private $visitor;
-    private $violations;
-    private $metadata;
-    private $metadataFactory;
-    private $globalContext;
-    private $translator;
-
-    /**
-     * @var ExecutionContext
-     */
-    private $context;
-
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $this->visitor = $this->getMockBuilder('Symfony\Component\Validator\ValidationVisitor')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->violations = new ConstraintViolationList();
-        $this->metadata = $this->getMock('Symfony\Component\Validator\MetadataInterface');
-        $this->metadataFactory = $this->getMock('Symfony\Component\Validator\MetadataFactoryInterface');
-        $this->globalContext = $this->getMock('Symfony\Component\Validator\GlobalExecutionContextInterface');
-        $this->globalContext->expects($this->any())
-            ->method('getRoot')
-            ->will($this->returnValue('Root'));
-        $this->globalContext->expects($this->any())
-            ->method('getViolations')
-            ->will($this->returnValue($this->violations));
-        $this->globalContext->expects($this->any())
-            ->method('getVisitor')
-            ->will($this->returnValue($this->visitor));
-        $this->globalContext->expects($this->any())
-            ->method('getMetadataFactory')
-            ->will($this->returnValue($this->metadataFactory));
-        $this->translator = $this->getMock('Symfony\Component\Translation\TranslatorInterface');
-        $this->context = new ExecutionContext($this->globalContext, $this->translator, self::TRANS_DOMAIN, $this->metadata, 'currentValue', 'Group', 'foo.bar');
-    }
-
-    protected function tearDown()
-    {
-        $this->globalContext = null;
-        $this->context = null;
-    }
-
-    public function testInit()
-    {
-        $this->assertCount(0, $this->context->getViolations());
-        $this->assertSame('Root', $this->context->getRoot());
-        $this->assertSame('foo.bar', $this->context->getPropertyPath());
-        $this->assertSame('Group', $this->context->getGroup());
-    }
-
-    public function testClone()
-    {
-        $clone = clone $this->context;
-
-        // Cloning the context keeps the reference to the original violation
-        // list. This way we can efficiently duplicate context instances during
-        // the validation run and only modify the properties that need to be
-        // changed.
-        $this->assertSame($this->context->getViolations(), $clone->getViolations());
-    }
-
-    public function testAddViolation()
-    {
-        $this->translator->expects($this->once())
-            ->method('trans')
-            ->with('Error', array('foo' => 'bar'))
-            ->will($this->returnValue('Translated error'));
-
-        $this->context->addViolation('Error', array('foo' => 'bar'), 'invalid');
-
-        $this->assertEquals(new ConstraintViolationList(array(
-            new ConstraintViolation(
-                'Translated error',
-                'Error',
-                array('foo' => 'bar'),
-                'Root',
-                'foo.bar',
-                'invalid'
-            ),
-        )), $this->context->getViolations());
-    }
-
-    public function testAddViolationUsesPreconfiguredValueIfNotPassed()
-    {
-        $this->translator->expects($this->once())
-            ->method('trans')
-            ->with('Error', array())
-            ->will($this->returnValue('Translated error'));
-
-        $this->context->addViolation('Error');
-
-        $this->assertEquals(new ConstraintViolationList(array(
-            new ConstraintViolation(
-                'Translated error',
-                'Error',
-                array(),
-                'Root',
-                'foo.bar',
-                'currentValue'
-            ),
-        )), $this->context->getViolations());
-    }
-
-    public function testAddViolationUsesPassedNullValue()
-    {
-        $this->translator->expects($this->once())
-            ->method('trans')
-            ->with('Error', array('foo1' => 'bar1'))
-            ->will($this->returnValue('Translated error'));
-        $this->translator->expects($this->once())
-            ->method('transChoice')
-            ->with('Choice error', 1, array('foo2' => 'bar2'))
-            ->will($this->returnValue('Translated choice error'));
-
-        // passed null value should override preconfigured value "invalid"
-        $this->context->addViolation('Error', array('foo1' => 'bar1'), null);
-        $this->context->addViolation('Choice error', array('foo2' => 'bar2'), null, 1);
-
-        $this->assertEquals(new ConstraintViolationList(array(
-            new ConstraintViolation(
-                'Translated error',
-                'Error',
-                array('foo1' => 'bar1'),
-                'Root',
-                'foo.bar',
-                null
-            ),
-            new ConstraintViolation(
-                'Translated choice error',
-                'Choice error',
-                array('foo2' => 'bar2'),
-                'Root',
-                'foo.bar',
-                null,
-                1
-            ),
-        )), $this->context->getViolations());
-    }
-
-    public function testAddViolationAt()
-    {
-        $this->translator->expects($this->once())
-            ->method('trans')
-            ->with('Error', array('foo' => 'bar'))
-            ->will($this->returnValue('Translated error'));
-
-        // override preconfigured property path
-        $this->context->addViolationAt('bam.baz', 'Error', array('foo' => 'bar'), 'invalid');
-
-        $this->assertEquals(new ConstraintViolationList(array(
-            new ConstraintViolation(
-                'Translated error',
-                'Error',
-                array('foo' => 'bar'),
-                'Root',
-                'foo.bar.bam.baz',
-                'invalid'
-            ),
-        )), $this->context->getViolations());
-    }
-
-    public function testAddViolationAtUsesPreconfiguredValueIfNotPassed()
-    {
-        $this->translator->expects($this->once())
-            ->method('trans')
-            ->with('Error', array())
-            ->will($this->returnValue('Translated error'));
-
-        $this->context->addViolationAt('bam.baz', 'Error');
-
-        $this->assertEquals(new ConstraintViolationList(array(
-            new ConstraintViolation(
-                'Translated error',
-                'Error',
-                array(),
-                'Root',
-                'foo.bar.bam.baz',
-                'currentValue'
-            ),
-        )), $this->context->getViolations());
-    }
-
-    public function testAddViolationAtUsesPassedNullValue()
-    {
-        $this->translator->expects($this->once())
-            ->method('trans')
-            ->with('Error', array('foo' => 'bar'))
-            ->will($this->returnValue('Translated error'));
-        $this->translator->expects($this->once())
-            ->method('transChoice')
-            ->with('Choice error', 2, array('foo' => 'bar'))
-            ->will($this->returnValue('Translated choice error'));
-
-        // passed null value should override preconfigured value "invalid"
-        $this->context->addViolationAt('bam.baz', 'Error', array('foo' => 'bar'), null);
-        $this->context->addViolationAt('bam.baz', 'Choice error', array('foo' => 'bar'), null, 2);
-
-        $this->assertEquals(new ConstraintViolationList(array(
-            new ConstraintViolation(
-                'Translated error',
-                'Error',
-                array('foo' => 'bar'),
-                'Root',
-                'foo.bar.bam.baz',
-                null
-            ),
-            new ConstraintViolation(
-                'Translated choice error',
-                'Choice error',
-                array('foo' => 'bar'),
-                'Root',
-                'foo.bar.bam.baz',
-                null,
-                2
-            ),
-        )), $this->context->getViolations());
-    }
-
-    public function testAddViolationPluralTranslationError()
-    {
-        $this->translator->expects($this->once())
-            ->method('transChoice')
-            ->with('foo')
-            ->will($this->throwException(new \InvalidArgumentException()));
-        $this->translator->expects($this->once())
-            ->method('trans')
-            ->with('foo');
-
-        $this->context->addViolation('foo', array(), null, 2);
-    }
-
-    public function testGetPropertyPath()
-    {
-        $this->assertEquals('foo.bar', $this->context->getPropertyPath());
-    }
-
-    public function testGetPropertyPathWithIndexPath()
-    {
-        $this->assertEquals('foo.bar[bam]', $this->context->getPropertyPath('[bam]'));
-    }
-
-    public function testGetPropertyPathWithEmptyPath()
-    {
-        $this->assertEquals('foo.bar', $this->context->getPropertyPath(''));
-    }
-
-    public function testGetPropertyPathWithEmptyCurrentPropertyPath()
-    {
-        $this->context = new ExecutionContext($this->globalContext, $this->translator, self::TRANS_DOMAIN, $this->metadata, 'currentValue', 'Group', '');
-
-        $this->assertEquals('bam.baz', $this->context->getPropertyPath('bam.baz'));
-    }
-
-    public function testGetPropertyPathWithNestedCollectionsAndAllMixed()
-    {
-        $constraints = new Collection(array(
-            'shelves' => new All(array('constraints' => array(
-                new Collection(array(
-                    'name' => new ConstraintA(),
-                    'books' => new All(array('constraints' => array(
-                        new ConstraintA(),
-                    ))),
-                )),
-            ))),
-            'name' => new ConstraintA(),
-        ));
-        $data = array(
-            'shelves' => array(
-                array(
-                    'name' => 'Research',
-                    'books' => array('foo', 'bar'),
-                ),
-                array(
-                    'name' => 'VALID',
-                    'books' => array('foozy', 'VALID', 'bazzy'),
-                ),
-            ),
-            'name' => 'Library',
-        );
-        $expectedViolationPaths = array(
-            '[shelves][0][name]',
-            '[shelves][0][books][0]',
-            '[shelves][0][books][1]',
-            '[shelves][1][books][0]',
-            '[shelves][1][books][2]',
-            '[name]',
-        );
-
-        $visitor = new ValidationVisitor('Root', $this->metadataFactory, new ConstraintValidatorFactory(), $this->translator);
-        $context = new ExecutionContext($visitor, $this->translator, self::TRANS_DOMAIN);
-        $context->validateValue($data, $constraints);
-
-        foreach ($context->getViolations() as $violation) {
-            $violationPaths[] = $violation->getPropertyPath();
-        }
-
-        $this->assertEquals($expectedViolationPaths, $violationPaths);
-    }
-}
-
-class ExecutionContextTest_TestClass
-{
-    public $myProperty;
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php
deleted file mode 100644
index a2de306..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Cache;
-
-use Doctrine\Common\Cache\ArrayCache;
-use Symfony\Component\Validator\Mapping\Cache\DoctrineCache;
-
-class DoctrineCacheTest extends \PHPUnit_Framework_TestCase
-{
-    private $cache;
-
-    public function testWrite()
-    {
-        $meta = $this->getMockBuilder('Symfony\\Component\\Validator\\Mapping\\ClassMetadata')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getClassName'))
-            ->getMock();
-
-        $meta->expects($this->once())
-            ->method('getClassName')
-            ->will($this->returnValue('bar'));
-
-        $this->cache->write($meta);
-
-        $this->assertInstanceOf(
-            'Symfony\\Component\\Validator\\Mapping\\ClassMetadata',
-            $this->cache->read('bar'),
-            'write() stores metadata'
-        );
-    }
-
-    public function testHas()
-    {
-        $meta = $this->getMockBuilder('Symfony\\Component\\Validator\\Mapping\\ClassMetadata')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getClassName'))
-            ->getMock();
-
-        $meta->expects($this->once())
-            ->method('getClassName')
-            ->will($this->returnValue('bar'));
-
-        $this->assertFalse($this->cache->has('bar'), 'has() returns false when there is no entry');
-
-        $this->cache->write($meta);
-        $this->assertTrue($this->cache->has('bar'), 'has() returns true when the is an entry');
-    }
-
-    public function testRead()
-    {
-        $meta = $this->getMockBuilder('Symfony\\Component\\Validator\\Mapping\\ClassMetadata')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getClassName'))
-            ->getMock();
-
-        $meta->expects($this->once())
-            ->method('getClassName')
-            ->will($this->returnValue('bar'));
-
-        $this->assertFalse($this->cache->read('bar'), 'read() returns false when there is no entry');
-
-        $this->cache->write($meta);
-
-        $this->assertInstanceOf(
-            'Symfony\\Component\\Validator\\Mapping\\ClassMetadata',
-            $this->cache->read('bar'),
-            'read() returns metadata'
-        );
-    }
-
-    protected function setUp()
-    {
-        $this->cache = new DoctrineCache(new ArrayCache());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
deleted file mode 100644
index bb69cf5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Cache;
-
-use Symfony\Component\Validator\Mapping\Cache\ApcCache;
-
-/**
- * @group legacy
- */
-class LegacyApcCacheTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        if (!extension_loaded('apc') || !ini_get('apc.enable_cli')) {
-            $this->markTestSkipped('APC is not loaded.');
-        }
-    }
-
-    public function testWrite()
-    {
-        $meta = $this->getMockBuilder('Symfony\\Component\\Validator\\Mapping\\ClassMetadata')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getClassName'))
-            ->getMock();
-
-        $meta->expects($this->once())
-            ->method('getClassName')
-            ->will($this->returnValue('bar'));
-
-        $cache = new ApcCache('foo');
-        $cache->write($meta);
-
-        $this->assertInstanceOf('Symfony\\Component\\Validator\\Mapping\\ClassMetadata', apc_fetch('foobar'), '->write() stores metadata in APC');
-    }
-
-    public function testHas()
-    {
-        $meta = $this->getMockBuilder('Symfony\\Component\\Validator\\Mapping\\ClassMetadata')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getClassName'))
-            ->getMock();
-
-        $meta->expects($this->once())
-            ->method('getClassName')
-            ->will($this->returnValue('bar'));
-
-        apc_delete('foobar');
-
-        $cache = new ApcCache('foo');
-        $this->assertFalse($cache->has('bar'), '->has() returns false when there is no entry');
-
-        $cache->write($meta);
-        $this->assertTrue($cache->has('bar'), '->has() returns true when the is an entry');
-    }
-
-    public function testRead()
-    {
-        $meta = $this->getMockBuilder('Symfony\\Component\\Validator\\Mapping\\ClassMetadata')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getClassName'))
-            ->getMock();
-
-        $meta->expects($this->once())
-            ->method('getClassName')
-            ->will($this->returnValue('bar'));
-
-        $cache = new ApcCache('foo');
-        $cache->write($meta);
-
-        $this->assertInstanceOf('Symfony\\Component\\Validator\\Mapping\\ClassMetadata', $cache->read('bar'), '->read() returns metadata');
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
deleted file mode 100644
index 8634ac5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
-use Symfony\Component\Validator\Tests\Fixtures\PropertyConstraint;
-
-class ClassMetadataTest extends \PHPUnit_Framework_TestCase
-{
-    const CLASSNAME = 'Symfony\Component\Validator\Tests\Fixtures\Entity';
-    const PARENTCLASS = 'Symfony\Component\Validator\Tests\Fixtures\EntityParent';
-    const PROVIDERCLASS = 'Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity';
-
-    protected $metadata;
-
-    protected function setUp()
-    {
-        $this->metadata = new ClassMetadata(self::CLASSNAME);
-    }
-
-    protected function tearDown()
-    {
-        $this->metadata = null;
-    }
-
-    public function testAddConstraintDoesNotAcceptValid()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\ConstraintDefinitionException');
-
-        $this->metadata->addConstraint(new Valid());
-    }
-
-    public function testAddConstraintRequiresClassConstraints()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\ConstraintDefinitionException');
-
-        $this->metadata->addConstraint(new PropertyConstraint());
-    }
-
-    public function testAddPropertyConstraints()
-    {
-        $this->metadata->addPropertyConstraint('firstName', new ConstraintA());
-        $this->metadata->addPropertyConstraint('lastName', new ConstraintB());
-
-        $this->assertEquals(array('firstName', 'lastName'), $this->metadata->getConstrainedProperties());
-    }
-
-    public function testAddMultiplePropertyConstraints()
-    {
-        $this->metadata->addPropertyConstraints('lastName', array(new ConstraintA(), new ConstraintB()));
-
-        $constraints = array(
-            new ConstraintA(array('groups' => array('Default', 'Entity'))),
-            new ConstraintB(array('groups' => array('Default', 'Entity'))),
-        );
-
-        $properties = $this->metadata->getPropertyMetadata('lastName');
-
-        $this->assertCount(1, $properties);
-        $this->assertEquals('lastName', $properties[0]->getName());
-        $this->assertEquals($constraints, $properties[0]->getConstraints());
-    }
-
-    public function testAddGetterConstraints()
-    {
-        $this->metadata->addGetterConstraint('lastName', new ConstraintA());
-        $this->metadata->addGetterConstraint('lastName', new ConstraintB());
-
-        $constraints = array(
-            new ConstraintA(array('groups' => array('Default', 'Entity'))),
-            new ConstraintB(array('groups' => array('Default', 'Entity'))),
-        );
-
-        $properties = $this->metadata->getPropertyMetadata('lastName');
-
-        $this->assertCount(1, $properties);
-        $this->assertEquals('getLastName', $properties[0]->getName());
-        $this->assertEquals($constraints, $properties[0]->getConstraints());
-    }
-
-    public function testAddMultipleGetterConstraints()
-    {
-        $this->metadata->addGetterConstraints('lastName', array(new ConstraintA(), new ConstraintB()));
-
-        $constraints = array(
-            new ConstraintA(array('groups' => array('Default', 'Entity'))),
-            new ConstraintB(array('groups' => array('Default', 'Entity'))),
-        );
-
-        $properties = $this->metadata->getPropertyMetadata('lastName');
-
-        $this->assertCount(1, $properties);
-        $this->assertEquals('getLastName', $properties[0]->getName());
-        $this->assertEquals($constraints, $properties[0]->getConstraints());
-    }
-
-    public function testMergeConstraintsMergesClassConstraints()
-    {
-        $parent = new ClassMetadata(self::PARENTCLASS);
-        $parent->addConstraint(new ConstraintA());
-
-        $this->metadata->mergeConstraints($parent);
-        $this->metadata->addConstraint(new ConstraintA());
-
-        $constraints = array(
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'EntityParent',
-                'Entity',
-            ))),
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'Entity',
-            ))),
-        );
-
-        $this->assertEquals($constraints, $this->metadata->getConstraints());
-    }
-
-    public function testMergeConstraintsMergesMemberConstraints()
-    {
-        $parent = new ClassMetadata(self::PARENTCLASS);
-        $parent->addPropertyConstraint('firstName', new ConstraintA());
-
-        $this->metadata->mergeConstraints($parent);
-        $this->metadata->addPropertyConstraint('firstName', new ConstraintA());
-
-        $constraints = array(
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'EntityParent',
-                'Entity',
-            ))),
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'Entity',
-            ))),
-        );
-
-        $members = $this->metadata->getPropertyMetadata('firstName');
-
-        $this->assertCount(1, $members);
-        $this->assertEquals(self::PARENTCLASS, $members[0]->getClassName());
-        $this->assertEquals($constraints, $members[0]->getConstraints());
-    }
-
-    public function testMemberMetadatas()
-    {
-        $this->metadata->addPropertyConstraint('firstName', new ConstraintA());
-
-        $this->assertTrue($this->metadata->hasPropertyMetadata('firstName'));
-        $this->assertFalse($this->metadata->hasPropertyMetadata('non_existant_field'));
-    }
-
-    public function testMergeConstraintsKeepsPrivateMembersSeparate()
-    {
-        $parent = new ClassMetadata(self::PARENTCLASS);
-        $parent->addPropertyConstraint('internal', new ConstraintA());
-
-        $this->metadata->mergeConstraints($parent);
-        $this->metadata->addPropertyConstraint('internal', new ConstraintA());
-
-        $parentConstraints = array(
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'EntityParent',
-                'Entity',
-            ))),
-        );
-        $constraints = array(
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'Entity',
-            ))),
-        );
-
-        $members = $this->metadata->getPropertyMetadata('internal');
-
-        $this->assertCount(2, $members);
-        $this->assertEquals(self::PARENTCLASS, $members[0]->getClassName());
-        $this->assertEquals($parentConstraints, $members[0]->getConstraints());
-        $this->assertEquals(self::CLASSNAME, $members[1]->getClassName());
-        $this->assertEquals($constraints, $members[1]->getConstraints());
-    }
-
-    public function testGetReflectionClass()
-    {
-        $reflClass = new \ReflectionClass(self::CLASSNAME);
-
-        $this->assertEquals($reflClass, $this->metadata->getReflectionClass());
-    }
-
-    public function testSerialize()
-    {
-        $this->metadata->addConstraint(new ConstraintA(array('property1' => 'A')));
-        $this->metadata->addConstraint(new ConstraintB(array('groups' => 'TestGroup')));
-        $this->metadata->addPropertyConstraint('firstName', new ConstraintA());
-        $this->metadata->addGetterConstraint('lastName', new ConstraintB());
-
-        $metadata = unserialize(serialize($this->metadata));
-
-        $this->assertEquals($this->metadata, $metadata);
-    }
-
-    public function testGroupSequencesWorkIfContainingDefaultGroup()
-    {
-        $this->metadata->setGroupSequence(array('Foo', $this->metadata->getDefaultGroup()));
-    }
-
-    public function testGroupSequencesFailIfNotContainingDefaultGroup()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\GroupDefinitionException');
-
-        $this->metadata->setGroupSequence(array('Foo', 'Bar'));
-    }
-
-    public function testGroupSequencesFailIfContainingDefault()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\GroupDefinitionException');
-
-        $this->metadata->setGroupSequence(array('Foo', $this->metadata->getDefaultGroup(), Constraint::DEFAULT_GROUP));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\GroupDefinitionException
-     */
-    public function testGroupSequenceFailsIfGroupSequenceProviderIsSet()
-    {
-        $metadata = new ClassMetadata(self::PROVIDERCLASS);
-        $metadata->setGroupSequenceProvider(true);
-        $metadata->setGroupSequence(array('GroupSequenceProviderEntity', 'Foo'));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\GroupDefinitionException
-     */
-    public function testGroupSequenceProviderFailsIfGroupSequenceIsSet()
-    {
-        $metadata = new ClassMetadata(self::PROVIDERCLASS);
-        $metadata->setGroupSequence(array('GroupSequenceProviderEntity', 'Foo'));
-        $metadata->setGroupSequenceProvider(true);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\GroupDefinitionException
-     */
-    public function testGroupSequenceProviderFailsIfDomainClassIsInvalid()
-    {
-        $metadata = new ClassMetadata('stdClass');
-        $metadata->setGroupSequenceProvider(true);
-    }
-
-    public function testGroupSequenceProvider()
-    {
-        $metadata = new ClassMetadata(self::PROVIDERCLASS);
-        $metadata->setGroupSequenceProvider(true);
-        $this->assertTrue($metadata->isGroupSequenceProvider());
-    }
-
-    /**
-     * https://github.com/symfony/symfony/issues/11604.
-     */
-    public function testGetPropertyMetadataReturnsEmptyArrayWithoutConfiguredMetadata()
-    {
-        $this->assertCount(0, $this->metadata->getPropertyMetadata('foo'), '->getPropertyMetadata() returns an empty collection if no metadata is configured for the given property');
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
deleted file mode 100644
index 641bf91..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Factory;
-
-use Symfony\Component\Validator\Mapping\Factory\BlackHoleMetadataFactory;
-
-class BlackHoleMetadataFactoryTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \LogicException
-     */
-    public function testGetMetadataForThrowsALogicException()
-    {
-        $metadataFactory = new BlackHoleMetadataFactory();
-        $metadataFactory->getMetadataFor('foo');
-    }
-
-    public function testHasMetadataForReturnsFalse()
-    {
-        $metadataFactory = new BlackHoleMetadataFactory();
-
-        $this->assertFalse($metadataFactory->hasMetadataFor('foo'));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
deleted file mode 100644
index 74ee912..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Factory;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory;
-use Symfony\Component\Validator\Mapping\Loader\LoaderInterface;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-
-class LazyLoadingMetadataFactoryTest extends \PHPUnit_Framework_TestCase
-{
-    const CLASSNAME = 'Symfony\Component\Validator\Tests\Fixtures\Entity';
-    const PARENTCLASS = 'Symfony\Component\Validator\Tests\Fixtures\EntityParent';
-
-    public function testLoadClassMetadata()
-    {
-        $factory = new LazyLoadingMetadataFactory(new TestLoader());
-        $metadata = $factory->getMetadataFor(self::PARENTCLASS);
-
-        $constraints = array(
-            new ConstraintA(array('groups' => array('Default', 'EntityParent'))),
-        );
-
-        $this->assertEquals($constraints, $metadata->getConstraints());
-    }
-
-    public function testMergeParentConstraints()
-    {
-        $factory = new LazyLoadingMetadataFactory(new TestLoader());
-        $metadata = $factory->getMetadataFor(self::CLASSNAME);
-
-        $constraints = array(
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'EntityParent',
-                'Entity',
-            ))),
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'EntityInterface',
-                'Entity',
-            ))),
-            new ConstraintA(array('groups' => array(
-                'Default',
-                'Entity',
-            ))),
-        );
-
-        $this->assertEquals($constraints, $metadata->getConstraints());
-    }
-
-    public function testWriteMetadataToCache()
-    {
-        $cache = $this->getMock('Symfony\Component\Validator\Mapping\Cache\CacheInterface');
-        $factory = new LazyLoadingMetadataFactory(new TestLoader(), $cache);
-
-        $tester = $this;
-        $constraints = array(
-            new ConstraintA(array('groups' => array('Default', 'EntityParent'))),
-        );
-
-        $cache->expects($this->never())
-              ->method('has');
-        $cache->expects($this->once())
-              ->method('read')
-              ->with($this->equalTo(self::PARENTCLASS))
-              ->will($this->returnValue(false));
-        $cache->expects($this->once())
-              ->method('write')
-              ->will($this->returnCallback(function ($metadata) use ($tester, $constraints) {
-                  $tester->assertEquals($constraints, $metadata->getConstraints());
-              }));
-
-        $metadata = $factory->getMetadataFor(self::PARENTCLASS);
-
-        $this->assertEquals(self::PARENTCLASS, $metadata->getClassName());
-        $this->assertEquals($constraints, $metadata->getConstraints());
-    }
-
-    public function testReadMetadataFromCache()
-    {
-        $loader = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-        $cache = $this->getMock('Symfony\Component\Validator\Mapping\Cache\CacheInterface');
-        $factory = new LazyLoadingMetadataFactory($loader, $cache);
-
-        $tester = $this;
-        $metadata = new ClassMetadata(self::PARENTCLASS);
-        $metadata->addConstraint(new ConstraintA());
-
-        $loader->expects($this->never())
-               ->method('loadClassMetadata');
-
-        $cache->expects($this->never())
-              ->method('has');
-        $cache->expects($this->once())
-              ->method('read')
-              ->will($this->returnValue($metadata));
-
-        $this->assertEquals($metadata, $factory->getMetadataFor(self::PARENTCLASS));
-    }
-}
-
-class TestLoader implements LoaderInterface
-{
-    public function loadClassMetadata(ClassMetadata $metadata)
-    {
-        $metadata->addConstraint(new ConstraintA());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/GetterMetadataTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/GetterMetadataTest.php
deleted file mode 100644
index 0781599..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/GetterMetadataTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping;
-
-use Symfony\Component\Validator\Mapping\GetterMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\Entity;
-
-class GetterMetadataTest extends \PHPUnit_Framework_TestCase
-{
-    const CLASSNAME = 'Symfony\Component\Validator\Tests\Fixtures\Entity';
-
-    public function testInvalidPropertyName()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\ValidatorException');
-
-        new GetterMetadata(self::CLASSNAME, 'foobar');
-    }
-
-    public function testGetPropertyValueFromPublicGetter()
-    {
-        // private getters don't work yet because ReflectionMethod::setAccessible()
-        // does not exist yet in a stable PHP release
-
-        $entity = new Entity('foobar');
-        $metadata = new GetterMetadata(self::CLASSNAME, 'internal');
-
-        $this->assertEquals('foobar from getter', $metadata->getPropertyValue($entity));
-    }
-
-    public function testGetPropertyValueFromOverriddenPublicGetter()
-    {
-        $entity = new Entity();
-        $metadata = new GetterMetadata(self::CLASSNAME, 'data');
-
-        $this->assertEquals('Overridden data', $metadata->getPropertyValue($entity));
-    }
-
-    public function testGetPropertyValueFromIsser()
-    {
-        $entity = new Entity();
-        $metadata = new GetterMetadata(self::CLASSNAME, 'valid');
-
-        $this->assertEquals('valid', $metadata->getPropertyValue($entity));
-    }
-
-    public function testGetPropertyValueFromHasser()
-    {
-        $entity = new Entity();
-        $metadata = new GetterMetadata(self::CLASSNAME, 'permissions');
-
-        $this->assertEquals('permissions', $metadata->getPropertyValue($entity));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php
deleted file mode 100644
index c77e6fe..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping;
-
-use Symfony\Component\Validator\Mapping\ElementMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
-
-/**
- * @group legacy
- */
-class LegacyElementMetadataTest extends \PHPUnit_Framework_TestCase
-{
-    protected $metadata;
-
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $this->metadata = new TestElementMetadata();
-    }
-
-    protected function tearDown()
-    {
-        $this->metadata = null;
-    }
-
-    public function testAddConstraints()
-    {
-        $this->metadata->addConstraint($constraint1 = new ConstraintA());
-        $this->metadata->addConstraint($constraint2 = new ConstraintA());
-
-        $this->assertEquals(array($constraint1, $constraint2), $this->metadata->getConstraints());
-    }
-
-    public function testMultipleConstraintsOfTheSameType()
-    {
-        $constraint1 = new ConstraintA(array('property1' => 'A'));
-        $constraint2 = new ConstraintA(array('property1' => 'B'));
-
-        $this->metadata->addConstraint($constraint1);
-        $this->metadata->addConstraint($constraint2);
-
-        $this->assertEquals(array($constraint1, $constraint2), $this->metadata->getConstraints());
-    }
-
-    public function testFindConstraintsByGroup()
-    {
-        $constraint1 = new ConstraintA(array('groups' => 'TestGroup'));
-        $constraint2 = new ConstraintB();
-
-        $this->metadata->addConstraint($constraint1);
-        $this->metadata->addConstraint($constraint2);
-
-        $this->assertEquals(array($constraint1), $this->metadata->findConstraints('TestGroup'));
-    }
-
-    public function testSerialize()
-    {
-        $this->metadata->addConstraint(new ConstraintA(array('property1' => 'A')));
-        $this->metadata->addConstraint(new ConstraintB(array('groups' => 'TestGroup')));
-
-        $metadata = unserialize(serialize($this->metadata));
-
-        $this->assertEquals($this->metadata, $metadata);
-    }
-}
-
-class TestElementMetadata extends ElementMetadata
-{
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php
deleted file mode 100644
index 08f219d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-namespace Symfony\Component\Validator\Tests\Mapping\Loader;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-
-abstract class AbstractStaticMethodLoader
-{
-    abstract public static function loadMetadata(ClassMetadata $metadata);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php
deleted file mode 100644
index ad98aa1..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php
+++ /dev/null
@@ -1,172 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Loader;
-
-use Doctrine\Common\Annotations\AnnotationReader;
-use Symfony\Component\Validator\Constraints\All;
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\Choice;
-use Symfony\Component\Validator\Constraints\Collection;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\Range;
-use Symfony\Component\Validator\Constraints\True;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\Loader\AnnotationLoader;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-
-require_once __DIR__.'/../../../Constraints/All.php';
-require_once __DIR__.'/../../../Constraints/Callback.php';
-require_once __DIR__.'/../../../Constraints/Choice.php';
-require_once __DIR__.'/../../../Constraints/Collection.php';
-require_once __DIR__.'/../../../Constraints/GroupSequence.php';
-require_once __DIR__.'/../../../Constraints/GroupSequenceProvider.php';
-require_once __DIR__.'/../../../Constraints/NotNull.php';
-require_once __DIR__.'/../../../Constraints/Range.php';
-require_once __DIR__.'/../../Fixtures/ConstraintA.php';
-
-class AnnotationLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testLoadClassMetadataReturnsTrueIfSuccessful()
-    {
-        $reader = new AnnotationReader();
-        $loader = new AnnotationLoader($reader);
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $this->assertTrue($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadataReturnsFalseIfNotSuccessful()
-    {
-        $loader = new AnnotationLoader(new AnnotationReader());
-        $metadata = new ClassMetadata('\stdClass');
-
-        $this->assertFalse($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadata()
-    {
-        $loader = new AnnotationLoader(new AnnotationReader());
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $loader->loadClassMetadata($metadata);
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-        $expected->setGroupSequence(array('Foo', 'Entity'));
-        $expected->addConstraint(new ConstraintA());
-        $expected->addConstraint(new Callback(array('Symfony\Component\Validator\Tests\Fixtures\CallbackClass', 'callback')));
-        $expected->addConstraint(new Callback('validateMe'));
-        $expected->addConstraint(new Callback('validateMeStatic'));
-        $expected->addPropertyConstraint('firstName', new NotNull());
-        $expected->addPropertyConstraint('firstName', new Range(array('min' => 3)));
-        $expected->addPropertyConstraint('firstName', new All(array(new NotNull(), new Range(array('min' => 3)))));
-        $expected->addPropertyConstraint('firstName', new All(array('constraints' => array(new NotNull(), new Range(array('min' => 3))))));
-        $expected->addPropertyConstraint('firstName', new Collection(array('fields' => array(
-            'foo' => array(new NotNull(), new Range(array('min' => 3))),
-            'bar' => new Range(array('min' => 5)),
-        ))));
-        $expected->addPropertyConstraint('firstName', new Choice(array(
-            'message' => 'Must be one of %choices%',
-            'choices' => array('A', 'B'),
-        )));
-        $expected->addGetterConstraint('lastName', new NotNull());
-        $expected->addGetterConstraint('valid', new True());
-        $expected->addGetterConstraint('permissions', new True());
-
-        // load reflection class so that the comparison passes
-        $expected->getReflectionClass();
-
-        $this->assertEquals($expected, $metadata);
-    }
-
-    /**
-     * Test MetaData merge with parent annotation.
-     */
-    public function testLoadParentClassMetadata()
-    {
-        $loader = new AnnotationLoader(new AnnotationReader());
-
-        // Load Parent MetaData
-        $parent_metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\EntityParent');
-        $loader->loadClassMetadata($parent_metadata);
-
-        $expected_parent = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\EntityParent');
-        $expected_parent->addPropertyConstraint('other', new NotNull());
-        $expected_parent->getReflectionClass();
-
-        $this->assertEquals($expected_parent, $parent_metadata);
-    }
-    /**
-     * Test MetaData merge with parent annotation.
-     */
-    public function testLoadClassMetadataAndMerge()
-    {
-        $loader = new AnnotationLoader(new AnnotationReader());
-
-        // Load Parent MetaData
-        $parent_metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\EntityParent');
-        $loader->loadClassMetadata($parent_metadata);
-
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        // Merge parent metaData.
-        $metadata->mergeConstraints($parent_metadata);
-
-        $loader->loadClassMetadata($metadata);
-
-        $expected_parent = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\EntityParent');
-        $expected_parent->addPropertyConstraint('other', new NotNull());
-        $expected_parent->getReflectionClass();
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-        $expected->mergeConstraints($expected_parent);
-
-        $expected->setGroupSequence(array('Foo', 'Entity'));
-        $expected->addConstraint(new ConstraintA());
-        $expected->addConstraint(new Callback(array('Symfony\Component\Validator\Tests\Fixtures\CallbackClass', 'callback')));
-        $expected->addConstraint(new Callback('validateMe'));
-        $expected->addConstraint(new Callback('validateMeStatic'));
-        $expected->addPropertyConstraint('firstName', new NotNull());
-        $expected->addPropertyConstraint('firstName', new Range(array('min' => 3)));
-        $expected->addPropertyConstraint('firstName', new All(array(new NotNull(), new Range(array('min' => 3)))));
-        $expected->addPropertyConstraint('firstName', new All(array('constraints' => array(new NotNull(), new Range(array('min' => 3))))));
-        $expected->addPropertyConstraint('firstName', new Collection(array('fields' => array(
-            'foo' => array(new NotNull(), new Range(array('min' => 3))),
-            'bar' => new Range(array('min' => 5)),
-        ))));
-        $expected->addPropertyConstraint('firstName', new Choice(array(
-            'message' => 'Must be one of %choices%',
-            'choices' => array('A', 'B'),
-        )));
-        $expected->addGetterConstraint('lastName', new NotNull());
-        $expected->addGetterConstraint('valid', new True());
-        $expected->addGetterConstraint('permissions', new True());
-
-        // load reflection class so that the comparison passes
-        $expected->getReflectionClass();
-
-        $this->assertEquals($expected, $metadata);
-    }
-
-    public function testLoadGroupSequenceProviderAnnotation()
-    {
-        $loader = new AnnotationLoader(new AnnotationReader());
-
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity');
-        $loader->loadClassMetadata($metadata);
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity');
-        $expected->setGroupSequenceProvider(true);
-        $expected->getReflectionClass();
-
-        $this->assertEquals($expected, $metadata);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/FilesLoaderTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/FilesLoaderTest.php
deleted file mode 100644
index 09e6e44..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/FilesLoaderTest.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Loader;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\Loader\LoaderInterface;
-
-class FilesLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCallsGetFileLoaderInstanceForeachPath()
-    {
-        $loader = $this->getFilesLoader($this->getFileLoader());
-        $this->assertEquals(4, $loader->getTimesCalled());
-    }
-
-    public function testCallsActualFileLoaderForMetadata()
-    {
-        $fileLoader = $this->getFileLoader();
-        $fileLoader->expects($this->exactly(4))
-            ->method('loadClassMetadata');
-        $loader = $this->getFilesLoader($fileLoader);
-        $loader->loadClassMetadata(new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity'));
-    }
-
-    public function getFilesLoader(LoaderInterface $loader)
-    {
-        return $this->getMockForAbstractClass('Symfony\Component\Validator\Tests\Fixtures\FilesLoader', array(array(
-            __DIR__.'/constraint-mapping.xml',
-            __DIR__.'/constraint-mapping.yaml',
-            __DIR__.'/constraint-mapping.test',
-            __DIR__.'/constraint-mapping.txt',
-        ), $loader));
-    }
-
-    public function getFileLoader()
-    {
-        return $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/LoaderChainTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/LoaderChainTest.php
deleted file mode 100644
index 647a568..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/LoaderChainTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Loader;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\Loader\LoaderChain;
-
-class LoaderChainTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAllLoadersAreCalled()
-    {
-        $metadata = new ClassMetadata('\stdClass');
-
-        $loader1 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-        $loader1->expects($this->once())
-                        ->method('loadClassMetadata')
-                        ->with($this->equalTo($metadata));
-
-        $loader2 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-        $loader2->expects($this->once())
-                        ->method('loadClassMetadata')
-                        ->with($this->equalTo($metadata));
-
-        $chain = new LoaderChain(array(
-            $loader1,
-            $loader2,
-        ));
-
-        $chain->loadClassMetadata($metadata);
-    }
-
-    public function testReturnsTrueIfAnyLoaderReturnedTrue()
-    {
-        $metadata = new ClassMetadata('\stdClass');
-
-        $loader1 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-        $loader1->expects($this->any())
-                        ->method('loadClassMetadata')
-                        ->will($this->returnValue(true));
-
-        $loader2 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-        $loader2->expects($this->any())
-                        ->method('loadClassMetadata')
-                        ->will($this->returnValue(false));
-
-        $chain = new LoaderChain(array(
-            $loader1,
-            $loader2,
-        ));
-
-        $this->assertTrue($chain->loadClassMetadata($metadata));
-    }
-
-    public function testReturnsFalseIfNoLoaderReturnedTrue()
-    {
-        $metadata = new ClassMetadata('\stdClass');
-
-        $loader1 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-        $loader1->expects($this->any())
-                        ->method('loadClassMetadata')
-                        ->will($this->returnValue(false));
-
-        $loader2 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
-        $loader2->expects($this->any())
-                        ->method('loadClassMetadata')
-                        ->will($this->returnValue(false));
-
-        $chain = new LoaderChain(array(
-            $loader1,
-            $loader2,
-        ));
-
-        $this->assertFalse($chain->loadClassMetadata($metadata));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php
deleted file mode 100644
index 5829336..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Loader;
-
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-
-class StaticMethodLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    private $errorLevel;
-
-    protected function setUp()
-    {
-        $this->errorLevel = error_reporting();
-    }
-
-    protected function tearDown()
-    {
-        error_reporting($this->errorLevel);
-    }
-
-    public function testLoadClassMetadataReturnsTrueIfSuccessful()
-    {
-        $loader = new StaticMethodLoader('loadMetadata');
-        $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderEntity');
-
-        $this->assertTrue($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadataReturnsFalseIfNotSuccessful()
-    {
-        $loader = new StaticMethodLoader('loadMetadata');
-        $metadata = new ClassMetadata('\stdClass');
-
-        $this->assertFalse($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadata()
-    {
-        $loader = new StaticMethodLoader('loadMetadata');
-        $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderEntity');
-
-        $loader->loadClassMetadata($metadata);
-
-        $this->assertEquals(StaticLoaderEntity::$invokedWith, $metadata);
-    }
-
-    public function testLoadClassMetadataDoesNotRepeatLoadWithParentClasses()
-    {
-        $loader = new StaticMethodLoader('loadMetadata');
-        $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderDocument');
-        $loader->loadClassMetadata($metadata);
-        $this->assertCount(0, $metadata->getConstraints());
-
-        $loader = new StaticMethodLoader('loadMetadata');
-        $metadata = new ClassMetadata(__NAMESPACE__.'\BaseStaticLoaderDocument');
-        $loader->loadClassMetadata($metadata);
-        $this->assertCount(1, $metadata->getConstraints());
-    }
-
-    public function testLoadClassMetadataIgnoresInterfaces()
-    {
-        $loader = new StaticMethodLoader('loadMetadata');
-        $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderInterface');
-
-        $loader->loadClassMetadata($metadata);
-
-        $this->assertCount(0, $metadata->getConstraints());
-    }
-
-    public function testLoadClassMetadataInAbstractClasses()
-    {
-        $loader = new StaticMethodLoader('loadMetadata');
-        $metadata = new ClassMetadata(__NAMESPACE__.'\AbstractStaticLoader');
-
-        $loader->loadClassMetadata($metadata);
-
-        $this->assertCount(1, $metadata->getConstraints());
-    }
-
-    public function testLoadClassMetadataIgnoresAbstractMethods()
-    {
-        // Disable error reporting, as AbstractStaticMethodLoader produces a
-        // strict standards error
-        error_reporting(0);
-
-        if (0 !== error_reporting()) {
-            $this->markTestSkipped('Could not disable error reporting');
-        }
-
-        $metadata = new ClassMetadata(__NAMESPACE__.'\AbstractStaticMethodLoader');
-
-        $loader = new StaticMethodLoader('loadMetadata');
-        $loader->loadClassMetadata($metadata);
-
-        $this->assertCount(0, $metadata->getConstraints());
-    }
-}
-
-interface StaticLoaderInterface
-{
-    public static function loadMetadata(ClassMetadata $metadata);
-}
-
-abstract class AbstractStaticLoader
-{
-    public static function loadMetadata(ClassMetadata $metadata)
-    {
-        $metadata->addConstraint(new ConstraintA());
-    }
-}
-
-class StaticLoaderEntity
-{
-    public static $invokedWith = null;
-
-    public static function loadMetadata(ClassMetadata $metadata)
-    {
-        self::$invokedWith = $metadata;
-    }
-}
-
-class StaticLoaderDocument extends BaseStaticLoaderDocument
-{
-}
-
-class BaseStaticLoaderDocument
-{
-    public static function loadMetadata(ClassMetadata $metadata)
-    {
-        $metadata->addConstraint(new ConstraintA());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/XmlFileLoaderTest.php
deleted file mode 100644
index 8ab2065..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/XmlFileLoaderTest.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Loader;
-
-use Symfony\Component\Validator\Constraints\All;
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\Choice;
-use Symfony\Component\Validator\Constraints\Collection;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\Range;
-use Symfony\Component\Validator\Constraints\Regex;
-use Symfony\Component\Validator\Constraints\True;
-use Symfony\Component\Validator\Exception\MappingException;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\Loader\XmlFileLoader;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
-
-class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testLoadClassMetadataReturnsTrueIfSuccessful()
-    {
-        $loader = new XmlFileLoader(__DIR__.'/constraint-mapping.xml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $this->assertTrue($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadataReturnsFalseIfNotSuccessful()
-    {
-        $loader = new XmlFileLoader(__DIR__.'/constraint-mapping.xml');
-        $metadata = new ClassMetadata('\stdClass');
-
-        $this->assertFalse($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadata()
-    {
-        $loader = new XmlFileLoader(__DIR__.'/constraint-mapping.xml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $loader->loadClassMetadata($metadata);
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-        $expected->setGroupSequence(array('Foo', 'Entity'));
-        $expected->addConstraint(new ConstraintA());
-        $expected->addConstraint(new ConstraintB());
-        $expected->addConstraint(new Callback('validateMe'));
-        $expected->addConstraint(new Callback('validateMeStatic'));
-        $expected->addConstraint(new Callback(array('Symfony\Component\Validator\Tests\Fixtures\CallbackClass', 'callback')));
-        $expected->addPropertyConstraint('firstName', new NotNull());
-        $expected->addPropertyConstraint('firstName', new Range(array('min' => 3)));
-        $expected->addPropertyConstraint('firstName', new Choice(array('A', 'B')));
-        $expected->addPropertyConstraint('firstName', new All(array(new NotNull(), new Range(array('min' => 3)))));
-        $expected->addPropertyConstraint('firstName', new All(array('constraints' => array(new NotNull(), new Range(array('min' => 3))))));
-        $expected->addPropertyConstraint('firstName', new Collection(array('fields' => array(
-            'foo' => array(new NotNull(), new Range(array('min' => 3))),
-            'bar' => array(new Range(array('min' => 5))),
-        ))));
-        $expected->addPropertyConstraint('firstName', new Choice(array(
-            'message' => 'Must be one of %choices%',
-            'choices' => array('A', 'B'),
-        )));
-        $expected->addGetterConstraint('lastName', new NotNull());
-        $expected->addGetterConstraint('valid', new True());
-        $expected->addGetterConstraint('permissions', new True());
-
-        $this->assertEquals($expected, $metadata);
-    }
-
-    public function testLoadClassMetadataWithNonStrings()
-    {
-        $loader = new XmlFileLoader(__DIR__.'/constraint-mapping-non-strings.xml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $loader->loadClassMetadata($metadata);
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-        $expected->addPropertyConstraint('firstName', new Regex(array('pattern' => '/^1/', 'match' => false)));
-
-        $properties = $metadata->getPropertyMetadata('firstName');
-        $constraints = $properties[0]->getConstraints();
-
-        $this->assertFalse($constraints[0]->match);
-    }
-
-    public function testLoadGroupSequenceProvider()
-    {
-        $loader = new XmlFileLoader(__DIR__.'/constraint-mapping.xml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity');
-
-        $loader->loadClassMetadata($metadata);
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity');
-        $expected->setGroupSequenceProvider(true);
-
-        $this->assertEquals($expected, $metadata);
-    }
-
-    public function testThrowExceptionIfDocTypeIsSet()
-    {
-        $loader = new XmlFileLoader(__DIR__.'/withdoctype.xml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $this->setExpectedException('\Symfony\Component\Validator\Exception\MappingException');
-        $loader->loadClassMetadata($metadata);
-    }
-
-    /**
-     * @see https://github.com/symfony/symfony/pull/12158
-     */
-    public function testDoNotModifyStateIfExceptionIsThrown()
-    {
-        $loader = new XmlFileLoader(__DIR__.'/withdoctype.xml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        try {
-            $loader->loadClassMetadata($metadata);
-        } catch (MappingException $e) {
-            $this->setExpectedException('\Symfony\Component\Validator\Exception\MappingException');
-            $loader->loadClassMetadata($metadata);
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/YamlFileLoaderTest.php
deleted file mode 100644
index 806a2b0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/YamlFileLoaderTest.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping\Loader;
-
-use Symfony\Component\Validator\Constraints\All;
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\Choice;
-use Symfony\Component\Validator\Constraints\Collection;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\Range;
-use Symfony\Component\Validator\Constraints\True;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\Loader\YamlFileLoader;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
-
-class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testLoadClassMetadataReturnsFalseIfEmpty()
-    {
-        $loader = new YamlFileLoader(__DIR__.'/empty-mapping.yml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $this->assertFalse($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadataThrowsExceptionIfNotAnArray()
-    {
-        $loader = new YamlFileLoader(__DIR__.'/nonvalid-mapping.yml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $this->setExpectedException('\InvalidArgumentException');
-        $loader->loadClassMetadata($metadata);
-    }
-
-    /**
-     * @see https://github.com/symfony/symfony/pull/12158
-     */
-    public function testDoNotModifyStateIfExceptionIsThrown()
-    {
-        $loader = new YamlFileLoader(__DIR__.'/nonvalid-mapping.yml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-        try {
-            $loader->loadClassMetadata($metadata);
-        } catch (\InvalidArgumentException $e) {
-            // Call again. Again an exception should be thrown
-            $this->setExpectedException('\InvalidArgumentException');
-            $loader->loadClassMetadata($metadata);
-        }
-    }
-
-    public function testLoadClassMetadataReturnsTrueIfSuccessful()
-    {
-        $loader = new YamlFileLoader(__DIR__.'/constraint-mapping.yml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $this->assertTrue($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadataReturnsFalseIfNotSuccessful()
-    {
-        $loader = new YamlFileLoader(__DIR__.'/constraint-mapping.yml');
-        $metadata = new ClassMetadata('\stdClass');
-
-        $this->assertFalse($loader->loadClassMetadata($metadata));
-    }
-
-    public function testLoadClassMetadata()
-    {
-        $loader = new YamlFileLoader(__DIR__.'/constraint-mapping.yml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-
-        $loader->loadClassMetadata($metadata);
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\Entity');
-        $expected->setGroupSequence(array('Foo', 'Entity'));
-        $expected->addConstraint(new ConstraintA());
-        $expected->addConstraint(new ConstraintB());
-        $expected->addConstraint(new Callback('validateMe'));
-        $expected->addConstraint(new Callback('validateMeStatic'));
-        $expected->addConstraint(new Callback(array('Symfony\Component\Validator\Tests\Fixtures\CallbackClass', 'callback')));
-        $expected->addPropertyConstraint('firstName', new NotNull());
-        $expected->addPropertyConstraint('firstName', new Range(array('min' => 3)));
-        $expected->addPropertyConstraint('firstName', new Choice(array('A', 'B')));
-        $expected->addPropertyConstraint('firstName', new All(array(new NotNull(), new Range(array('min' => 3)))));
-        $expected->addPropertyConstraint('firstName', new All(array('constraints' => array(new NotNull(), new Range(array('min' => 3))))));
-        $expected->addPropertyConstraint('firstName', new Collection(array('fields' => array(
-            'foo' => array(new NotNull(), new Range(array('min' => 3))),
-            'bar' => array(new Range(array('min' => 5))),
-        ))));
-        $expected->addPropertyConstraint('firstName', new Choice(array(
-            'message' => 'Must be one of %choices%',
-            'choices' => array('A', 'B'),
-        )));
-        $expected->addGetterConstraint('lastName', new NotNull());
-        $expected->addGetterConstraint('valid', new True());
-        $expected->addGetterConstraint('permissions', new True());
-
-        $this->assertEquals($expected, $metadata);
-    }
-
-    public function testLoadGroupSequenceProvider()
-    {
-        $loader = new YamlFileLoader(__DIR__.'/constraint-mapping.yml');
-        $metadata = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity');
-
-        $loader->loadClassMetadata($metadata);
-
-        $expected = new ClassMetadata('Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity');
-        $expected->setGroupSequenceProvider(true);
-
-        $this->assertEquals($expected, $metadata);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
deleted file mode 100644
index dfd5edd..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-
-<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
-
-  <namespace prefix="custom">Symfony\Component\Validator\Tests\Fixtures\</namespace>
-
-  <class name="Symfony\Component\Validator\Tests\Fixtures\Entity">
-    <property name="firstName">
-      <!-- Constraint with a Boolean -->
-      <constraint name="Regex">
-          <option name="pattern">/^1/</option>
-          <option name="match">false</option>
-      </constraint>
-    </property>
-  </class>
-
-</constraint-mapping>
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.xml b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.xml
deleted file mode 100644
index 9b637e9..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" ?>
-
-<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
-
-  <namespace prefix="custom">Symfony\Component\Validator\Tests\Fixtures\</namespace>
-
-  <class name="Symfony\Component\Validator\Tests\Fixtures\Entity">
-
-    <group-sequence>
-       <value>Foo</value>
-       <value>Entity</value>
-    </group-sequence>
-
-    <!-- CLASS CONSTRAINTS -->
-
-    <!-- Custom constraint -->
-    <constraint name="Symfony\Component\Validator\Tests\Fixtures\ConstraintA" />
-
-    <!-- Custom constraint with namespace abbreviation-->
-    <constraint name="custom:ConstraintB" />
-
-    <!-- Callbacks -->
-    <constraint name="Callback">validateMe</constraint>
-
-    <constraint name="Callback">validateMeStatic</constraint>
-
-    <constraint name="Callback">
-        <value>Symfony\Component\Validator\Tests\Fixtures\CallbackClass</value>
-        <value>callback</value>
-    </constraint>
-
-    <!-- PROPERTY CONSTRAINTS -->
-
-    <property name="firstName">
-
-      <!-- Constraint without value -->
-      <constraint name="NotNull" />
-
-      <!-- Constraint with single value -->
-      <constraint name="Range">
-         <option name="min">3</option>
-      </constraint>
-
-      <!-- Constraint with multiple values -->
-      <constraint name="Choice">
-        <value>A</value>
-        <value>B</value>
-      </constraint>
-
-      <!-- Constraint with child constraints -->
-      <constraint name="All">
-        <constraint name="NotNull" />
-        <constraint name="Range">
-           <option name="min">3</option>
-        </constraint>
-
-      </constraint>
-
-      <!-- Option with child constraints -->
-      <constraint name="All">
-        <option name="constraints">
-          <constraint name="NotNull" />
-          <constraint name="Range">
-             <option name="min">3</option>
-          </constraint>
-        </option>
-      </constraint>
-
-      <!-- Value with child constraints -->
-      <constraint name="Collection">
-        <option name="fields">
-          <value key="foo">
-            <constraint name="NotNull" />
-            <constraint name="Range">
-               <option name="min">3</option>
-            </constraint>
-          </value>
-          <value key="bar">
-            <constraint name="Range">
-               <option name="min">5</option>
-            </constraint>
-          </value>
-        </option>
-      </constraint>
-
-      <!-- Constraint with options -->
-      <constraint name="Choice">
-        <!-- Option with single value -->
-        <option name="message"> Must be one of %choices% </option>
-        <!-- Option with multiple values -->
-        <option name="choices">
-          <value>A</value>
-          <value>B</value>
-        </option>
-      </constraint>
-    </property>
-
-    <!-- GETTER CONSTRAINTS -->
-
-    <getter property="lastName">
-      <constraint name="NotNull" />
-    </getter>
-    <getter property="valid">
-      <constraint name="True" />
-    </getter>
-    <getter property="permissions">
-      <constraint name="True" />
-    </getter>
-  </class>
-
-  <class name="Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity">
-
-    <!-- GROUP SEQUENCE PROVIDER -->
-    <group-sequence-provider />
-
-  </class>
-</constraint-mapping>
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.yml b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.yml
deleted file mode 100644
index e96c5e0..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-namespaces:
-  custom: Symfony\Component\Validator\Tests\Fixtures\
-
-Symfony\Component\Validator\Tests\Fixtures\Entity:
-  group_sequence:
-    - Foo
-    - Entity
-
-  constraints:
-    # Custom constraint
-    - Symfony\Component\Validator\Tests\Fixtures\ConstraintA: ~
-    # Custom constraint with namespaces prefix
-    - "custom:ConstraintB": ~
-    # Callbacks
-    - Callback: validateMe
-    - Callback: validateMeStatic
-    - Callback: [Symfony\Component\Validator\Tests\Fixtures\CallbackClass, callback]
-
-  properties:
-    firstName:
-      # Constraint without value
-      - NotNull: ~
-      # Constraint with single value
-      - Range:
-          min: 3
-      # Constraint with multiple values
-      - Choice: [A, B]
-      # Constraint with child constraints
-      - All:
-          - NotNull: ~
-          - Range:
-              min: 3
-      # Option with child constraints
-      - All:
-          constraints:
-            - NotNull: ~
-            - Range:
-                min: 3
-      # Value with child constraints
-      - Collection:
-          fields:
-            foo:
-              - NotNull: ~
-              - Range:
-                  min: 3
-            bar:
-              - Range:
-                  min: 5
-      # Constraint with options
-      - Choice: { choices: [A, B], message: Must be one of %choices% }
-    dummy:
-
-  getters:
-    lastName:
-      - NotNull: ~
-    valid:
-      - "True": ~
-    permissions:
-      - "True": ~
-
-Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity:
-  group_sequence_provider: true
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/empty-mapping.yml b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/empty-mapping.yml
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/nonvalid-mapping.yml b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/nonvalid-mapping.yml
deleted file mode 100644
index 257cc56..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/nonvalid-mapping.yml
+++ /dev/null
@@ -1 +0,0 @@
-foo
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/withdoctype.xml b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/withdoctype.xml
deleted file mode 100644
index 0beacc3..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/withdoctype.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE foo>
-<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
-  <class name="Symfony\Component\Validator\Tests\Fixtures\Entity" />
-</constraint-mapping>
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php
deleted file mode 100644
index f91088d..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping;
-
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\Mapping\MemberMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\ClassConstraint;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
-
-class MemberMetadataTest extends \PHPUnit_Framework_TestCase
-{
-    protected $metadata;
-
-    protected function setUp()
-    {
-        $this->metadata = new TestMemberMetadata(
-            'Symfony\Component\Validator\Tests\Fixtures\Entity',
-            'getLastName',
-            'lastName'
-        );
-    }
-
-    protected function tearDown()
-    {
-        $this->metadata = null;
-    }
-
-    public function testAddValidSetsMemberToCascaded()
-    {
-        $result = $this->metadata->addConstraint(new Valid());
-
-        $this->assertEquals(array(), $this->metadata->getConstraints());
-        $this->assertEquals($result, $this->metadata);
-        $this->assertTrue($this->metadata->isCascaded());
-    }
-
-    public function testAddOtherConstraintDoesNotSetMemberToCascaded()
-    {
-        $result = $this->metadata->addConstraint($constraint = new ConstraintA());
-
-        $this->assertEquals(array($constraint), $this->metadata->getConstraints());
-        $this->assertEquals($result, $this->metadata);
-        $this->assertFalse($this->metadata->isCascaded());
-    }
-
-    public function testAddConstraintRequiresClassConstraints()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\ConstraintDefinitionException');
-
-        $this->metadata->addConstraint(new ClassConstraint());
-    }
-
-    public function testSerialize()
-    {
-        $this->metadata->addConstraint(new ConstraintA(array('property1' => 'A')));
-        $this->metadata->addConstraint(new ConstraintB(array('groups' => 'TestGroup')));
-
-        $metadata = unserialize(serialize($this->metadata));
-
-        $this->assertEquals($this->metadata, $metadata);
-    }
-
-    public function testSerializeCollectionCascaded()
-    {
-        $this->metadata->addConstraint(new Valid(array('traverse' => true, 'deep' => false)));
-
-        $metadata = unserialize(serialize($this->metadata));
-
-        $this->assertEquals($this->metadata, $metadata);
-    }
-
-    public function testSerializeCollectionCascadedDeeply()
-    {
-        $this->metadata->addConstraint(new Valid(array('traverse' => true, 'deep' => true)));
-
-        $metadata = unserialize(serialize($this->metadata));
-
-        $this->assertEquals($this->metadata, $metadata);
-    }
-
-    public function testSerializeCollectionNotCascaded()
-    {
-        $this->metadata->addConstraint(new Valid(array('traverse' => false)));
-
-        $metadata = unserialize(serialize($this->metadata));
-
-        $this->assertEquals($this->metadata, $metadata);
-    }
-}
-
-class TestMemberMetadata extends MemberMetadata
-{
-    public function getPropertyValue($object)
-    {
-    }
-
-    protected function newReflectionMember($object)
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/PropertyMetadataTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/PropertyMetadataTest.php
deleted file mode 100644
index f411d95..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/PropertyMetadataTest.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Mapping;
-
-use Symfony\Component\Validator\Mapping\PropertyMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\Entity;
-
-class PropertyMetadataTest extends \PHPUnit_Framework_TestCase
-{
-    const CLASSNAME = 'Symfony\Component\Validator\Tests\Fixtures\Entity';
-    const PARENTCLASS = 'Symfony\Component\Validator\Tests\Fixtures\EntityParent';
-
-    public function testInvalidPropertyName()
-    {
-        $this->setExpectedException('Symfony\Component\Validator\Exception\ValidatorException');
-
-        new PropertyMetadata(self::CLASSNAME, 'foobar');
-    }
-
-    public function testGetPropertyValueFromPrivateProperty()
-    {
-        $entity = new Entity('foobar');
-        $metadata = new PropertyMetadata(self::CLASSNAME, 'internal');
-
-        $this->assertEquals('foobar', $metadata->getPropertyValue($entity));
-    }
-
-    public function testGetPropertyValueFromOverriddenPrivateProperty()
-    {
-        $entity = new Entity('foobar');
-        $metadata = new PropertyMetadata(self::PARENTCLASS, 'data');
-
-        $this->assertTrue($metadata->isPublic($entity));
-        $this->assertEquals('Overridden data', $metadata->getPropertyValue($entity));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Util/PropertyPathTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Util/PropertyPathTest.php
deleted file mode 100644
index a8b9af9..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Util/PropertyPathTest.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Util;
-
-use Symfony\Component\Validator\Util\PropertyPath;
-
-class PropertyPathTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideAppendPaths
-     */
-    public function testAppend($basePath, $subPath, $expectedPath, $message)
-    {
-        $this->assertSame($expectedPath, PropertyPath::append($basePath, $subPath), $message);
-    }
-
-    public function provideAppendPaths()
-    {
-        return array(
-            array('foo', '', 'foo', 'It returns the basePath if subPath is empty'),
-            array('', 'bar', 'bar', 'It returns the subPath if basePath is empty'),
-            array('foo', 'bar', 'foo.bar', 'It append the subPath to the basePath'),
-            array('foo', '[bar]', 'foo[bar]', 'It does not include the dot separator if subPath uses the array notation'),
-            array('0', 'bar', '0.bar', 'Leading zeros are kept.'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php
deleted file mode 100644
index 684731f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php
+++ /dev/null
@@ -1,776 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Validator;
-
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\GroupSequence;
-use Symfony\Component\Validator\Constraints\NotNull;
-use Symfony\Component\Validator\Constraints\Traverse;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\ConstraintViolationInterface;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Tests\Fixtures\Entity;
-use Symfony\Component\Validator\Tests\Fixtures\FailingConstraint;
-use Symfony\Component\Validator\Tests\Fixtures\FakeClassMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\Reference;
-use Symfony\Component\Validator\Validator\ValidatorInterface;
-
-/**
- * Verifies that a validator satisfies the API of Symfony 2.5+.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class Abstract2Dot5ApiTest extends AbstractValidatorTest
-{
-    /**
-     * @var ValidatorInterface
-     */
-    protected $validator;
-
-    /**
-     * @param MetadataFactoryInterface $metadataFactory
-     *
-     * @return ValidatorInterface
-     */
-    abstract protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array());
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->validator = $this->createValidator($this->metadataFactory);
-    }
-
-    protected function validate($value, $constraints = null, $groups = null)
-    {
-        return $this->validator->validate($value, $constraints, $groups);
-    }
-
-    protected function validateProperty($object, $propertyName, $groups = null)
-    {
-        return $this->validator->validateProperty($object, $propertyName, $groups);
-    }
-
-    protected function validatePropertyValue($object, $propertyName, $value, $groups = null)
-    {
-        return $this->validator->validatePropertyValue($object, $propertyName, $value, $groups);
-    }
-
-    public function testValidateConstraintWithoutGroup()
-    {
-        $violations = $this->validator->validate(null, new NotNull());
-
-        $this->assertCount(1, $violations);
-    }
-
-    public function testGroupSequenceAbortsAfterFailedGroup()
-    {
-        $entity = new Entity();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message 1');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message 2');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => function () {},
-            'groups' => 'Group 1',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group 2',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 3',
-        )));
-
-        $sequence = new GroupSequence(array('Group 1', 'Group 2', 'Group 3'));
-        $violations = $this->validator->validate($entity, new Valid(), $sequence);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message 1', $violations[0]->getMessage());
-    }
-
-    public function testGroupSequenceIncludesReferences()
-    {
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Reference violation 1');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Reference violation 2');
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group 1',
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 2',
-        )));
-
-        $sequence = new GroupSequence(array('Group 1', 'Entity'));
-        $violations = $this->validator->validate($entity, new Valid(), $sequence);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Reference violation 1', $violations[0]->getMessage());
-    }
-
-    public function testValidateInSeparateContext()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $violations = $context
-                ->getValidator()
-                // Since the validator is not context aware, the group must
-                // be passed explicitly
-                ->validate($value->reference, new Valid(), 'Group')
-            ;
-
-            /** @var ConstraintViolationInterface[] $violations */
-            $test->assertCount(1, $violations);
-            $test->assertSame('Message value', $violations[0]->getMessage());
-            $test->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-            $test->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-            $test->assertSame('', $violations[0]->getPropertyPath());
-            // The root is different as we're in a new context
-            $test->assertSame($entity->reference, $violations[0]->getRoot());
-            $test->assertSame($entity->reference, $violations[0]->getInvalidValue());
-            $test->assertNull($violations[0]->getMessagePluralization());
-            $test->assertNull($violations[0]->getCode());
-
-            // Verify that this method is called
-            $context->addViolation('Separate violation');
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity->reference, $context->getRoot());
-            $test->assertSame($entity->reference, $context->getValue());
-            $test->assertSame($entity->reference, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validator->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $test->assertSame('Separate violation', $violations[0]->getMessage());
-    }
-
-    public function testValidateInContext()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test) {
-            $previousValue = $context->getValue();
-            $previousObject = $context->getObject();
-            $previousMetadata = $context->getMetadata();
-            $previousPath = $context->getPropertyPath();
-            $previousGroup = $context->getGroup();
-
-            $context
-                ->getValidator()
-                ->inContext($context)
-                ->atPath('subpath')
-                ->validate($value->reference)
-            ;
-
-            // context changes shouldn't leak out of the validate() call
-            $test->assertSame($previousValue, $context->getValue());
-            $test->assertSame($previousObject, $context->getObject());
-            $test->assertSame($previousMetadata, $context->getMetadata());
-            $test->assertSame($previousPath, $context->getPropertyPath());
-            $test->assertSame($previousGroup, $context->getGroup());
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('subpath', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference, $context->getValue());
-            $test->assertSame($entity->reference, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validator->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('subpath', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testValidateArrayInContext()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test) {
-            $previousValue = $context->getValue();
-            $previousObject = $context->getObject();
-            $previousMetadata = $context->getMetadata();
-            $previousPath = $context->getPropertyPath();
-            $previousGroup = $context->getGroup();
-
-            $context
-                ->getValidator()
-                ->inContext($context)
-                ->atPath('subpath')
-                ->validate(array('key' => $value->reference))
-            ;
-
-            // context changes shouldn't leak out of the validate() call
-            $test->assertSame($previousValue, $context->getValue());
-            $test->assertSame($previousObject, $context->getObject());
-            $test->assertSame($previousMetadata, $context->getMetadata());
-            $test->assertSame($previousPath, $context->getPropertyPath());
-            $test->assertSame($previousGroup, $context->getGroup());
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('subpath[key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference, $context->getValue());
-            $test->assertSame($entity->reference, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validator->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('subpath[key]', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testTraverseTraversableByDefault()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $traversable = new \ArrayIterator(array('key' => $entity));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity, $traversable) {
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('[key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->metadata, $context->getMetadata());
-            $test->assertSame($traversable, $context->getRoot());
-            $test->assertSame($entity, $context->getValue());
-            $test->assertSame($entity, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadataFactory->addMetadata(new ClassMetadata('ArrayIterator'));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($traversable, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('[key]', $violations[0]->getPropertyPath());
-        $this->assertSame($traversable, $violations[0]->getRoot());
-        $this->assertSame($entity, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testTraversalEnabledOnClass()
-    {
-        $entity = new Entity();
-        $traversable = new \ArrayIterator(array('key' => $entity));
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $traversableMetadata = new ClassMetadata('ArrayIterator');
-        $traversableMetadata->addConstraint(new Traverse(true));
-
-        $this->metadataFactory->addMetadata($traversableMetadata);
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($traversable, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    public function testTraversalDisabledOnClass()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $traversable = new \ArrayIterator(array('key' => $entity));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test) {
-            $test->fail('Should not be called');
-        };
-
-        $traversableMetadata = new ClassMetadata('ArrayIterator');
-        $traversableMetadata->addConstraint(new Traverse(false));
-
-        $this->metadataFactory->addMetadata($traversableMetadata);
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($traversable, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
-     */
-    public function testExpectTraversableIfTraversalEnabledOnClass()
-    {
-        $entity = new Entity();
-
-        $this->metadata->addConstraint(new Traverse(true));
-
-        $this->validator->validate($entity);
-    }
-
-    public function testReferenceTraversalDisabledOnClass()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array('key' => new Reference()));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test) {
-            $test->fail('Should not be called');
-        };
-
-        $traversableMetadata = new ClassMetadata('ArrayIterator');
-        $traversableMetadata->addConstraint(new Traverse(false));
-
-        $this->metadataFactory->addMetadata($traversableMetadata);
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-
-        $violations = $this->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    public function testReferenceTraversalEnabledOnReferenceDisabledOnClass()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array('key' => new Reference()));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test) {
-            $test->fail('Should not be called');
-        };
-
-        $traversableMetadata = new ClassMetadata('ArrayIterator');
-        $traversableMetadata->addConstraint(new Traverse(false));
-
-        $this->metadataFactory->addMetadata($traversableMetadata);
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'traverse' => true,
-        )));
-
-        $violations = $this->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    public function testReferenceTraversalDisabledOnReferenceEnabledOnClass()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array('key' => new Reference()));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test) {
-            $test->fail('Should not be called');
-        };
-
-        $traversableMetadata = new ClassMetadata('ArrayIterator');
-        $traversableMetadata->addConstraint(new Traverse(true));
-
-        $this->metadataFactory->addMetadata($traversableMetadata);
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'traverse' => false,
-        )));
-
-        $violations = $this->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    public function testReferenceTraversalRecursionEnabledOnReferenceTraversalEnabledOnClass()
-    {
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array(
-            2 => new \ArrayIterator(array('key' => new Reference())),
-        ));
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $traversableMetadata = new ClassMetadata('ArrayIterator');
-        $traversableMetadata->addConstraint(new Traverse(true));
-
-        $this->metadataFactory->addMetadata($traversableMetadata);
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'deep' => true,
-        )));
-
-        $violations = $this->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    public function testReferenceTraversalRecursionDisabledOnReferenceTraversalEnabledOnClass()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array(
-            2 => new \ArrayIterator(array('key' => new Reference())),
-        ));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test) {
-            $test->fail('Should not be called');
-        };
-
-        $traversableMetadata = new ClassMetadata('ArrayIterator');
-        $traversableMetadata->addConstraint(new Traverse(true));
-
-        $this->metadataFactory->addMetadata($traversableMetadata);
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'deep' => false,
-        )));
-
-        $violations = $this->validate($entity, new Valid(), 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    public function testAddCustomizedViolation()
-    {
-        $entity = new Entity();
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->buildViolation('Message %param%')
-                ->setParameter('%param%', 'value')
-                ->setInvalidValue('Invalid value')
-                ->setPlural(2)
-                ->setCode(42)
-                ->addViolation();
-        };
-
-        $this->metadata->addConstraint(new Callback($callback));
-
-        $violations = $this->validator->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Invalid value', $violations[0]->getInvalidValue());
-        $this->assertSame(2, $violations[0]->getMessagePluralization());
-        $this->assertSame(42, $violations[0]->getCode());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnsupportedMetadataException
-     */
-    public function testMetadataMustImplementClassMetadataInterface()
-    {
-        $entity = new Entity();
-
-        $metadata = $this->getMock('Symfony\Component\Validator\Tests\Fixtures\LegacyClassMetadata');
-        $metadata->expects($this->any())
-            ->method('getClassName')
-            ->will($this->returnValue(get_class($entity)));
-
-        $this->metadataFactory->addMetadata($metadata);
-
-        $this->validator->validate($entity);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnsupportedMetadataException
-     */
-    public function testReferenceMetadataMustImplementClassMetadataInterface()
-    {
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $metadata = $this->getMock('Symfony\Component\Validator\Tests\Fixtures\LegacyClassMetadata');
-        $metadata->expects($this->any())
-            ->method('getClassName')
-            ->will($this->returnValue(get_class($entity->reference)));
-
-        $this->metadataFactory->addMetadata($metadata);
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-
-        $this->validator->validate($entity);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\UnsupportedMetadataException
-     * @group legacy
-     */
-    public function testLegacyPropertyMetadataMustImplementPropertyMetadataInterface()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $entity = new Entity();
-
-        // Legacy interface
-        $propertyMetadata = $this->getMock('Symfony\Component\Validator\MetadataInterface');
-        $metadata = new FakeClassMetadata(get_class($entity));
-        $metadata->addCustomPropertyMetadata('firstName', $propertyMetadata);
-
-        $this->metadataFactory->addMetadata($metadata);
-
-        $this->validator->validate($entity);
-    }
-
-    public function testNoDuplicateValidationIfClassConstraintInMultipleGroups()
-    {
-        $entity = new Entity();
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => array('Group 1', 'Group 2'),
-        )));
-
-        $violations = $this->validator->validate($entity, new Valid(), array('Group 1', 'Group 2'));
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    public function testNoDuplicateValidationIfPropertyConstraintInMultipleGroups()
-    {
-        $entity = new Entity();
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $this->metadata->addPropertyConstraint('firstName', new Callback(array(
-            'callback' => $callback,
-            'groups' => array('Group 1', 'Group 2'),
-        )));
-
-        $violations = $this->validator->validate($entity, new Valid(), array('Group 1', 'Group 2'));
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\RuntimeException
-     */
-    public function testValidateFailsIfNoConstraintsAndNoObjectOrArray()
-    {
-        $this->validate('Foobar');
-    }
-
-    public function testAccessCurrentObject()
-    {
-        $test = $this;
-        $called = false;
-        $entity = new Entity();
-        $entity->firstName = 'Bernhard';
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity, &$called) {
-            $called = true;
-            $test->assertSame($entity, $context->getObject());
-        };
-
-        $this->metadata->addConstraint(new Callback($callback));
-        $this->metadata->addPropertyConstraint('firstName', new Callback($callback));
-
-        $this->validator->validate($entity);
-
-        $this->assertTrue($called);
-    }
-
-    public function testInitializeObjectsOnFirstValidation()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->initialized = false;
-
-        // prepare initializers that set "initialized" to true
-        $initializer1 = $this->getMock('Symfony\\Component\\Validator\\ObjectInitializerInterface');
-        $initializer2 = $this->getMock('Symfony\\Component\\Validator\\ObjectInitializerInterface');
-
-        $initializer1->expects($this->once())
-            ->method('initialize')
-            ->with($entity)
-            ->will($this->returnCallback(function ($object) {
-                $object->initialized = true;
-            }));
-
-        $initializer2->expects($this->once())
-            ->method('initialize')
-            ->with($entity);
-
-        $this->validator = $this->createValidator($this->metadataFactory, array(
-            $initializer1,
-            $initializer2,
-        ));
-
-        // prepare constraint which
-        // * checks that "initialized" is set to true
-        // * validates the object again
-        $callback = function ($object, ExecutionContextInterface $context) use ($test) {
-            $test->assertTrue($object->initialized);
-
-            // validate again in same group
-            $validator = $context->getValidator()->inContext($context);
-
-            $validator->validate($object);
-
-            // validate again in other group
-            $validator->validate($object, null, 'SomeGroup');
-        };
-
-        $this->metadata->addConstraint(new Callback($callback));
-
-        $this->validate($entity);
-
-        $this->assertTrue($entity->initialized);
-    }
-
-    public function testPassConstraintToViolation()
-    {
-        $constraint = new FailingConstraint();
-        $violations = $this->validate('Foobar', $constraint);
-
-        $this->assertCount(1, $violations);
-        $this->assertSame($constraint, $violations[0]->getConstraint());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php
deleted file mode 100644
index a4c1fe8..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php
+++ /dev/null
@@ -1,315 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Validator;
-
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\ConstraintViolationInterface;
-use Symfony\Component\Validator\ExecutionContextInterface;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Tests\Fixtures\Entity;
-use Symfony\Component\Validator\Tests\Fixtures\Reference;
-use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface;
-
-/**
- * Verifies that a validator satisfies the API of Symfony < 2.5.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class AbstractLegacyApiTest extends AbstractValidatorTest
-{
-    /**
-     * @var LegacyValidatorInterface
-     */
-    protected $validator;
-
-    /**
-     * @param MetadataFactoryInterface $metadataFactory
-     *
-     * @return LegacyValidatorInterface
-     */
-    abstract protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array());
-
-    protected function setUp()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        parent::setUp();
-
-        $this->validator = $this->createValidator($this->metadataFactory);
-    }
-
-    protected function validate($value, $constraints = null, $groups = null)
-    {
-        if (null === $constraints) {
-            $constraints = new Valid();
-        }
-
-        if ($constraints instanceof Valid) {
-            return $this->validator->validate($value, $groups, $constraints->traverse, $constraints->deep);
-        }
-
-        return $this->validator->validateValue($value, $constraints, $groups);
-    }
-
-    protected function validateProperty($object, $propertyName, $groups = null)
-    {
-        return $this->validator->validateProperty($object, $propertyName, $groups);
-    }
-
-    protected function validatePropertyValue($object, $propertyName, $value, $groups = null)
-    {
-        return $this->validator->validatePropertyValue($object, $propertyName, $value, $groups);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\NoSuchMetadataException
-     */
-    public function testTraversableTraverseDisabled()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $traversable = new \ArrayIterator(array('key' => $entity));
-
-        $callback = function () use ($test) {
-            $test->fail('Should not be called');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $this->validator->validate($traversable, 'Group');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\NoSuchMetadataException
-     */
-    public function testRecursiveTraversableRecursiveTraversalDisabled()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $traversable = new \ArrayIterator(array(
-            2 => new \ArrayIterator(array('key' => $entity)),
-        ));
-
-        $callback = function () use ($test) {
-            $test->fail('Should not be called');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $this->validator->validate($traversable, 'Group');
-    }
-
-    public function testValidateInContext()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test) {
-            $previousValue = $context->getValue();
-            $previousMetadata = $context->getMetadata();
-            $previousPath = $context->getPropertyPath();
-            $previousGroup = $context->getGroup();
-
-            $context->validate($value->reference, 'subpath');
-
-            // context changes shouldn't leak out of the validate() call
-            $test->assertSame($previousValue, $context->getValue());
-            $test->assertSame($previousMetadata, $context->getMetadata());
-            $test->assertSame($previousPath, $context->getPropertyPath());
-            $test->assertSame($previousGroup, $context->getGroup());
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('subpath', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($test->metadataFactory, $context->getMetadataFactory());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference, $context->getValue());
-            $test->assertSame($entity->reference, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validator->validate($entity, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('subpath', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testValidateArrayInContext()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test) {
-            $previousValue = $context->getValue();
-            $previousMetadata = $context->getMetadata();
-            $previousPath = $context->getPropertyPath();
-            $previousGroup = $context->getGroup();
-
-            $context->validate(array('key' => $value->reference), 'subpath');
-
-            // context changes shouldn't leak out of the validate() call
-            $test->assertSame($previousValue, $context->getValue());
-            $test->assertSame($previousMetadata, $context->getMetadata());
-            $test->assertSame($previousPath, $context->getPropertyPath());
-            $test->assertSame($previousGroup, $context->getGroup());
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('subpath[key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($test->metadataFactory, $context->getMetadataFactory());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference, $context->getValue());
-            $test->assertSame($entity->reference, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validator->validate($entity, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('subpath[key]', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testAddCustomizedViolation()
-    {
-        $entity = new Entity();
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation(
-                'Message %param%',
-                array('%param%' => 'value'),
-                'Invalid value',
-                2,
-                'Code'
-            );
-        };
-
-        $this->metadata->addConstraint(new Callback($callback));
-
-        $violations = $this->validator->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Invalid value', $violations[0]->getInvalidValue());
-        $this->assertSame(2, $violations[0]->getMessagePluralization());
-        $this->assertSame('Code', $violations[0]->getCode());
-    }
-
-    public function testInitializeObjectsOnFirstValidation()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->initialized = false;
-
-        // prepare initializers that set "initialized" to true
-        $initializer1 = $this->getMock('Symfony\\Component\\Validator\\ObjectInitializerInterface');
-        $initializer2 = $this->getMock('Symfony\\Component\\Validator\\ObjectInitializerInterface');
-
-        $initializer1->expects($this->once())
-            ->method('initialize')
-            ->with($entity)
-            ->will($this->returnCallback(function ($object) {
-                $object->initialized = true;
-            }));
-
-        $initializer2->expects($this->once())
-            ->method('initialize')
-            ->with($entity);
-
-        $this->validator = $this->createValidator($this->metadataFactory, array(
-            $initializer1,
-            $initializer2,
-        ));
-
-        // prepare constraint which
-        // * checks that "initialized" is set to true
-        // * validates the object again
-        $callback = function ($object, ExecutionContextInterface $context) use ($test) {
-            $test->assertTrue($object->initialized);
-
-            // validate again in same group
-            $context->validate($object);
-
-            // validate again in other group
-            $context->validate($object, '', 'SomeGroup');
-        };
-
-        $this->metadata->addConstraint(new Callback($callback));
-
-        $this->validate($entity);
-
-        $this->assertTrue($entity->initialized);
-    }
-
-    public function testGetMetadataFactory()
-    {
-        $this->assertSame($this->metadataFactory, $this->validator->getMetadataFactory());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php
deleted file mode 100644
index b1c4edb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php
+++ /dev/null
@@ -1,1288 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Validator;
-
-use Symfony\Component\Validator\Constraints\Callback;
-use Symfony\Component\Validator\Constraints\GroupSequence;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\ConstraintViolationInterface;
-use Symfony\Component\Validator\ExecutionContextInterface;
-use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Tests\Fixtures\Entity;
-use Symfony\Component\Validator\Tests\Fixtures\FakeMetadataFactory;
-use Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity;
-use Symfony\Component\Validator\Tests\Fixtures\Reference;
-
-/**
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-abstract class AbstractValidatorTest extends \PHPUnit_Framework_TestCase
-{
-    const ENTITY_CLASS = 'Symfony\Component\Validator\Tests\Fixtures\Entity';
-
-    const REFERENCE_CLASS = 'Symfony\Component\Validator\Tests\Fixtures\Reference';
-
-    /**
-     * @var FakeMetadataFactory
-     */
-    public $metadataFactory;
-
-    /**
-     * @var ClassMetadata
-     */
-    public $metadata;
-
-    /**
-     * @var ClassMetadata
-     */
-    public $referenceMetadata;
-
-    protected function setUp()
-    {
-        $this->metadataFactory = new FakeMetadataFactory();
-        $this->metadata = new ClassMetadata(self::ENTITY_CLASS);
-        $this->referenceMetadata = new ClassMetadata(self::REFERENCE_CLASS);
-        $this->metadataFactory->addMetadata($this->metadata);
-        $this->metadataFactory->addMetadata($this->referenceMetadata);
-    }
-
-    protected function tearDown()
-    {
-        $this->metadataFactory = null;
-        $this->metadata = null;
-        $this->referenceMetadata = null;
-    }
-
-    abstract protected function validate($value, $constraints = null, $groups = null);
-
-    abstract protected function validateProperty($object, $propertyName, $groups = null);
-
-    abstract protected function validatePropertyValue($object, $propertyName, $value, $groups = null);
-
-    public function testValidate()
-    {
-        $test = $this;
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test) {
-            $test->assertNull($context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame('Bernhard', $context->getRoot());
-            $test->assertSame('Bernhard', $context->getValue());
-            $test->assertSame('Bernhard', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $constraint = new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        ));
-
-        $violations = $this->validate('Bernhard', $constraint, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('', $violations[0]->getPropertyPath());
-        $this->assertSame('Bernhard', $violations[0]->getRoot());
-        $this->assertSame('Bernhard', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testClassConstraint()
-    {
-        $test = $this;
-        $entity = new Entity();
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->metadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity, $context->getValue());
-            $test->assertSame($entity, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testPropertyConstraint()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->firstName = 'Bernhard';
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $propertyMetadatas = $test->metadata->getPropertyMetadata('firstName');
-
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertSame('firstName', $context->getPropertyName());
-            $test->assertSame('firstName', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($propertyMetadatas[0], $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame('Bernhard', $context->getValue());
-            $test->assertSame('Bernhard', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('firstName', new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('firstName', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Bernhard', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testGetterConstraint()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->setLastName('Schussek');
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $propertyMetadatas = $test->metadata->getPropertyMetadata('lastName');
-
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertSame('lastName', $context->getPropertyName());
-            $test->assertSame('lastName', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($propertyMetadatas[0], $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame('Schussek', $context->getValue());
-            $test->assertSame('Schussek', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addGetterConstraint('lastName', new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('lastName', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Schussek', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testArray()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $array = array('key' => $entity);
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity, $array) {
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('[key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->metadata, $context->getMetadata());
-            $test->assertSame($array, $context->getRoot());
-            $test->assertSame($entity, $context->getValue());
-            $test->assertSame($entity, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($array, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('[key]', $violations[0]->getPropertyPath());
-        $this->assertSame($array, $violations[0]->getRoot());
-        $this->assertSame($entity, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testRecursiveArray()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $array = array(2 => array('key' => $entity));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity, $array) {
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('[2][key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->metadata, $context->getMetadata());
-            $test->assertSame($array, $context->getRoot());
-            $test->assertSame($entity, $context->getValue());
-            $test->assertSame($entity, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($array, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('[2][key]', $violations[0]->getPropertyPath());
-        $this->assertSame($array, $violations[0]->getRoot());
-        $this->assertSame($entity, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testTraversable()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $traversable = new \ArrayIterator(array('key' => $entity));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity, $traversable) {
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('[key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->metadata, $context->getMetadata());
-            $test->assertSame($traversable, $context->getRoot());
-            $test->assertSame($entity, $context->getValue());
-            $test->assertSame($entity, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($traversable, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('[key]', $violations[0]->getPropertyPath());
-        $this->assertSame($traversable, $violations[0]->getRoot());
-        $this->assertSame($entity, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testRecursiveTraversable()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $traversable = new \ArrayIterator(array(
-            2 => new \ArrayIterator(array('key' => $entity)),
-        ));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity, $traversable) {
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('[2][key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->metadata, $context->getMetadata());
-            $test->assertSame($traversable, $context->getRoot());
-            $test->assertSame($entity, $context->getValue());
-            $test->assertSame($entity, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($traversable, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('[2][key]', $violations[0]->getPropertyPath());
-        $this->assertSame($traversable, $violations[0]->getRoot());
-        $this->assertSame($entity, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testReferenceClassConstraint()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('reference', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference, $context->getValue());
-            $test->assertSame($entity->reference, $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('reference', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference, $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testReferencePropertyConstraint()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-        $entity->reference->value = 'Foobar';
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $propertyMetadatas = $test->referenceMetadata->getPropertyMetadata('value');
-
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertSame('value', $context->getPropertyName());
-            $test->assertSame('reference.value', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($propertyMetadatas[0], $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame('Foobar', $context->getValue());
-            $test->assertSame('Foobar', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addPropertyConstraint('value', new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('reference.value', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Foobar', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testReferenceGetterConstraint()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new Reference();
-        $entity->reference->setPrivateValue('Bamboo');
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $propertyMetadatas = $test->referenceMetadata->getPropertyMetadata('privateValue');
-
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertSame('privateValue', $context->getPropertyName());
-            $test->assertSame('reference.privateValue', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($propertyMetadatas[0], $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame('Bamboo', $context->getValue());
-            $test->assertSame('Bamboo', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addPropertyConstraint('privateValue', new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('reference.privateValue', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Bamboo', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testsIgnoreNullReference()
-    {
-        $entity = new Entity();
-        $entity->reference = null;
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\NoSuchMetadataException
-     */
-    public function testFailOnScalarReferences()
-    {
-        $entity = new Entity();
-        $entity->reference = 'string';
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-
-        $this->validate($entity);
-    }
-
-    public function testArrayReference()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = array('key' => new Reference());
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('reference[key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference['key'], $context->getValue());
-            $test->assertSame($entity->reference['key'], $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('reference[key]', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference['key'], $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    // https://github.com/symfony/symfony/issues/6246
-    public function testRecursiveArrayReference()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = array(2 => array('key' => new Reference()));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('reference[2][key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference[2]['key'], $context->getValue());
-            $test->assertSame($entity->reference[2]['key'], $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('reference[2][key]', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference[2]['key'], $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testArrayTraversalCannotBeDisabled()
-    {
-        $entity = new Entity();
-        $entity->reference = array('key' => new Reference());
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'traverse' => false,
-        )));
-        $this->referenceMetadata->addConstraint(new Callback($callback));
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    public function testRecursiveArrayTraversalCannotBeDisabled()
-    {
-        $entity = new Entity();
-        $entity->reference = array(2 => array('key' => new Reference()));
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'traverse' => false,
-        )));
-        $this->referenceMetadata->addConstraint(new Callback($callback));
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    public function testIgnoreScalarsDuringArrayTraversal()
-    {
-        $entity = new Entity();
-        $entity->reference = array('string', 1234);
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    public function testIgnoreNullDuringArrayTraversal()
-    {
-        $entity = new Entity();
-        $entity->reference = array(null);
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    public function testTraversableReference()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array('key' => new Reference()));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('reference[key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference['key'], $context->getValue());
-            $test->assertSame($entity->reference['key'], $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('reference[key]', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference['key'], $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testDisableTraversableTraversal()
-    {
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array('key' => new Reference()));
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadataFactory->addMetadata(new ClassMetadata('ArrayIterator'));
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'traverse' => false,
-        )));
-        $this->referenceMetadata->addConstraint(new Callback($callback));
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(0, $violations);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\NoSuchMetadataException
-     */
-    public function testMetadataMustExistIfTraversalIsDisabled()
-    {
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator();
-
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'traverse' => false,
-        )));
-
-        $this->validate($entity);
-    }
-
-    public function testEnableRecursiveTraversableTraversal()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->reference = new \ArrayIterator(array(
-            2 => new \ArrayIterator(array('key' => new Reference())),
-        ));
-
-        $callback = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $test->assertSame($test::REFERENCE_CLASS, $context->getClassName());
-            $test->assertNull($context->getPropertyName());
-            $test->assertSame('reference[2][key]', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($test->referenceMetadata, $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame($entity->reference[2]['key'], $context->getValue());
-            $test->assertSame($entity->reference[2]['key'], $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid(array(
-            'deep' => true,
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('reference[2][key]', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame($entity->reference[2]['key'], $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testValidateProperty()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->firstName = 'Bernhard';
-        $entity->setLastName('Schussek');
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $propertyMetadatas = $test->metadata->getPropertyMetadata('firstName');
-
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertSame('firstName', $context->getPropertyName());
-            $test->assertSame('firstName', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($propertyMetadatas[0], $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame('Bernhard', $context->getValue());
-            $test->assertSame('Bernhard', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Other violation');
-        };
-
-        $this->metadata->addPropertyConstraint('firstName', new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('lastName', new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validateProperty($entity, 'firstName', 'Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('firstName', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Bernhard', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    /**
-     * Cannot be UnsupportedMetadataException for BC with Symfony < 2.5.
-     *
-     * @expectedException \Symfony\Component\Validator\Exception\ValidatorException
-     * @group legacy
-     */
-    public function testLegacyValidatePropertyFailsIfPropertiesNotSupported()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        // $metadata does not implement PropertyMetadataContainerInterface
-        $metadata = $this->getMock('Symfony\Component\Validator\MetadataInterface');
-
-        $this->metadataFactory->addMetadataForValue('VALUE', $metadata);
-
-        $this->validateProperty('VALUE', 'someProperty');
-    }
-
-    /**
-     * https://github.com/symfony/symfony/issues/11604
-     */
-    public function testValidatePropertyWithoutConstraints()
-    {
-        $entity = new Entity();
-        $violations = $this->validateProperty($entity, 'lastName');
-
-        $this->assertCount(0, $violations, '->validateProperty() returns no violations if no constraints have been configured for the property being validated');
-    }
-
-    public function testValidatePropertyValue()
-    {
-        $test = $this;
-        $entity = new Entity();
-        $entity->setLastName('Schussek');
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test, $entity) {
-            $propertyMetadatas = $test->metadata->getPropertyMetadata('firstName');
-
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertSame('firstName', $context->getPropertyName());
-            $test->assertSame('firstName', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($propertyMetadatas[0], $context->getMetadata());
-            $test->assertSame($entity, $context->getRoot());
-            $test->assertSame('Bernhard', $context->getValue());
-            $test->assertSame('Bernhard', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Other violation');
-        };
-
-        $this->metadata->addPropertyConstraint('firstName', new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('lastName', new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validatePropertyValue(
-            $entity,
-            'firstName',
-            'Bernhard',
-            'Group'
-        );
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('firstName', $violations[0]->getPropertyPath());
-        $this->assertSame($entity, $violations[0]->getRoot());
-        $this->assertSame('Bernhard', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    public function testValidatePropertyValueWithClassName()
-    {
-        $test = $this;
-
-        $callback1 = function ($value, ExecutionContextInterface $context) use ($test) {
-            $propertyMetadatas = $test->metadata->getPropertyMetadata('firstName');
-
-            $test->assertSame($test::ENTITY_CLASS, $context->getClassName());
-            $test->assertSame('firstName', $context->getPropertyName());
-            $test->assertSame('', $context->getPropertyPath());
-            $test->assertSame('Group', $context->getGroup());
-            $test->assertSame($propertyMetadatas[0], $context->getMetadata());
-            $test->assertSame('Bernhard', $context->getRoot());
-            $test->assertSame('Bernhard', $context->getValue());
-            $test->assertSame('Bernhard', $value);
-
-            $context->addViolation('Message %param%', array('%param%' => 'value'));
-        };
-
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Other violation');
-        };
-
-        $this->metadata->addPropertyConstraint('firstName', new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group',
-        )));
-        $this->metadata->addPropertyConstraint('lastName', new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group',
-        )));
-
-        $violations = $this->validatePropertyValue(
-            self::ENTITY_CLASS,
-            'firstName',
-            'Bernhard',
-            'Group'
-        );
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Message value', $violations[0]->getMessage());
-        $this->assertSame('Message %param%', $violations[0]->getMessageTemplate());
-        $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters());
-        $this->assertSame('', $violations[0]->getPropertyPath());
-        $this->assertSame('Bernhard', $violations[0]->getRoot());
-        $this->assertSame('Bernhard', $violations[0]->getInvalidValue());
-        $this->assertNull($violations[0]->getMessagePluralization());
-        $this->assertNull($violations[0]->getCode());
-    }
-
-    /**
-     * Cannot be UnsupportedMetadataException for BC with Symfony < 2.5.
-     *
-     * @expectedException \Symfony\Component\Validator\Exception\ValidatorException
-     * @group legacy
-     */
-    public function testLegacyValidatePropertyValueFailsIfPropertiesNotSupported()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        // $metadata does not implement PropertyMetadataContainerInterface
-        $metadata = $this->getMock('Symfony\Component\Validator\MetadataInterface');
-
-        $this->metadataFactory->addMetadataForValue('VALUE', $metadata);
-
-        $this->validatePropertyValue('VALUE', 'someProperty', 'someValue');
-    }
-
-    /**
-     * https://github.com/symfony/symfony/issues/11604
-     */
-    public function testValidatePropertyValueWithoutConstraints()
-    {
-        $entity = new Entity();
-        $violations = $this->validatePropertyValue($entity, 'lastName', 'foo');
-
-        $this->assertCount(0, $violations, '->validatePropertyValue() returns no violations if no constraints have been configured for the property being validated');
-    }
-
-    public function testValidateObjectOnlyOncePerGroup()
-    {
-        $entity = new Entity();
-        $entity->reference = new Reference();
-        $entity->reference2 = $entity->reference;
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->metadata->addPropertyConstraint('reference2', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback($callback));
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    public function testValidateDifferentObjectsSeparately()
-    {
-        $entity = new Entity();
-        $entity->reference = new Reference();
-        $entity->reference2 = new Reference();
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->metadata->addPropertyConstraint('reference2', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback($callback));
-
-        $violations = $this->validate($entity);
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(2, $violations);
-    }
-
-    public function testValidateSingleGroup()
-    {
-        $entity = new Entity();
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group 1',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group 2',
-        )));
-
-        $violations = $this->validate($entity, null, 'Group 2');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-    }
-
-    public function testValidateMultipleGroups()
-    {
-        $entity = new Entity();
-
-        $callback = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Message');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group 1',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback,
-            'groups' => 'Group 2',
-        )));
-
-        $violations = $this->validate($entity, null, array('Group 1', 'Group 2'));
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(2, $violations);
-    }
-
-    public function testReplaceDefaultGroupByGroupSequenceObject()
-    {
-        $entity = new Entity();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 2');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 3');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => function () {},
-            'groups' => 'Group 1',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group 2',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 3',
-        )));
-
-        $sequence = new GroupSequence(array('Group 1', 'Group 2', 'Group 3', 'Entity'));
-        $this->metadata->setGroupSequence($sequence);
-
-        $violations = $this->validate($entity, null, 'Default');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Violation in Group 2', $violations[0]->getMessage());
-    }
-
-    public function testReplaceDefaultGroupByGroupSequenceArray()
-    {
-        $entity = new Entity();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 2');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 3');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => function () {},
-            'groups' => 'Group 1',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group 2',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 3',
-        )));
-
-        $sequence = array('Group 1', 'Group 2', 'Group 3', 'Entity');
-        $this->metadata->setGroupSequence($sequence);
-
-        $violations = $this->validate($entity, null, 'Default');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Violation in Group 2', $violations[0]->getMessage());
-    }
-
-    public function testPropagateDefaultGroupToReferenceWhenReplacingDefaultGroup()
-    {
-        $entity = new Entity();
-        $entity->reference = new Reference();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Default group');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in group sequence');
-        };
-
-        $this->metadata->addPropertyConstraint('reference', new Valid());
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Default',
-        )));
-        $this->referenceMetadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 1',
-        )));
-
-        $sequence = new GroupSequence(array('Group 1', 'Entity'));
-        $this->metadata->setGroupSequence($sequence);
-
-        $violations = $this->validate($entity, null, 'Default');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Violation in Default group', $violations[0]->getMessage());
-    }
-
-    public function testValidateCustomGroupWhenDefaultGroupWasReplaced()
-    {
-        $entity = new Entity();
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in other group');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in group sequence');
-        };
-
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Other Group',
-        )));
-        $this->metadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 1',
-        )));
-
-        $sequence = new GroupSequence(array('Group 1', 'Entity'));
-        $this->metadata->setGroupSequence($sequence);
-
-        $violations = $this->validate($entity, null, 'Other Group');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Violation in other group', $violations[0]->getMessage());
-    }
-
-    public function testReplaceDefaultGroupWithObjectFromGroupSequenceProvider()
-    {
-        $sequence = new GroupSequence(array('Group 1', 'Group 2', 'Group 3', 'Entity'));
-        $entity = new GroupSequenceProviderEntity($sequence);
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 2');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 3');
-        };
-
-        $metadata = new ClassMetadata(get_class($entity));
-        $metadata->addConstraint(new Callback(array(
-            'callback' => function () {},
-            'groups' => 'Group 1',
-        )));
-        $metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group 2',
-        )));
-        $metadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 3',
-        )));
-        $metadata->setGroupSequenceProvider(true);
-
-        $this->metadataFactory->addMetadata($metadata);
-
-        $violations = $this->validate($entity, null, 'Default');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Violation in Group 2', $violations[0]->getMessage());
-    }
-
-    public function testReplaceDefaultGroupWithArrayFromGroupSequenceProvider()
-    {
-        $sequence = array('Group 1', 'Group 2', 'Group 3', 'Entity');
-        $entity = new GroupSequenceProviderEntity($sequence);
-
-        $callback1 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 2');
-        };
-        $callback2 = function ($value, ExecutionContextInterface $context) {
-            $context->addViolation('Violation in Group 3');
-        };
-
-        $metadata = new ClassMetadata(get_class($entity));
-        $metadata->addConstraint(new Callback(array(
-            'callback' => function () {},
-            'groups' => 'Group 1',
-        )));
-        $metadata->addConstraint(new Callback(array(
-            'callback' => $callback1,
-            'groups' => 'Group 2',
-        )));
-        $metadata->addConstraint(new Callback(array(
-            'callback' => $callback2,
-            'groups' => 'Group 3',
-        )));
-        $metadata->setGroupSequenceProvider(true);
-
-        $this->metadataFactory->addMetadata($metadata);
-
-        $violations = $this->validate($entity, null, 'Default');
-
-        /** @var ConstraintViolationInterface[] $violations */
-        $this->assertCount(1, $violations);
-        $this->assertSame('Violation in Group 2', $violations[0]->getMessage());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php
deleted file mode 100644
index 624abd4..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Validator;
-
-use Symfony\Component\Validator\ConstraintValidatorFactory;
-use Symfony\Component\Validator\Context\LegacyExecutionContextFactory;
-use Symfony\Component\Validator\DefaultTranslator;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Validator\LegacyValidator;
-
-/**
- * @group legacy
- */
-class LegacyValidator2Dot5ApiTest extends Abstract2Dot5ApiTest
-{
-    protected function setUp()
-    {
-        if (PHP_VERSION_ID < 50309) {
-            $this->markTestSkipped('Not supported prior to PHP 5.3.9');
-        }
-
-        parent::setUp();
-    }
-
-    protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array())
-    {
-        $contextFactory = new LegacyExecutionContextFactory($metadataFactory, new DefaultTranslator());
-        $validatorFactory = new ConstraintValidatorFactory();
-
-        return new LegacyValidator($contextFactory, $metadataFactory, $validatorFactory, $objectInitializers);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidatorLegacyApiTest.php
deleted file mode 100644
index 965a769..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidatorLegacyApiTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Validator;
-
-use Symfony\Component\Validator\ConstraintValidatorFactory;
-use Symfony\Component\Validator\Context\LegacyExecutionContextFactory;
-use Symfony\Component\Validator\DefaultTranslator;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Validator\LegacyValidator;
-
-/**
- * @group legacy
- */
-class LegacyValidatorLegacyApiTest extends AbstractLegacyApiTest
-{
-    protected function setUp()
-    {
-        if (PHP_VERSION_ID < 50309) {
-            $this->markTestSkipped('Not supported prior to PHP 5.3.9');
-        }
-
-        parent::setUp();
-    }
-
-    protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array())
-    {
-        $contextFactory = new LegacyExecutionContextFactory($metadataFactory, new DefaultTranslator());
-        $validatorFactory = new ConstraintValidatorFactory();
-
-        return new LegacyValidator($contextFactory, $metadataFactory, $validatorFactory, $objectInitializers);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php
deleted file mode 100644
index 6235fda..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests\Validator;
-
-use Symfony\Component\Validator\ConstraintValidatorFactory;
-use Symfony\Component\Validator\Context\ExecutionContextFactory;
-use Symfony\Component\Validator\DefaultTranslator;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Validator\RecursiveValidator;
-
-class RecursiveValidator2Dot5ApiTest extends Abstract2Dot5ApiTest
-{
-    protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array())
-    {
-        $contextFactory = new ExecutionContextFactory(new DefaultTranslator());
-        $validatorFactory = new ConstraintValidatorFactory();
-
-        return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $objectInitializers);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php
deleted file mode 100644
index e2585d7..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests;
-
-use Symfony\Component\Validator\Validation;
-use Symfony\Component\Validator\ValidatorBuilder;
-use Symfony\Component\Validator\ValidatorBuilderInterface;
-
-class ValidatorBuilderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var ValidatorBuilderInterface
-     */
-    protected $builder;
-
-    protected function setUp()
-    {
-        $this->builder = new ValidatorBuilder();
-    }
-
-    protected function tearDown()
-    {
-        $this->builder = null;
-    }
-
-    public function testAddObjectInitializer()
-    {
-        $this->assertSame($this->builder, $this->builder->addObjectInitializer(
-            $this->getMock('Symfony\Component\Validator\ObjectInitializerInterface')
-        ));
-    }
-
-    public function testAddObjectInitializers()
-    {
-        $this->assertSame($this->builder, $this->builder->addObjectInitializers(array()));
-    }
-
-    public function testAddXmlMapping()
-    {
-        $this->assertSame($this->builder, $this->builder->addXmlMapping('mapping'));
-    }
-
-    public function testAddXmlMappings()
-    {
-        $this->assertSame($this->builder, $this->builder->addXmlMappings(array()));
-    }
-
-    public function testAddYamlMapping()
-    {
-        $this->assertSame($this->builder, $this->builder->addYamlMapping('mapping'));
-    }
-
-    public function testAddYamlMappings()
-    {
-        $this->assertSame($this->builder, $this->builder->addYamlMappings(array()));
-    }
-
-    public function testAddMethodMapping()
-    {
-        $this->assertSame($this->builder, $this->builder->addMethodMapping('mapping'));
-    }
-
-    public function testAddMethodMappings()
-    {
-        $this->assertSame($this->builder, $this->builder->addMethodMappings(array()));
-    }
-
-    public function testEnableAnnotationMapping()
-    {
-        $this->assertSame($this->builder, $this->builder->enableAnnotationMapping());
-    }
-
-    public function testDisableAnnotationMapping()
-    {
-        $this->assertSame($this->builder, $this->builder->disableAnnotationMapping());
-    }
-
-    public function testSetMetadataCache()
-    {
-        $this->assertSame($this->builder, $this->builder->setMetadataCache(
-            $this->getMock('Symfony\Component\Validator\Mapping\Cache\CacheInterface'))
-        );
-    }
-
-    public function testSetConstraintValidatorFactory()
-    {
-        $this->assertSame($this->builder, $this->builder->setConstraintValidatorFactory(
-            $this->getMock('Symfony\Component\Validator\ConstraintValidatorFactoryInterface'))
-        );
-    }
-
-    public function testSetTranslator()
-    {
-        $this->assertSame($this->builder, $this->builder->setTranslator(
-            $this->getMock('Symfony\Component\Translation\TranslatorInterface'))
-        );
-    }
-
-    public function testSetTranslationDomain()
-    {
-        $this->assertSame($this->builder, $this->builder->setTranslationDomain('TRANS_DOMAIN'));
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacyDefaultApiVersion()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        if (PHP_VERSION_ID < 50309) {
-            // Old implementation on PHP < 5.3.9
-            $this->assertInstanceOf('Symfony\Component\Validator\Validator', $this->builder->getValidator());
-        } else {
-            // Legacy compatible implementation on PHP >= 5.3.9
-            $this->assertInstanceOf('Symfony\Component\Validator\Validator\LegacyValidator', $this->builder->getValidator());
-        }
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacySetApiVersion24()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $this->assertSame($this->builder, $this->builder->setApiVersion(Validation::API_VERSION_2_4));
-        $this->assertInstanceOf('Symfony\Component\Validator\Validator', $this->builder->getValidator());
-    }
-
-    public function testSetApiVersion25()
-    {
-        $this->assertSame($this->builder, $this->builder->setApiVersion(Validation::API_VERSION_2_5));
-        $this->assertInstanceOf('Symfony\Component\Validator\Validator\RecursiveValidator', $this->builder->getValidator());
-    }
-
-    /**
-     * @group legacy
-     */
-    public function testLegacySetApiVersion24And25()
-    {
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        if (PHP_VERSION_ID < 50309) {
-            $this->markTestSkipped('Not supported prior to PHP 5.3.9');
-        }
-
-        $this->assertSame($this->builder, $this->builder->setApiVersion(Validation::API_VERSION_2_5_BC));
-        $this->assertInstanceOf('Symfony\Component\Validator\Validator\LegacyValidator', $this->builder->getValidator());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorTest.php
deleted file mode 100644
index 3cc36f5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorTest.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Tests;
-
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\ConstraintValidatorFactory;
-use Symfony\Component\Validator\DefaultTranslator;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\Tests\Fixtures\Entity;
-use Symfony\Component\Validator\Tests\Validator\AbstractLegacyApiTest;
-use Symfony\Component\Validator\Validator as LegacyValidator;
-
-class ValidatorTest extends AbstractLegacyApiTest
-{
-    protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array())
-    {
-        return new LegacyValidator($metadataFactory, new ConstraintValidatorFactory(), new DefaultTranslator(), 'validators', $objectInitializers);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Validator\Exception\ValidatorException
-     */
-    public function testValidateValueRejectsValid()
-    {
-        $this->validator->validateValue(new Entity(), new Valid());
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Util/PropertyPath.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Util/PropertyPath.php
deleted file mode 100644
index 3ef8a8b..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Util/PropertyPath.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Util;
-
-/**
- * Contains utility methods for dealing with property paths.
- *
- * For more extensive functionality, use Symfony's PropertyAccess component.
- *
- * @since  2.5
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class PropertyPath
-{
-    /**
-     * Appends a path to a given property path.
-     *
-     * If the base path is empty, the appended path will be returned unchanged.
-     * If the base path is not empty, and the appended path starts with a
-     * squared opening bracket ("["), the concatenation of the two paths is
-     * returned. Otherwise, the concatenation of the two paths is returned,
-     * separated by a dot (".").
-     *
-     * @param string $basePath The base path
-     * @param string $subPath  The path to append
-     *
-     * @return string The concatenation of the two property paths
-     */
-    public static function append($basePath, $subPath)
-    {
-        if ('' !== (string) $subPath) {
-            if ('[' === $subPath{0}) {
-                return $basePath.$subPath;
-            }
-
-            return '' !== (string) $basePath ? $basePath.'.'.$subPath : $subPath;
-        }
-
-        return $basePath;
-    }
-
-    /**
-     * Not instantiable.
-     */
-    private function __construct()
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validation.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validation.php
deleted file mode 100644
index b304dbb..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validation.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Entry point for the Validator component.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-final class Validation
-{
-    /**
-     * The Validator API provided by Symfony 2.4 and older.
-     */
-    const API_VERSION_2_4 = 1;
-
-    /**
-     * The Validator API provided by Symfony 2.5 and newer.
-     */
-    const API_VERSION_2_5 = 2;
-
-    /**
-     * The Validator API provided by Symfony 2.5 and newer with a backwards
-     * compatibility layer for 2.4 and older.
-     */
-    const API_VERSION_2_5_BC = 3;
-
-    /**
-     * Creates a new validator.
-     *
-     * If you want to configure the validator, use
-     * {@link createValidatorBuilder()} instead.
-     *
-     * @return ValidatorInterface The new validator.
-     */
-    public static function createValidator()
-    {
-        return self::createValidatorBuilder()->getValidator();
-    }
-
-    /**
-     * Creates a configurable builder for validator objects.
-     *
-     * @return ValidatorBuilderInterface The new builder.
-     */
-    public static function createValidatorBuilder()
-    {
-        return new ValidatorBuilder();
-    }
-
-    /**
-     * This class cannot be instantiated.
-     */
-    private function __construct()
-    {
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitor.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitor.php
deleted file mode 100644
index 3af8249..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitor.php
+++ /dev/null
@@ -1,210 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Exception\NoSuchMetadataException;
-use Symfony\Component\Validator\Exception\UnexpectedTypeException;
-
-/**
- * Default implementation of {@link ValidationVisitorInterface} and
- * {@link GlobalExecutionContextInterface}.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- */
-class ValidationVisitor implements ValidationVisitorInterface, GlobalExecutionContextInterface
-{
-    /**
-     * @var mixed
-     */
-    private $root;
-
-    /**
-     * @var MetadataFactoryInterface
-     */
-    private $metadataFactory;
-
-    /**
-     * @var ConstraintValidatorFactoryInterface
-     */
-    private $validatorFactory;
-
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * @var null|string
-     */
-    private $translationDomain;
-
-    /**
-     * @var array
-     */
-    private $objectInitializers;
-
-    /**
-     * @var ConstraintViolationList
-     */
-    private $violations;
-
-    /**
-     * @var array
-     */
-    private $validatedObjects = array();
-
-    /**
-     * Creates a new validation visitor.
-     *
-     * @param mixed                               $root               The value passed to the validator.
-     * @param MetadataFactoryInterface            $metadataFactory    The factory for obtaining metadata instances.
-     * @param ConstraintValidatorFactoryInterface $validatorFactory   The factory for creating constraint validators.
-     * @param TranslatorInterface                 $translator         The translator for translating violation messages.
-     * @param string|null                         $translationDomain  The domain of the translation messages.
-     * @param ObjectInitializerInterface[]        $objectInitializers The initializers for preparing objects before validation.
-     *
-     * @throws UnexpectedTypeException If any of the object initializers is not an instance of ObjectInitializerInterface
-     */
-    public function __construct($root, MetadataFactoryInterface $metadataFactory, ConstraintValidatorFactoryInterface $validatorFactory, TranslatorInterface $translator, $translationDomain = null, array $objectInitializers = array())
-    {
-        foreach ($objectInitializers as $initializer) {
-            if (!$initializer instanceof ObjectInitializerInterface) {
-                throw new UnexpectedTypeException($initializer, 'Symfony\Component\Validator\ObjectInitializerInterface');
-            }
-        }
-
-        $this->root = $root;
-        $this->metadataFactory = $metadataFactory;
-        $this->validatorFactory = $validatorFactory;
-        $this->translator = $translator;
-        $this->translationDomain = $translationDomain;
-        $this->objectInitializers = $objectInitializers;
-        $this->violations = new ConstraintViolationList();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function visit(MetadataInterface $metadata, $value, $group, $propertyPath)
-    {
-        $context = new ExecutionContext(
-            $this,
-            $this->translator,
-            $this->translationDomain,
-            $metadata,
-            $value,
-            $group,
-            $propertyPath
-        );
-
-        $context->validateValue($value, $metadata->findConstraints($group));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, $group, $propertyPath, $traverse = false, $deep = false)
-    {
-        if (null === $value) {
-            return;
-        }
-
-        if (is_object($value)) {
-            $hash = spl_object_hash($value);
-
-            // Exit, if the object is already validated for the current group
-            if (isset($this->validatedObjects[$hash][$group])) {
-                return;
-            }
-
-            // Initialize if the object wasn't initialized before
-            if (!isset($this->validatedObjects[$hash])) {
-                foreach ($this->objectInitializers as $initializer) {
-                    if (!$initializer instanceof ObjectInitializerInterface) {
-                        throw new \LogicException('Validator initializers must implement ObjectInitializerInterface.');
-                    }
-                    $initializer->initialize($value);
-                }
-            }
-
-            // Remember validating this object before starting and possibly
-            // traversing the object graph
-            $this->validatedObjects[$hash][$group] = true;
-        }
-
-        // Validate arrays recursively by default, otherwise every driver needs
-        // to implement special handling for arrays.
-        // https://github.com/symfony/symfony/issues/6246
-        if (is_array($value) || ($traverse && $value instanceof \Traversable)) {
-            foreach ($value as $key => $element) {
-                // Ignore any scalar values in the collection
-                if (is_object($element) || is_array($element)) {
-                    // Only repeat the traversal if $deep is set
-                    $this->validate($element, $group, $propertyPath.'['.$key.']', $deep, $deep);
-                }
-            }
-
-            try {
-                $this->metadataFactory->getMetadataFor($value)->accept($this, $value, $group, $propertyPath);
-            } catch (NoSuchMetadataException $e) {
-                // Metadata doesn't necessarily have to exist for
-                // traversable objects, because we know how to validate
-                // them anyway. Optionally, additional metadata is supported.
-            }
-        } else {
-            $this->metadataFactory->getMetadataFor($value)->accept($this, $value, $group, $propertyPath);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getViolations()
-    {
-        return $this->violations;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRoot()
-    {
-        return $this->root;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getVisitor()
-    {
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValidatorFactory()
-    {
-        return $this->validatorFactory;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFactory()
-    {
-        return $this->metadataFactory;
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitorInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitorInterface.php
deleted file mode 100644
index 483a1b5..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitorInterface.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Validates values against constraints defined in {@link MetadataInterface}
- * instances.
- *
- * This interface is an implementation of the Visitor design pattern. A value
- * is validated by first passing it to the {@link validate} method. That method
- * will determine the matching {@link MetadataInterface} for validating the
- * value. It then calls the {@link MetadataInterface::accept} method of that
- * metadata. <tt>accept()</tt> does two things:
- *
- * <ol>
- * <li>It calls {@link visit} to validate the value against the constraints of
- * the metadata.</li>
- * <li>It calls <tt>accept()</tt> on all nested metadata instances with the
- * corresponding values extracted from the current value. For example, if the
- * current metadata represents a class and the current value is an object of
- * that class, the metadata contains nested instances for each property of that
- * class. It forwards the call to these nested metadata with the values of the
- * corresponding properties in the original object.</li>
- * </ol>
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- */
-interface ValidationVisitorInterface
-{
-    /**
-     * Validates a value.
-     *
-     * If the value is an array or a traversable object, you can set the
-     * parameter <tt>$traverse</tt> to <tt>true</tt> in order to run through
-     * the collection and validate each element. If these elements can be
-     * collections again and you want to traverse them recursively, set the
-     * parameter <tt>$deep</tt> to <tt>true</tt> as well.
-     *
-     * If you set <tt>$traversable</tt> to <tt>true</tt>, the visitor will
-     * nevertheless try to find metadata for the collection and validate its
-     * constraints. If no such metadata is found, the visitor ignores that and
-     * only iterates the collection.
-     *
-     * If you don't set <tt>$traversable</tt> to <tt>true</tt> and the visitor
-     * does not find metadata for the given value, it will fail with an
-     * exception.
-     *
-     * @param mixed  $value        The value to validate.
-     * @param string $group        The validation group to validate.
-     * @param string $propertyPath The current property path in the validation graph.
-     * @param bool   $traverse     Whether to traverse the value if it is traversable.
-     * @param bool   $deep         Whether to traverse nested traversable values recursively.
-     *
-     * @throws Exception\NoSuchMetadataException If no metadata can be found for
-     *                                           the given value.
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     */
-    public function validate($value, $group, $propertyPath, $traverse = false, $deep = false);
-
-    /**
-     * Validates a value against the constraints defined in some metadata.
-     *
-     * This method implements the Visitor design pattern. See also
-     * {@link ValidationVisitorInterface}.
-     *
-     * @param MetadataInterface $metadata     The metadata holding the constraints.
-     * @param mixed             $value        The value to validate.
-     * @param string            $group        The validation group to validate.
-     * @param string            $propertyPath The current property path in the validation graph.
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     */
-    public function visit(MetadataInterface $metadata, $value, $group, $propertyPath);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validator.php
deleted file mode 100644
index 6edbb7a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator.php
+++ /dev/null
@@ -1,235 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\Exception\ValidatorException;
-
-/**
- * Default implementation of {@link ValidatorInterface}.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link Validator\RecursiveValidator} instead.
- */
-class Validator implements ValidatorInterface, Mapping\Factory\MetadataFactoryInterface
-{
-    /**
-     * @var MetadataFactoryInterface
-     */
-    private $metadataFactory;
-
-    /**
-     * @var ConstraintValidatorFactoryInterface
-     */
-    private $validatorFactory;
-
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * @var null|string
-     */
-    private $translationDomain;
-
-    /**
-     * @var array
-     */
-    private $objectInitializers;
-
-    public function __construct(
-        MetadataFactoryInterface $metadataFactory,
-        ConstraintValidatorFactoryInterface $validatorFactory,
-        TranslatorInterface $translator,
-        $translationDomain = 'validators',
-        array $objectInitializers = array()
-    ) {
-        $this->metadataFactory = $metadataFactory;
-        $this->validatorFactory = $validatorFactory;
-        $this->translator = $translator;
-        $this->translationDomain = $translationDomain;
-        $this->objectInitializers = $objectInitializers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFactory()
-    {
-        return $this->metadataFactory;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFor($value)
-    {
-        return $this->metadataFactory->getMetadataFor($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasMetadataFor($value)
-    {
-        return $this->metadataFactory->hasMetadataFor($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, $groups = null, $traverse = false, $deep = false)
-    {
-        $visitor = $this->createVisitor($value);
-
-        foreach ($this->resolveGroups($groups) as $group) {
-            $visitor->validate($value, $group, '', $traverse, $deep);
-        }
-
-        return $visitor->getViolations();
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @throws ValidatorException If the metadata for the value does not support properties.
-     */
-    public function validateProperty($containingValue, $property, $groups = null)
-    {
-        $visitor = $this->createVisitor($containingValue);
-        $metadata = $this->metadataFactory->getMetadataFor($containingValue);
-
-        if (!$metadata instanceof PropertyMetadataContainerInterface) {
-            $valueAsString = is_scalar($containingValue)
-                ? '"'.$containingValue.'"'
-                : 'the value of type '.gettype($containingValue);
-
-            throw new ValidatorException(sprintf('The metadata for %s does not support properties.', $valueAsString));
-        }
-
-        foreach ($this->resolveGroups($groups) as $group) {
-            if (!$metadata->hasPropertyMetadata($property)) {
-                continue;
-            }
-
-            foreach ($metadata->getPropertyMetadata($property) as $propMeta) {
-                $propMeta->accept($visitor, $propMeta->getPropertyValue($containingValue), $group, $property);
-            }
-        }
-
-        return $visitor->getViolations();
-    }
-
-    /**
-     * {@inheritdoc}
-     *
-     * @throws ValidatorException If the metadata for the value does not support properties.
-     */
-    public function validatePropertyValue($containingValue, $property, $value, $groups = null)
-    {
-        $visitor = $this->createVisitor(is_object($containingValue) ? $containingValue : $value);
-        $metadata = $this->metadataFactory->getMetadataFor($containingValue);
-
-        if (!$metadata instanceof PropertyMetadataContainerInterface) {
-            $valueAsString = is_scalar($containingValue)
-                ? '"'.$containingValue.'"'
-                : 'the value of type '.gettype($containingValue);
-
-            throw new ValidatorException(sprintf('The metadata for '.$valueAsString.' does not support properties.'));
-        }
-
-        // If $containingValue is passed as class name, take $value as root
-        // and start the traversal with an empty property path
-        $propertyPath = is_object($containingValue) ? $property : '';
-
-        foreach ($this->resolveGroups($groups) as $group) {
-            if (!$metadata->hasPropertyMetadata($property)) {
-                continue;
-            }
-
-            foreach ($metadata->getPropertyMetadata($property) as $propMeta) {
-                $propMeta->accept($visitor, $value, $group, $propertyPath);
-            }
-        }
-
-        return $visitor->getViolations();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validateValue($value, $constraints, $groups = null)
-    {
-        $context = new ExecutionContext($this->createVisitor($value), $this->translator, $this->translationDomain);
-
-        $constraints = is_array($constraints) ? $constraints : array($constraints);
-
-        foreach ($constraints as $constraint) {
-            if ($constraint instanceof Valid) {
-                // Why can't the Valid constraint be executed directly?
-                //
-                // It cannot be executed like regular other constraints, because regular
-                // constraints are only executed *if they belong to the validated group*.
-                // The Valid constraint, on the other hand, is always executed and propagates
-                // the group to the cascaded object. The propagated group depends on
-                //
-                //  * Whether a group sequence is currently being executed. Then the default
-                //    group is propagated.
-                //
-                //  * Otherwise the validated group is propagated.
-
-                throw new ValidatorException(
-                    sprintf(
-                        'The constraint %s cannot be validated. Use the method validate() instead.',
-                        get_class($constraint)
-                    )
-                );
-            }
-
-            $context->validateValue($value, $constraint, '', $groups);
-        }
-
-        return $context->getViolations();
-    }
-
-    /**
-     * @param mixed $root
-     *
-     * @return ValidationVisitor
-     */
-    private function createVisitor($root)
-    {
-        return new ValidationVisitor(
-            $root,
-            $this->metadataFactory,
-            $this->validatorFactory,
-            $this->translator,
-            $this->translationDomain,
-            $this->objectInitializers
-        );
-    }
-
-    /**
-     * @param null|string|string[] $groups
-     *
-     * @return string[]
-     */
-    private function resolveGroups($groups)
-    {
-        return $groups ? (array) $groups : array(Constraint::DEFAULT_GROUP);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ContextualValidatorInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ContextualValidatorInterface.php
deleted file mode 100644
index 767f895..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ContextualValidatorInterface.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Validator;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintViolationListInterface;
-
-/**
- * A validator in a specific execution context.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface ContextualValidatorInterface
-{
-    /**
-     * Appends the given path to the property path of the context.
-     *
-     * If called multiple times, the path will always be reset to the context's
-     * original path with the given path appended to it.
-     *
-     * @param string $path The path to append
-     *
-     * @return ContextualValidatorInterface This validator
-     */
-    public function atPath($path);
-
-    /**
-     * Validates a value against a constraint or a list of constraints.
-     *
-     * If no constraint is passed, the constraint
-     * {@link \Symfony\Component\Validator\Constraints\Valid} is assumed.
-     *
-     * @param mixed                   $value       The value to validate
-     * @param Constraint|Constraint[] $constraints The constraint(s) to validate
-     *                                             against
-     * @param array|null              $groups      The validation groups to
-     *                                             validate. If none is given,
-     *                                             "Default" is assumed
-     *
-     * @return ContextualValidatorInterface This validator
-     */
-    public function validate($value, $constraints = null, $groups = null);
-
-    /**
-     * Validates a property of an object against the constraints specified
-     * for this property.
-     *
-     * @param object     $object       The object
-     * @param string     $propertyName The name of the validated property
-     * @param array|null $groups       The validation groups to validate. If
-     *                                 none is given, "Default" is assumed
-     *
-     * @return ContextualValidatorInterface This validator
-     */
-    public function validateProperty($object, $propertyName, $groups = null);
-
-    /**
-     * Validates a value against the constraints specified for an object's
-     * property.
-     *
-     * @param object|string $objectOrClass The object or its class name
-     * @param string        $propertyName  The name of the property
-     * @param mixed         $value         The value to validate against the
-     *                                     property's constraints
-     * @param array|null    $groups        The validation groups to validate. If
-     *                                     none is given, "Default" is assumed
-     *
-     * @return ContextualValidatorInterface This validator
-     */
-    public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null);
-
-    /**
-     * Returns the violations that have been generated so far in the context
-     * of the validator.
-     *
-     * @return ConstraintViolationListInterface The constraint violations
-     */
-    public function getViolations();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/LegacyValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/LegacyValidator.php
deleted file mode 100644
index ce3501f..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/LegacyValidator.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Validator;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\GroupSequence;
-use Symfony\Component\Validator\Constraints\Valid;
-use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface;
-
-/**
- * A validator that supports both the API of Symfony < 2.5 and Symfony 2.5+.
- *
- * This class is incompatible with PHP versions < 5.3.9, because it implements
- * two different interfaces specifying the same method validate():
- *
- *   - {@link \Symfony\Component\Validator\ValidatorInterface}
- *   - {@link \Symfony\Component\Validator\Validator\ValidatorInterface}
- *
- * In PHP versions prior to 5.3.9, either use {@link RecursiveValidator} or the
- * deprecated class {@link \Symfony\Component\Validator\Validator} instead.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @see \Symfony\Component\Validator\ValidatorInterface
- * @see \Symfony\Component\Validator\Validator\ValidatorInterface
- *
- * @deprecated Implemented for backwards compatibility with Symfony < 2.5.
- *             To be removed in Symfony 3.0.
- */
-class LegacyValidator extends RecursiveValidator implements LegacyValidatorInterface
-{
-    public function validate($value, $groups = null, $traverse = false, $deep = false)
-    {
-        $numArgs = func_num_args();
-
-        // Use new signature if constraints are given in the second argument
-        if (self::testConstraints($groups) && ($numArgs < 3 || 3 === $numArgs && self::testGroups($traverse))) {
-            // Rename to avoid total confusion ;)
-            $constraints = $groups;
-            $groups = $traverse;
-
-            return parent::validate($value, $constraints, $groups);
-        }
-
-        $constraint = new Valid(array('traverse' => $traverse, 'deep' => $deep));
-
-        return parent::validate($value, $constraint, $groups);
-    }
-
-    public function validateValue($value, $constraints, $groups = null)
-    {
-        return parent::validate($value, $constraints, $groups);
-    }
-
-    public function getMetadataFactory()
-    {
-        return $this->metadataFactory;
-    }
-
-    private static function testConstraints($constraints)
-    {
-        return null === $constraints || $constraints instanceof Constraint || (is_array($constraints) && current($constraints) instanceof Constraint);
-    }
-
-    private static function testGroups($groups)
-    {
-        return null === $groups || is_string($groups) || $groups instanceof GroupSequence || (is_array($groups) && (is_string(current($groups)) || current($groups) instanceof GroupSequence));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php
deleted file mode 100644
index d632d05..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php
+++ /dev/null
@@ -1,865 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Validator;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\Constraints\GroupSequence;
-use Symfony\Component\Validator\ConstraintValidatorFactoryInterface;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\Exception\ConstraintDefinitionException;
-use Symfony\Component\Validator\Exception\NoSuchMetadataException;
-use Symfony\Component\Validator\Exception\RuntimeException;
-use Symfony\Component\Validator\Exception\UnsupportedMetadataException;
-use Symfony\Component\Validator\Exception\ValidatorException;
-use Symfony\Component\Validator\Mapping\CascadingStrategy;
-use Symfony\Component\Validator\Mapping\ClassMetadataInterface;
-use Symfony\Component\Validator\Mapping\GenericMetadata;
-use Symfony\Component\Validator\Mapping\MetadataInterface;
-use Symfony\Component\Validator\Mapping\PropertyMetadataInterface;
-use Symfony\Component\Validator\Mapping\TraversalStrategy;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\ObjectInitializerInterface;
-use Symfony\Component\Validator\Util\PropertyPath;
-
-/**
- * Recursive implementation of {@link ContextualValidatorInterface}.
- *
- * @since  2.5
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class RecursiveContextualValidator implements ContextualValidatorInterface
-{
-    /**
-     * @var ExecutionContextInterface
-     */
-    private $context;
-
-    /**
-     * @var MetadataFactoryInterface
-     */
-    private $metadataFactory;
-
-    /**
-     * @var ConstraintValidatorFactoryInterface
-     */
-    private $validatorFactory;
-
-    /**
-     * @var ObjectInitializerInterface[]
-     */
-    private $objectInitializers;
-
-    /**
-     * Creates a validator for the given context.
-     *
-     * @param ExecutionContextInterface           $context            The execution context
-     * @param MetadataFactoryInterface            $metadataFactory    The factory for
-     *                                                                fetching the metadata
-     *                                                                of validated objects
-     * @param ConstraintValidatorFactoryInterface $validatorFactory   The factory for creating
-     *                                                                constraint validators
-     * @param ObjectInitializerInterface[]        $objectInitializers The object initializers
-     */
-    public function __construct(ExecutionContextInterface $context, MetadataFactoryInterface $metadataFactory, ConstraintValidatorFactoryInterface $validatorFactory, array $objectInitializers = array())
-    {
-        $this->context = $context;
-        $this->defaultPropertyPath = $context->getPropertyPath();
-        $this->defaultGroups = array($context->getGroup() ?: Constraint::DEFAULT_GROUP);
-        $this->metadataFactory = $metadataFactory;
-        $this->validatorFactory = $validatorFactory;
-        $this->objectInitializers = $objectInitializers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function atPath($path)
-    {
-        $this->defaultPropertyPath = $this->context->getPropertyPath($path);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, $constraints = null, $groups = null)
-    {
-        $groups = $groups ? $this->normalizeGroups($groups) : $this->defaultGroups;
-
-        $previousValue = $this->context->getValue();
-        $previousObject = $this->context->getObject();
-        $previousMetadata = $this->context->getMetadata();
-        $previousPath = $this->context->getPropertyPath();
-        $previousGroup = $this->context->getGroup();
-
-        // If explicit constraints are passed, validate the value against
-        // those constraints
-        if (null !== $constraints) {
-            // You can pass a single constraint or an array of constraints
-            // Make sure to deal with an array in the rest of the code
-            if (!is_array($constraints)) {
-                $constraints = array($constraints);
-            }
-
-            $metadata = new GenericMetadata();
-            $metadata->addConstraints($constraints);
-
-            $this->validateGenericNode(
-                $value,
-                null,
-                is_object($value) ? spl_object_hash($value) : null,
-                $metadata,
-                $this->defaultPropertyPath,
-                $groups,
-                null,
-                TraversalStrategy::IMPLICIT,
-                $this->context
-            );
-
-            $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath);
-            $this->context->setGroup($previousGroup);
-
-            return $this;
-        }
-
-        // If an object is passed without explicit constraints, validate that
-        // object against the constraints defined for the object's class
-        if (is_object($value)) {
-            $this->validateObject(
-                $value,
-                $this->defaultPropertyPath,
-                $groups,
-                TraversalStrategy::IMPLICIT,
-                $this->context
-            );
-
-            $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath);
-            $this->context->setGroup($previousGroup);
-
-            return $this;
-        }
-
-        // If an array is passed without explicit constraints, validate each
-        // object in the array
-        if (is_array($value)) {
-            $this->validateEachObjectIn(
-                $value,
-                $this->defaultPropertyPath,
-                $groups,
-                true,
-                $this->context
-            );
-
-            $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath);
-            $this->context->setGroup($previousGroup);
-
-            return $this;
-        }
-
-        throw new RuntimeException(sprintf(
-            'Cannot validate values of type "%s" automatically. Please '.
-            'provide a constraint.',
-            gettype($value)
-        ));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validateProperty($object, $propertyName, $groups = null)
-    {
-        $classMetadata = $this->metadataFactory->getMetadataFor($object);
-
-        if (!$classMetadata instanceof ClassMetadataInterface) {
-            // Cannot be UnsupportedMetadataException because of BC with
-            // Symfony < 2.5
-            throw new ValidatorException(sprintf(
-                'The metadata factory should return instances of '.
-                '"\Symfony\Component\Validator\Mapping\ClassMetadataInterface", '.
-                'got: "%s".',
-                is_object($classMetadata) ? get_class($classMetadata) : gettype($classMetadata)
-            ));
-        }
-
-        $propertyMetadatas = $classMetadata->getPropertyMetadata($propertyName);
-        $groups = $groups ? $this->normalizeGroups($groups) : $this->defaultGroups;
-        $cacheKey = spl_object_hash($object);
-        $propertyPath = PropertyPath::append($this->defaultPropertyPath, $propertyName);
-
-        $previousValue = $this->context->getValue();
-        $previousObject = $this->context->getObject();
-        $previousMetadata = $this->context->getMetadata();
-        $previousPath = $this->context->getPropertyPath();
-        $previousGroup = $this->context->getGroup();
-
-        foreach ($propertyMetadatas as $propertyMetadata) {
-            $propertyValue = $propertyMetadata->getPropertyValue($object);
-
-            $this->validateGenericNode(
-                $propertyValue,
-                $object,
-                $cacheKey.':'.$propertyName,
-                $propertyMetadata,
-                $propertyPath,
-                $groups,
-                null,
-                TraversalStrategy::IMPLICIT,
-                $this->context
-            );
-        }
-
-        $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath);
-        $this->context->setGroup($previousGroup);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null)
-    {
-        $classMetadata = $this->metadataFactory->getMetadataFor($objectOrClass);
-
-        if (!$classMetadata instanceof ClassMetadataInterface) {
-            // Cannot be UnsupportedMetadataException because of BC with
-            // Symfony < 2.5
-            throw new ValidatorException(sprintf(
-                'The metadata factory should return instances of '.
-                '"\Symfony\Component\Validator\Mapping\ClassMetadataInterface", '.
-                'got: "%s".',
-                is_object($classMetadata) ? get_class($classMetadata) : gettype($classMetadata)
-            ));
-        }
-
-        $propertyMetadatas = $classMetadata->getPropertyMetadata($propertyName);
-        $groups = $groups ? $this->normalizeGroups($groups) : $this->defaultGroups;
-
-        if (is_object($objectOrClass)) {
-            $object = $objectOrClass;
-            $cacheKey = spl_object_hash($objectOrClass);
-            $propertyPath = PropertyPath::append($this->defaultPropertyPath, $propertyName);
-        } else {
-            // $objectOrClass contains a class name
-            $object = null;
-            $cacheKey = null;
-            $propertyPath = $this->defaultPropertyPath;
-        }
-
-        $previousValue = $this->context->getValue();
-        $previousObject = $this->context->getObject();
-        $previousMetadata = $this->context->getMetadata();
-        $previousPath = $this->context->getPropertyPath();
-        $previousGroup = $this->context->getGroup();
-
-        foreach ($propertyMetadatas as $propertyMetadata) {
-            $this->validateGenericNode(
-                $value,
-                $object,
-                $cacheKey.':'.$propertyName,
-                $propertyMetadata,
-                $propertyPath,
-                $groups,
-                null,
-                TraversalStrategy::IMPLICIT,
-                $this->context
-            );
-        }
-
-        $this->context->setNode($previousValue, $previousObject, $previousMetadata, $previousPath);
-        $this->context->setGroup($previousGroup);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getViolations()
-    {
-        return $this->context->getViolations();
-    }
-
-    /**
-     * Normalizes the given group or list of groups to an array.
-     *
-     * @param mixed $groups The groups to normalize
-     *
-     * @return array A group array
-     */
-    protected function normalizeGroups($groups)
-    {
-        if (is_array($groups)) {
-            return $groups;
-        }
-
-        return array($groups);
-    }
-    /**
-     * Validates an object against the constraints defined for its class.
-     *
-     * If no metadata is available for the class, but the class is an instance
-     * of {@link \Traversable} and the selected traversal strategy allows
-     * traversal, the object will be iterated and each nested object will be
-     * validated instead.
-     *
-     * @param object                    $object            The object to cascade
-     * @param string                    $propertyPath      The current property path
-     * @param string[]                  $groups            The validated groups
-     * @param int                       $traversalStrategy The strategy for traversing the
-     *                                                     cascaded object
-     * @param ExecutionContextInterface $context           The current execution context
-     *
-     * @throws NoSuchMetadataException      If the object has no associated metadata
-     *                                      and does not implement {@link \Traversable}
-     *                                      or if traversal is disabled via the
-     *                                      $traversalStrategy argument
-     * @throws UnsupportedMetadataException If the metadata returned by the
-     *                                      metadata factory does not implement
-     *                                      {@link ClassMetadataInterface}
-     */
-    private function validateObject($object, $propertyPath, array $groups, $traversalStrategy, ExecutionContextInterface $context)
-    {
-        try {
-            $classMetadata = $this->metadataFactory->getMetadataFor($object);
-
-            if (!$classMetadata instanceof ClassMetadataInterface) {
-                throw new UnsupportedMetadataException(sprintf(
-                    'The metadata factory should return instances of '.
-                    '"Symfony\Component\Validator\Mapping\ClassMetadataInterface", '.
-                    'got: "%s".',
-                    is_object($classMetadata) ? get_class($classMetadata) : gettype($classMetadata)
-                ));
-            }
-
-            $this->validateClassNode(
-                $object,
-                spl_object_hash($object),
-                $classMetadata,
-                $propertyPath,
-                $groups,
-                null,
-                $traversalStrategy,
-                $context
-            );
-        } catch (NoSuchMetadataException $e) {
-            // Rethrow if not Traversable
-            if (!$object instanceof \Traversable) {
-                throw $e;
-            }
-
-            // Rethrow unless IMPLICIT or TRAVERSE
-            if (!($traversalStrategy & (TraversalStrategy::IMPLICIT | TraversalStrategy::TRAVERSE))) {
-                throw $e;
-            }
-
-            $this->validateEachObjectIn(
-                $object,
-                $propertyPath,
-                $groups,
-                $traversalStrategy & TraversalStrategy::STOP_RECURSION,
-                $context
-            );
-        }
-    }
-
-    /**
-     * Validates each object in a collection against the constraints defined
-     * for their classes.
-     *
-     * If the parameter $recursive is set to true, nested {@link \Traversable}
-     * objects are iterated as well. Nested arrays are always iterated,
-     * regardless of the value of $recursive.
-     *
-     * @param array|\Traversable        $collection    The collection
-     * @param string                    $propertyPath  The current property path
-     * @param string[]                  $groups        The validated groups
-     * @param bool                      $stopRecursion Whether to disable
-     *                                                 recursive iteration. For
-     *                                                 backwards compatibility
-     *                                                 with Symfony < 2.5.
-     * @param ExecutionContextInterface $context       The current execution context
-     *
-     * @see ClassNode
-     * @see CollectionNode
-     */
-    private function validateEachObjectIn($collection, $propertyPath, array $groups, $stopRecursion, ExecutionContextInterface $context)
-    {
-        if ($stopRecursion) {
-            $traversalStrategy = TraversalStrategy::NONE;
-        } else {
-            $traversalStrategy = TraversalStrategy::IMPLICIT;
-        }
-
-        foreach ($collection as $key => $value) {
-            if (is_array($value)) {
-                // Arrays are always cascaded, independent of the specified
-                // traversal strategy
-                // (BC with Symfony < 2.5)
-                $this->validateEachObjectIn(
-                    $value,
-                    $propertyPath.'['.$key.']',
-                    $groups,
-                    $stopRecursion,
-                    $context
-                );
-
-                continue;
-            }
-
-            // Scalar and null values in the collection are ignored
-            // (BC with Symfony < 2.5)
-            if (is_object($value)) {
-                $this->validateObject(
-                    $value,
-                    $propertyPath.'['.$key.']',
-                    $groups,
-                    $traversalStrategy,
-                    $context
-                );
-            }
-        }
-    }
-
-    /**
-     * Validates a class node.
-     *
-     * A class node is a combination of an object with a {@link ClassMetadataInterface}
-     * instance. Each class node (conceptionally) has zero or more succeeding
-     * property nodes:
-     *
-     *     (Article:class node)
-     *                \
-     *        ($title:property node)
-     *
-     * This method validates the passed objects against all constraints defined
-     * at class level. It furthermore triggers the validation of each of the
-     * class' properties against the constraints for that property.
-     *
-     * If the selected traversal strategy allows traversal, the object is
-     * iterated and each nested object is validated against its own constraints.
-     * The object is not traversed if traversal is disabled in the class
-     * metadata.
-     *
-     * If the passed groups contain the group "Default", the validator will
-     * check whether the "Default" group has been replaced by a group sequence
-     * in the class metadata. If this is the case, the group sequence is
-     * validated instead.
-     *
-     * @param object                    $object            The validated object
-     * @param string                    $cacheKey          The key for caching
-     *                                                     the validated object
-     * @param ClassMetadataInterface    $metadata          The class metadata of
-     *                                                     the object
-     * @param string                    $propertyPath      The property path leading
-     *                                                     to the object
-     * @param string[]                  $groups            The groups in which the
-     *                                                     object should be validated
-     * @param string[]|null             $cascadedGroups    The groups in which
-     *                                                     cascaded objects should
-     *                                                     be validated
-     * @param int                       $traversalStrategy The strategy used for
-     *                                                     traversing the object
-     * @param ExecutionContextInterface $context           The current execution context
-     *
-     * @throws UnsupportedMetadataException  If a property metadata does not
-     *                                       implement {@link PropertyMetadataInterface}
-     * @throws ConstraintDefinitionException If traversal was enabled but the
-     *                                       object does not implement
-     *                                       {@link \Traversable}
-     *
-     * @see TraversalStrategy
-     */
-    private function validateClassNode($object, $cacheKey, ClassMetadataInterface $metadata = null, $propertyPath, array $groups, $cascadedGroups, $traversalStrategy, ExecutionContextInterface $context)
-    {
-        $context->setNode($object, $object, $metadata, $propertyPath);
-
-        if (!$context->isObjectInitialized($cacheKey)) {
-            foreach ($this->objectInitializers as $initializer) {
-                $initializer->initialize($object);
-            }
-
-            $context->markObjectAsInitialized($cacheKey);
-        }
-
-        foreach ($groups as $key => $group) {
-            // If the "Default" group is replaced by a group sequence, remember
-            // to cascade the "Default" group when traversing the group
-            // sequence
-            $defaultOverridden = false;
-
-            // Use the object hash for group sequences
-            $groupHash = is_object($group) ? spl_object_hash($group) : $group;
-
-            if ($context->isGroupValidated($cacheKey, $groupHash)) {
-                // Skip this group when validating the properties and when
-                // traversing the object
-                unset($groups[$key]);
-
-                continue;
-            }
-
-            $context->markGroupAsValidated($cacheKey, $groupHash);
-
-            // Replace the "Default" group by the group sequence defined
-            // for the class, if applicable.
-            // This is done after checking the cache, so that
-            // spl_object_hash() isn't called for this sequence and
-            // "Default" is used instead in the cache. This is useful
-            // if the getters below return different group sequences in
-            // every call.
-            if (Constraint::DEFAULT_GROUP === $group) {
-                if ($metadata->hasGroupSequence()) {
-                    // The group sequence is statically defined for the class
-                    $group = $metadata->getGroupSequence();
-                    $defaultOverridden = true;
-                } elseif ($metadata->isGroupSequenceProvider()) {
-                    // The group sequence is dynamically obtained from the validated
-                    // object
-                    /* @var \Symfony\Component\Validator\GroupSequenceProviderInterface $object */
-                    $group = $object->getGroupSequence();
-                    $defaultOverridden = true;
-
-                    if (!$group instanceof GroupSequence) {
-                        $group = new GroupSequence($group);
-                    }
-                }
-            }
-
-            // If the groups (=[<G1,G2>,G3,G4]) contain a group sequence
-            // (=<G1,G2>), then call validateClassNode() with each entry of the
-            // group sequence and abort if necessary (G1, G2)
-            if ($group instanceof GroupSequence) {
-                $this->stepThroughGroupSequence(
-                     $object,
-                     $object,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $traversalStrategy,
-                     $group,
-                     $defaultOverridden ? Constraint::DEFAULT_GROUP : null,
-                     $context
-                );
-
-                // Skip the group sequence when validating properties, because
-                // stepThroughGroupSequence() already validates the properties
-                unset($groups[$key]);
-
-                continue;
-            }
-
-            $this->validateInGroup($object, $cacheKey, $metadata, $group, $context);
-        }
-
-        // If no more groups should be validated for the property nodes,
-        // we can safely quit
-        if (0 === count($groups)) {
-            return;
-        }
-
-        // Validate all properties against their constraints
-        foreach ($metadata->getConstrainedProperties() as $propertyName) {
-            // If constraints are defined both on the getter of a property as
-            // well as on the property itself, then getPropertyMetadata()
-            // returns two metadata objects, not just one
-            foreach ($metadata->getPropertyMetadata($propertyName) as $propertyMetadata) {
-                if (!$propertyMetadata instanceof PropertyMetadataInterface) {
-                    throw new UnsupportedMetadataException(sprintf(
-                        'The property metadata instances should implement '.
-                        '"Symfony\Component\Validator\Mapping\PropertyMetadataInterface", '.
-                        'got: "%s".',
-                        is_object($propertyMetadata) ? get_class($propertyMetadata) : gettype($propertyMetadata)
-                    ));
-                }
-
-                $propertyValue = $propertyMetadata->getPropertyValue($object);
-
-                $this->validateGenericNode(
-                    $propertyValue,
-                    $object,
-                    $cacheKey.':'.$propertyName,
-                    $propertyMetadata,
-                    PropertyPath::append($propertyPath, $propertyName),
-                    $groups,
-                    $cascadedGroups,
-                    TraversalStrategy::IMPLICIT,
-                    $context
-                );
-            }
-        }
-
-        // If no specific traversal strategy was requested when this method
-        // was called, use the traversal strategy of the class' metadata
-        if ($traversalStrategy & TraversalStrategy::IMPLICIT) {
-            // Keep the STOP_RECURSION flag, if it was set
-            $traversalStrategy = $metadata->getTraversalStrategy()
-                | ($traversalStrategy & TraversalStrategy::STOP_RECURSION);
-        }
-
-        // Traverse only if IMPLICIT or TRAVERSE
-        if (!($traversalStrategy & (TraversalStrategy::IMPLICIT | TraversalStrategy::TRAVERSE))) {
-            return;
-        }
-
-        // If IMPLICIT, stop unless we deal with a Traversable
-        if ($traversalStrategy & TraversalStrategy::IMPLICIT && !$object instanceof \Traversable) {
-            return;
-        }
-
-        // If TRAVERSE, fail if we have no Traversable
-        if (!$object instanceof \Traversable) {
-            // Must throw a ConstraintDefinitionException for backwards
-            // compatibility reasons with Symfony < 2.5
-            throw new ConstraintDefinitionException(sprintf(
-                'Traversal was enabled for "%s", but this class '.
-                'does not implement "\Traversable".',
-                get_class($object)
-            ));
-        }
-
-        $this->validateEachObjectIn(
-            $object,
-            $propertyPath,
-            $groups,
-            $traversalStrategy & TraversalStrategy::STOP_RECURSION,
-            $context
-        );
-    }
-
-    /**
-     * Validates a node that is not a class node.
-     *
-     * Currently, two such node types exist:
-     *
-     *  - property nodes, which consist of the value of an object's
-     *    property together with a {@link PropertyMetadataInterface} instance
-     *  - generic nodes, which consist of a value and some arbitrary
-     *    constraints defined in a {@link MetadataInterface} container
-     *
-     * In both cases, the value is validated against all constraints defined
-     * in the passed metadata object. Then, if the value is an instance of
-     * {@link \Traversable} and the selected traversal strategy permits it,
-     * the value is traversed and each nested object validated against its own
-     * constraints. Arrays are always traversed.
-     *
-     * @param mixed                     $value             The validated value
-     * @param object|null               $object            The current object
-     * @param string                    $cacheKey          The key for caching
-     *                                                     the validated value
-     * @param MetadataInterface         $metadata          The metadata of the
-     *                                                     value
-     * @param string                    $propertyPath      The property path leading
-     *                                                     to the value
-     * @param string[]                  $groups            The groups in which the
-     *                                                     value should be validated
-     * @param string[]|null             $cascadedGroups    The groups in which
-     *                                                     cascaded objects should
-     *                                                     be validated
-     * @param int                       $traversalStrategy The strategy used for
-     *                                                     traversing the value
-     * @param ExecutionContextInterface $context           The current execution context
-     *
-     * @see TraversalStrategy
-     */
-    private function validateGenericNode($value, $object, $cacheKey, MetadataInterface $metadata = null, $propertyPath, array $groups, $cascadedGroups, $traversalStrategy, ExecutionContextInterface $context)
-    {
-        $context->setNode($value, $object, $metadata, $propertyPath);
-
-        foreach ($groups as $key => $group) {
-            if ($group instanceof GroupSequence) {
-                $this->stepThroughGroupSequence(
-                     $value,
-                     $object,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $traversalStrategy,
-                     $group,
-                     null,
-                     $context
-                );
-
-                // Skip the group sequence when cascading, as the cascading
-                // logic is already done in stepThroughGroupSequence()
-                unset($groups[$key]);
-
-                continue;
-            }
-
-            $this->validateInGroup($value, $cacheKey, $metadata, $group, $context);
-        }
-
-        if (0 === count($groups)) {
-            return;
-        }
-
-        if (null === $value) {
-            return;
-        }
-
-        $cascadingStrategy = $metadata->getCascadingStrategy();
-
-        // Quit unless we have an array or a cascaded object
-        if (!is_array($value) && !($cascadingStrategy & CascadingStrategy::CASCADE)) {
-            return;
-        }
-
-        // If no specific traversal strategy was requested when this method
-        // was called, use the traversal strategy of the node's metadata
-        if ($traversalStrategy & TraversalStrategy::IMPLICIT) {
-            // Keep the STOP_RECURSION flag, if it was set
-            $traversalStrategy = $metadata->getTraversalStrategy()
-                | ($traversalStrategy & TraversalStrategy::STOP_RECURSION);
-        }
-
-        // The $cascadedGroups property is set, if the "Default" group is
-        // overridden by a group sequence
-        // See validateClassNode()
-        $cascadedGroups = count($cascadedGroups) > 0
-            ? $cascadedGroups
-            : $groups;
-
-        if (is_array($value)) {
-            // Arrays are always traversed, independent of the specified
-            // traversal strategy
-            // (BC with Symfony < 2.5)
-            $this->validateEachObjectIn(
-                $value,
-                $propertyPath,
-                $cascadedGroups,
-                $traversalStrategy & TraversalStrategy::STOP_RECURSION,
-                $context
-            );
-
-            return;
-        }
-
-        // If the value is a scalar, pass it anyway, because we want
-        // a NoSuchMetadataException to be thrown in that case
-        // (BC with Symfony < 2.5)
-        $this->validateObject(
-            $value,
-            $propertyPath,
-            $cascadedGroups,
-            $traversalStrategy,
-            $context
-        );
-
-        // Currently, the traversal strategy can only be TRAVERSE for a
-        // generic node if the cascading strategy is CASCADE. Thus, traversable
-        // objects will always be handled within validateObject() and there's
-        // nothing more to do here.
-
-        // see GenericMetadata::addConstraint()
-    }
-
-    /**
-     * Sequentially validates a node's value in each group of a group sequence.
-     *
-     * If any of the constraints generates a violation, subsequent groups in the
-     * group sequence are skipped.
-     *
-     * @param mixed                     $value             The validated value
-     * @param object|null               $object            The current object
-     * @param string                    $cacheKey          The key for caching
-     *                                                     the validated value
-     * @param MetadataInterface         $metadata          The metadata of the
-     *                                                     value
-     * @param string                    $propertyPath      The property path leading
-     *                                                     to the value
-     * @param int                       $traversalStrategy The strategy used for
-     *                                                     traversing the value
-     * @param GroupSequence             $groupSequence     The group sequence
-     * @param string[]|null             $cascadedGroup     The group that should
-     *                                                     be passed to cascaded
-     *                                                     objects instead of
-     *                                                     the group sequence
-     * @param ExecutionContextInterface $context           The execution context
-     */
-    private function stepThroughGroupSequence($value, $object, $cacheKey, MetadataInterface $metadata = null, $propertyPath, $traversalStrategy, GroupSequence $groupSequence, $cascadedGroup, ExecutionContextInterface $context)
-    {
-        $violationCount = count($context->getViolations());
-        $cascadedGroups = $cascadedGroup ? array($cascadedGroup) : null;
-
-        foreach ($groupSequence->groups as $groupInSequence) {
-            $groups = array($groupInSequence);
-
-            if ($metadata instanceof ClassMetadataInterface) {
-                $this->validateClassNode(
-                     $value,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $groups,
-                     $cascadedGroups,
-                     $traversalStrategy,
-                     $context
-                );
-            } else {
-                $this->validateGenericNode(
-                     $value,
-                     $object,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $groups,
-                     $cascadedGroups,
-                     $traversalStrategy,
-                     $context
-                );
-            }
-
-            // Abort sequence validation if a violation was generated
-            if (count($context->getViolations()) > $violationCount) {
-                break;
-            }
-        }
-    }
-
-    /**
-     * Validates a node's value against all constraints in the given group.
-     *
-     * @param mixed                     $value    The validated value
-     * @param string                    $cacheKey The key for caching the
-     *                                            validated value
-     * @param MetadataInterface         $metadata The metadata of the value
-     * @param string                    $group    The group to validate
-     * @param ExecutionContextInterface $context  The execution context
-     */
-    private function validateInGroup($value, $cacheKey, MetadataInterface $metadata, $group, ExecutionContextInterface $context)
-    {
-        $context->setGroup($group);
-
-        foreach ($metadata->findConstraints($group) as $constraint) {
-            // Prevent duplicate validation of constraints, in the case
-            // that constraints belong to multiple validated groups
-            if (null !== $cacheKey) {
-                $constraintHash = spl_object_hash($constraint);
-
-                if ($context->isConstraintValidated($cacheKey, $constraintHash)) {
-                    continue;
-                }
-
-                $context->markConstraintAsValidated($cacheKey, $constraintHash);
-            }
-
-            $context->setConstraint($constraint);
-
-            $validator = $this->validatorFactory->getInstance($constraint);
-            $validator->initialize($context);
-            $validator->validate($value, $constraint);
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveValidator.php
deleted file mode 100644
index ddf0850..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveValidator.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Validator;
-
-use Symfony\Component\Validator\ConstraintValidatorFactoryInterface;
-use Symfony\Component\Validator\Context\ExecutionContextFactoryInterface;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\MetadataFactoryInterface;
-use Symfony\Component\Validator\ObjectInitializerInterface;
-
-/**
- * Recursive implementation of {@link ValidatorInterface}.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class RecursiveValidator implements ValidatorInterface
-{
-    /**
-     * @var ExecutionContextFactoryInterface
-     */
-    protected $contextFactory;
-
-    /**
-     * @var MetadataFactoryInterface
-     */
-    protected $metadataFactory;
-
-    /**
-     * @var ConstraintValidatorFactoryInterface
-     */
-    protected $validatorFactory;
-
-    /**
-     * @var ObjectInitializerInterface[]
-     */
-    protected $objectInitializers;
-
-    /**
-     * Creates a new validator.
-     *
-     * @param ExecutionContextFactoryInterface    $contextFactory     The factory for
-     *                                                                creating new contexts
-     * @param MetadataFactoryInterface            $metadataFactory    The factory for
-     *                                                                fetching the metadata
-     *                                                                of validated objects
-     * @param ConstraintValidatorFactoryInterface $validatorFactory   The factory for creating
-     *                                                                constraint validators
-     * @param ObjectInitializerInterface[]        $objectInitializers The object initializers
-     */
-    public function __construct(ExecutionContextFactoryInterface $contextFactory, MetadataFactoryInterface $metadataFactory, ConstraintValidatorFactoryInterface $validatorFactory, array $objectInitializers = array())
-    {
-        $this->contextFactory = $contextFactory;
-        $this->metadataFactory = $metadataFactory;
-        $this->validatorFactory = $validatorFactory;
-        $this->objectInitializers = $objectInitializers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function startContext($root = null)
-    {
-        return new RecursiveContextualValidator(
-            $this->contextFactory->createContext($this, $root),
-            $this->metadataFactory,
-            $this->validatorFactory,
-            $this->objectInitializers
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function inContext(ExecutionContextInterface $context)
-    {
-        return new RecursiveContextualValidator(
-            $context,
-            $this->metadataFactory,
-            $this->validatorFactory,
-            $this->objectInitializers
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMetadataFor($object)
-    {
-        return $this->metadataFactory->getMetadataFor($object);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasMetadataFor($object)
-    {
-        return $this->metadataFactory->hasMetadataFor($object);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validate($value, $constraints = null, $groups = null)
-    {
-        return $this->startContext($value)
-            ->validate($value, $constraints, $groups)
-            ->getViolations();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validateProperty($object, $propertyName, $groups = null)
-    {
-        return $this->startContext($object)
-            ->validateProperty($object, $propertyName, $groups)
-            ->getViolations();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null)
-    {
-        // If a class name is passed, take $value as root
-        return $this->startContext(is_object($objectOrClass) ? $objectOrClass : $value)
-            ->validatePropertyValue($objectOrClass, $propertyName, $value, $groups)
-            ->getViolations();
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ValidatorInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ValidatorInterface.php
deleted file mode 100644
index 2582bf6..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ValidatorInterface.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Validator;
-
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintViolationListInterface;
-use Symfony\Component\Validator\Context\ExecutionContextInterface;
-use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface;
-
-/**
- * Validates PHP values against constraints.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface ValidatorInterface extends MetadataFactoryInterface
-{
-    /**
-     * Validates a value against a constraint or a list of constraints.
-     *
-     * If no constraint is passed, the constraint
-     * {@link \Symfony\Component\Validator\Constraints\Valid} is assumed.
-     *
-     * @param mixed                   $value       The value to validate
-     * @param Constraint|Constraint[] $constraints The constraint(s) to validate
-     *                                             against
-     * @param array|null              $groups      The validation groups to
-     *                                             validate. If none is given,
-     *                                             "Default" is assumed
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations.
-     *                                          If the list is empty, validation
-     *                                          succeeded
-     */
-    public function validate($value, $constraints = null, $groups = null);
-
-    /**
-     * Validates a property of an object against the constraints specified
-     * for this property.
-     *
-     * @param object     $object       The object
-     * @param string     $propertyName The name of the validated property
-     * @param array|null $groups       The validation groups to validate. If
-     *                                 none is given, "Default" is assumed
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations.
-     *                                          If the list is empty, validation
-     *                                          succeeded
-     */
-    public function validateProperty($object, $propertyName, $groups = null);
-
-    /**
-     * Validates a value against the constraints specified for an object's
-     * property.
-     *
-     * @param object|string $objectOrClass The object or its class name
-     * @param string        $propertyName  The name of the property
-     * @param mixed         $value         The value to validate against the
-     *                                     property's constraints
-     * @param array|null    $groups        The validation groups to validate. If
-     *                                     none is given, "Default" is assumed
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations.
-     *                                          If the list is empty, validation
-     *                                          succeeded
-     */
-    public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null);
-
-    /**
-     * Starts a new validation context and returns a validator for that context.
-     *
-     * The returned validator collects all violations generated within its
-     * context. You can access these violations with the
-     * {@link ContextualValidatorInterface::getViolations()} method.
-     *
-     * @return ContextualValidatorInterface The validator for the new context
-     */
-    public function startContext();
-
-    /**
-     * Returns a validator in the given execution context.
-     *
-     * The returned validator adds all generated violations to the given
-     * context.
-     *
-     * @param ExecutionContextInterface $context The execution context
-     *
-     * @return ContextualValidatorInterface The validator for that context
-     */
-    public function inContext(ExecutionContextInterface $context);
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilder.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilder.php
deleted file mode 100644
index 1d65478..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilder.php
+++ /dev/null
@@ -1,412 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Doctrine\Common\Annotations\AnnotationReader;
-use Doctrine\Common\Annotations\CachedReader;
-use Doctrine\Common\Annotations\Reader;
-use Doctrine\Common\Cache\ArrayCache;
-use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Context\ExecutionContextFactory;
-use Symfony\Component\Validator\Context\LegacyExecutionContextFactory;
-use Symfony\Component\Validator\Exception\InvalidArgumentException;
-use Symfony\Component\Validator\Exception\ValidatorException;
-use Symfony\Component\Validator\Mapping\Cache\CacheInterface;
-use Symfony\Component\Validator\Mapping\ClassMetadataFactory;
-use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory;
-use Symfony\Component\Validator\Mapping\Loader\AnnotationLoader;
-use Symfony\Component\Validator\Mapping\Loader\LoaderChain;
-use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader;
-use Symfony\Component\Validator\Mapping\Loader\XmlFileLoader;
-use Symfony\Component\Validator\Mapping\Loader\XmlFilesLoader;
-use Symfony\Component\Validator\Mapping\Loader\YamlFileLoader;
-use Symfony\Component\Validator\Mapping\Loader\YamlFilesLoader;
-use Symfony\Component\Validator\Validator\LegacyValidator;
-use Symfony\Component\Validator\Validator\RecursiveValidator;
-use Symfony\Component\Validator\Validator as ValidatorV24;
-
-/**
- * The default implementation of {@link ValidatorBuilderInterface}.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ValidatorBuilder implements ValidatorBuilderInterface
-{
-    /**
-     * @var array
-     */
-    private $initializers = array();
-
-    /**
-     * @var array
-     */
-    private $xmlMappings = array();
-
-    /**
-     * @var array
-     */
-    private $yamlMappings = array();
-
-    /**
-     * @var array
-     */
-    private $methodMappings = array();
-
-    /**
-     * @var Reader|null
-     */
-    private $annotationReader;
-
-    /**
-     * @var MetadataFactoryInterface|null
-     */
-    private $metadataFactory;
-
-    /**
-     * @var ConstraintValidatorFactoryInterface|null
-     */
-    private $validatorFactory;
-
-    /**
-     * @var CacheInterface|null
-     */
-    private $metadataCache;
-
-    /**
-     * @var TranslatorInterface|null
-     */
-    private $translator;
-
-    /**
-     * @var null|string
-     */
-    private $translationDomain;
-
-    /**
-     * @var PropertyAccessorInterface|null
-     */
-    private $propertyAccessor;
-
-    /**
-     * @var int|null
-     */
-    private $apiVersion;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addObjectInitializer(ObjectInitializerInterface $initializer)
-    {
-        $this->initializers[] = $initializer;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addObjectInitializers(array $initializers)
-    {
-        $this->initializers = array_merge($this->initializers, $initializers);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addXmlMapping($path)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        $this->xmlMappings[] = $path;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addXmlMappings(array $paths)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        $this->xmlMappings = array_merge($this->xmlMappings, $paths);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addYamlMapping($path)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        $this->yamlMappings[] = $path;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addYamlMappings(array $paths)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        $this->yamlMappings = array_merge($this->yamlMappings, $paths);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addMethodMapping($methodName)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        $this->methodMappings[] = $methodName;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addMethodMappings(array $methodNames)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        $this->methodMappings = array_merge($this->methodMappings, $methodNames);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function enableAnnotationMapping(Reader $annotationReader = null)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot enable annotation mapping after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        if (null === $annotationReader) {
-            if (!class_exists('Doctrine\Common\Annotations\AnnotationReader') || !class_exists('Doctrine\Common\Cache\ArrayCache')) {
-                throw new \RuntimeException('Enabling annotation based constraint mapping requires the packages doctrine/annotations and doctrine/cache to be installed.');
-            }
-
-            $annotationReader = new CachedReader(new AnnotationReader(), new ArrayCache());
-        }
-
-        $this->annotationReader = $annotationReader;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function disableAnnotationMapping()
-    {
-        $this->annotationReader = null;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setMetadataFactory(MetadataFactoryInterface $metadataFactory)
-    {
-        if (count($this->xmlMappings) > 0 || count($this->yamlMappings) > 0 || count($this->methodMappings) > 0 || null !== $this->annotationReader) {
-            throw new ValidatorException('You cannot set a custom metadata factory after adding custom mappings. You should do either of both.');
-        }
-
-        $this->metadataFactory = $metadataFactory;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setMetadataCache(CacheInterface $cache)
-    {
-        if (null !== $this->metadataFactory) {
-            throw new ValidatorException('You cannot set a custom metadata cache after setting a custom metadata factory. Configure your metadata factory instead.');
-        }
-
-        $this->metadataCache = $cache;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setConstraintValidatorFactory(ConstraintValidatorFactoryInterface $validatorFactory)
-    {
-        if (null !== $this->propertyAccessor) {
-            throw new ValidatorException('You cannot set a validator factory after setting a custom property accessor. Remove the call to setPropertyAccessor() if you want to call setConstraintValidatorFactory().');
-        }
-
-        $this->validatorFactory = $validatorFactory;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setTranslator(TranslatorInterface $translator)
-    {
-        $this->translator = $translator;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setTranslationDomain($translationDomain)
-    {
-        $this->translationDomain = $translationDomain;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setPropertyAccessor(PropertyAccessorInterface $propertyAccessor)
-    {
-        if (null !== $this->validatorFactory) {
-            throw new ValidatorException('You cannot set a property accessor after setting a custom validator factory. Configure your validator factory instead.');
-        }
-
-        $this->propertyAccessor = $propertyAccessor;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setApiVersion($apiVersion)
-    {
-        if (!in_array($apiVersion, array(Validation::API_VERSION_2_4, Validation::API_VERSION_2_5, Validation::API_VERSION_2_5_BC))) {
-            throw new InvalidArgumentException(sprintf(
-                'The requested API version is invalid: "%s"',
-                $apiVersion
-            ));
-        }
-
-        if (PHP_VERSION_ID < 50309 && $apiVersion === Validation::API_VERSION_2_5_BC) {
-            throw new InvalidArgumentException(sprintf(
-                'The Validator API that is compatible with both Symfony 2.4 '.
-                'and Symfony 2.5 can only be used on PHP 5.3.9 and higher. '.
-                'Your current PHP version is %s.',
-                PHP_VERSION
-            ));
-        }
-
-        $this->apiVersion = $apiVersion;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValidator()
-    {
-        $metadataFactory = $this->metadataFactory;
-        $apiVersion = $this->apiVersion;
-
-        if (null === $apiVersion) {
-            $apiVersion = PHP_VERSION_ID < 50309
-                ? Validation::API_VERSION_2_4
-                : Validation::API_VERSION_2_5_BC;
-        }
-
-        if (!$metadataFactory) {
-            $loaders = array();
-
-            if (count($this->xmlMappings) > 1) {
-                $loaders[] = new XmlFilesLoader($this->xmlMappings);
-            } elseif (1 === count($this->xmlMappings)) {
-                $loaders[] = new XmlFileLoader($this->xmlMappings[0]);
-            }
-
-            if (count($this->yamlMappings) > 1) {
-                $loaders[] = new YamlFilesLoader($this->yamlMappings);
-            } elseif (1 === count($this->yamlMappings)) {
-                $loaders[] = new YamlFileLoader($this->yamlMappings[0]);
-            }
-
-            foreach ($this->methodMappings as $methodName) {
-                $loaders[] = new StaticMethodLoader($methodName);
-            }
-
-            if ($this->annotationReader) {
-                $loaders[] = new AnnotationLoader($this->annotationReader);
-            }
-
-            $loader = null;
-
-            if (count($loaders) > 1) {
-                $loader = new LoaderChain($loaders);
-            } elseif (1 === count($loaders)) {
-                $loader = $loaders[0];
-            }
-
-            if (Validation::API_VERSION_2_5 === $apiVersion) {
-                $metadataFactory = new LazyLoadingMetadataFactory($loader, $this->metadataCache);
-            } else {
-                $metadataFactory = new ClassMetadataFactory($loader, $this->metadataCache);
-            }
-        }
-
-        $validatorFactory = $this->validatorFactory ?: new ConstraintValidatorFactory($this->propertyAccessor);
-        $translator = $this->translator ?: new DefaultTranslator();
-
-        if (Validation::API_VERSION_2_4 === $apiVersion) {
-            return new ValidatorV24($metadataFactory, $validatorFactory, $translator, $this->translationDomain, $this->initializers);
-        }
-
-        if (Validation::API_VERSION_2_5 === $apiVersion) {
-            $contextFactory = new ExecutionContextFactory($translator, $this->translationDomain);
-
-            return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $this->initializers);
-        }
-
-        $contextFactory = new LegacyExecutionContextFactory($metadataFactory, $translator, $this->translationDomain);
-
-        return new LegacyValidator($contextFactory, $metadataFactory, $validatorFactory, $this->initializers);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilderInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilderInterface.php
deleted file mode 100644
index 2fd0f9c..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilderInterface.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-use Doctrine\Common\Annotations\Reader;
-use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Mapping\Cache\CacheInterface;
-
-/**
- * A configurable builder for ValidatorInterface objects.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface ValidatorBuilderInterface
-{
-    /**
-     * Adds an object initializer to the validator.
-     *
-     * @param ObjectInitializerInterface $initializer The initializer
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addObjectInitializer(ObjectInitializerInterface $initializer);
-
-    /**
-     * Adds a list of object initializers to the validator.
-     *
-     * @param array $initializers The initializer
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addObjectInitializers(array $initializers);
-
-    /**
-     * Adds an XML constraint mapping file to the validator.
-     *
-     * @param string $path The path to the mapping file
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addXmlMapping($path);
-
-    /**
-     * Adds a list of XML constraint mapping files to the validator.
-     *
-     * @param array $paths The paths to the mapping files
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addXmlMappings(array $paths);
-
-    /**
-     * Adds a YAML constraint mapping file to the validator.
-     *
-     * @param string $path The path to the mapping file
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addYamlMapping($path);
-
-    /**
-     * Adds a list of YAML constraint mappings file to the validator.
-     *
-     * @param array $paths The paths to the mapping files
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addYamlMappings(array $paths);
-
-    /**
-     * Enables constraint mapping using the given static method.
-     *
-     * @param string $methodName The name of the method
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addMethodMapping($methodName);
-
-    /**
-     * Enables constraint mapping using the given static methods.
-     *
-     * @param array $methodNames The names of the methods
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function addMethodMappings(array $methodNames);
-
-    /**
-     * Enables annotation based constraint mapping.
-     *
-     * @param Reader $annotationReader The annotation reader to be used
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function enableAnnotationMapping(Reader $annotationReader = null);
-
-    /**
-     * Disables annotation based constraint mapping.
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function disableAnnotationMapping();
-
-    /**
-     * Sets the class metadata factory used by the validator.
-     *
-     * @param MetadataFactoryInterface $metadataFactory The metadata factory
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function setMetadataFactory(MetadataFactoryInterface $metadataFactory);
-
-    /**
-     * Sets the cache for caching class metadata.
-     *
-     * @param CacheInterface $cache The cache instance
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function setMetadataCache(CacheInterface $cache);
-
-    /**
-     * Sets the constraint validator factory used by the validator.
-     *
-     * @param ConstraintValidatorFactoryInterface $validatorFactory The validator factory
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function setConstraintValidatorFactory(ConstraintValidatorFactoryInterface $validatorFactory);
-
-    /**
-     * Sets the translator used for translating violation messages.
-     *
-     * @param TranslatorInterface $translator The translator instance
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function setTranslator(TranslatorInterface $translator);
-
-    /**
-     * Sets the default translation domain of violation messages.
-     *
-     * The same message can have different translations in different domains.
-     * Pass the domain that is used for violation messages by default to this
-     * method.
-     *
-     * @param string $translationDomain The translation domain of the violation messages
-     *
-     * @return ValidatorBuilderInterface The builder object
-     */
-    public function setTranslationDomain($translationDomain);
-
-    /**
-     * Sets the property accessor for resolving property paths.
-     *
-     * @param PropertyAccessorInterface $propertyAccessor The property accessor
-     *
-     * @return ValidatorBuilderInterface The builder object
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     */
-    public function setPropertyAccessor(PropertyAccessorInterface $propertyAccessor);
-
-    /**
-     * Sets the API version that the returned validator should support.
-     *
-     * @param int $apiVersion The required API version
-     *
-     * @return ValidatorBuilderInterface The builder object
-     *
-     * @see Validation::API_VERSION_2_4
-     * @see Validation::API_VERSION_2_5
-     * @see Validation::API_VERSION_2_5_BC
-     */
-    public function setApiVersion($apiVersion);
-
-    /**
-     * Builds and returns a new validator object.
-     *
-     * @return ValidatorInterface The built validator.
-     */
-    public function getValidator();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorInterface.php
deleted file mode 100644
index 0d77332..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorInterface.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator;
-
-/**
- * Validates values and graphs of objects and arrays.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- *
- * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
- *             Use {@link \Symfony\Component\Validator\Validator\ValidatorInterface} instead.
- */
-interface ValidatorInterface
-{
-    /**
-     * Validates a value.
-     *
-     * The accepted values depend on the {@link MetadataFactoryInterface}
-     * implementation.
-     *
-     * The signature changed with Symfony 2.5 (see
-     * {@link Validator\ValidatorInterface::validate()}. This signature will be
-     * disabled in Symfony 3.0.
-     *
-     * @param mixed      $value    The value to validate
-     * @param array|null $groups   The validation groups to validate.
-     * @param bool       $traverse Whether to traverse the value if it is traversable.
-     * @param bool       $deep     Whether to traverse nested traversable values recursively.
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations. If the
-     *                                          list is empty, validation succeeded.
-     *
-     * @api
-     */
-    public function validate($value, $groups = null, $traverse = false, $deep = false);
-
-    /**
-     * Validates a property of a value against its current value.
-     *
-     * The accepted values depend on the {@link MetadataFactoryInterface}
-     * implementation.
-     *
-     * @param mixed      $containingValue The value containing the property.
-     * @param string     $property        The name of the property to validate.
-     * @param array|null $groups          The validation groups to validate.
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations. If the
-     *                                          list is empty, validation succeeded.
-     *
-     * @api
-     */
-    public function validateProperty($containingValue, $property, $groups = null);
-
-    /**
-     * Validate a property of a value against a potential value.
-     *
-     * The accepted values depend on the {@link MetadataFactoryInterface}
-     * implementation.
-     *
-     * @param mixed      $containingValue The value containing the property.
-     * @param string     $property        The name of the property to validate
-     * @param string     $value           The value to validate against the
-     *                                    constraints of the property.
-     * @param array|null $groups          The validation groups to validate.
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations. If the
-     *                                          list is empty, validation succeeded.
-     *
-     * @api
-     */
-    public function validatePropertyValue($containingValue, $property, $value, $groups = null);
-
-    /**
-     * Validates a value against a constraint or a list of constraints.
-     *
-     * @param mixed                   $value       The value to validate.
-     * @param Constraint|Constraint[] $constraints The constraint(s) to validate against.
-     * @param array|null              $groups      The validation groups to validate.
-     *
-     * @return ConstraintViolationListInterface A list of constraint violations. If the
-     *                                          list is empty, validation succeeded.
-     *
-     * @api
-     *
-     * @deprecated Renamed to {@link Validator\ValidatorInterface::validate()}
-     *             in Symfony 2.5. Will be removed in Symfony 3.0.
-     */
-    public function validateValue($value, $constraints, $groups = null);
-
-    /**
-     * Returns the factory for metadata instances.
-     *
-     * @return MetadataFactoryInterface The metadata factory.
-     *
-     * @api
-     *
-     * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0.
-     *             Use {@link Validator\ValidatorInterface::getMetadataFor()} or
-     *             {@link Validator\ValidatorInterface::hasMetadataFor()}
-     *             instead.
-     */
-    public function getMetadataFactory();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilder.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilder.php
deleted file mode 100644
index b752c39..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilder.php
+++ /dev/null
@@ -1,225 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Violation;
-
-use Symfony\Component\Translation\TranslatorInterface;
-use Symfony\Component\Validator\Constraint;
-use Symfony\Component\Validator\ConstraintViolation;
-use Symfony\Component\Validator\ConstraintViolationList;
-use Symfony\Component\Validator\Util\PropertyPath;
-
-/**
- * Default implementation of {@link ConstraintViolationBuilderInterface}.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @internal You should not instantiate or use this class. Code against
- *           {@link ConstraintViolationBuilderInterface} instead.
- */
-class ConstraintViolationBuilder implements ConstraintViolationBuilderInterface
-{
-    /**
-     * @var ConstraintViolationList
-     */
-    private $violations;
-
-    /**
-     * @var string
-     */
-    private $message;
-
-    /**
-     * @var array
-     */
-    private $parameters;
-
-    /**
-     * @var mixed
-     */
-    private $root;
-
-    /**
-     * @var mixed
-     */
-    private $invalidValue;
-
-    /**
-     * @var string
-     */
-    private $propertyPath;
-
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * @var string|null
-     */
-    private $translationDomain;
-
-    /**
-     * @var int|null
-     */
-    private $plural;
-
-    /**
-     * @var Constraint
-     */
-    private $constraint;
-
-    /**
-     * @var mixed
-     */
-    private $code;
-
-    /**
-     * @var mixed
-     */
-    private $cause;
-
-    public function __construct(ConstraintViolationList $violations, Constraint $constraint, $message, array $parameters, $root, $propertyPath, $invalidValue, TranslatorInterface $translator, $translationDomain = null)
-    {
-        $this->violations = $violations;
-        $this->message = $message;
-        $this->parameters = $parameters;
-        $this->root = $root;
-        $this->propertyPath = $propertyPath;
-        $this->invalidValue = $invalidValue;
-        $this->translator = $translator;
-        $this->translationDomain = $translationDomain;
-        $this->constraint = $constraint;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function atPath($path)
-    {
-        $this->propertyPath = PropertyPath::append($this->propertyPath, $path);
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameter($key, $value)
-    {
-        $this->parameters[$key] = $value;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameters(array $parameters)
-    {
-        $this->parameters = $parameters;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setTranslationDomain($translationDomain)
-    {
-        $this->translationDomain = $translationDomain;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setInvalidValue($invalidValue)
-    {
-        $this->invalidValue = $invalidValue;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setPlural($number)
-    {
-        $this->plural = $number;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCode($code)
-    {
-        $this->code = $code;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCause($cause)
-    {
-        $this->cause = $cause;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolation()
-    {
-        if (null === $this->plural) {
-            $translatedMessage = $this->translator->trans(
-                $this->message,
-                $this->parameters,
-                $this->translationDomain
-            );
-        } else {
-            try {
-                $translatedMessage = $this->translator->transChoice(
-                    $this->message,
-                    $this->plural,
-                    $this->parameters,
-                    $this->translationDomain#
-                );
-            } catch (\InvalidArgumentException $e) {
-                $translatedMessage = $this->translator->trans(
-                    $this->message,
-                    $this->parameters,
-                    $this->translationDomain
-                );
-            }
-        }
-
-        $this->violations->add(new ConstraintViolation(
-            $translatedMessage,
-            $this->message,
-            $this->parameters,
-            $this->root,
-            $this->propertyPath,
-            $this->invalidValue,
-            $this->plural,
-            $this->code,
-            $this->constraint,
-            $this->cause
-        ));
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilderInterface.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilderInterface.php
deleted file mode 100644
index 3dc270a..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilderInterface.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Violation;
-
-/**
- * Builds {@link \Symfony\Component\Validator\ConstraintViolationInterface}
- * objects.
- *
- * Use the various methods on this interface to configure the built violation.
- * Finally, call {@link addViolation()} to add the violation to the current
- * execution context.
- *
- * @since  2.5
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-interface ConstraintViolationBuilderInterface
-{
-    /**
-     * Stores the property path at which the violation should be generated.
-     *
-     * The passed path will be appended to the current property path of the
-     * execution context.
-     *
-     * @param string $path The property path
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     */
-    public function atPath($path);
-
-    /**
-     * Sets a parameter to be inserted into the violation message.
-     *
-     * @param string $key   The name of the parameter
-     * @param string $value The value to be inserted in the parameter's place
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     */
-    public function setParameter($key, $value);
-
-    /**
-     * Sets all parameters to be inserted into the violation message.
-     *
-     * @param array $parameters An array with the parameter names as keys and
-     *                          the values to be inserted in their place as
-     *                          values
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     */
-    public function setParameters(array $parameters);
-
-    /**
-     * Sets the translation domain which should be used for translating the
-     * violation message.
-     *
-     * @param string $translationDomain The translation domain
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     *
-     * @see \Symfony\Component\Translation\TranslatorInterface
-     */
-    public function setTranslationDomain($translationDomain);
-
-    /**
-     * Sets the invalid value that caused this violation.
-     *
-     * @param mixed $invalidValue The invalid value
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     */
-    public function setInvalidValue($invalidValue);
-
-    /**
-     * Sets the number which determines how the plural form of the violation
-     * message is chosen when it is translated.
-     *
-     * @param int $number The number for determining the plural form
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     *
-     * @see \Symfony\Component\Translation\TranslatorInterface::transChoice()
-     */
-    public function setPlural($number);
-
-    /**
-     * Sets the violation code.
-     *
-     * @param int $code The violation code
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     */
-    public function setCode($code);
-
-    /**
-     * Sets the cause of the violation.
-     *
-     * @param mixed $cause The cause of the violation
-     *
-     * @return ConstraintViolationBuilderInterface This builder
-     */
-    public function setCause($cause);
-
-    /**
-     * Adds the violation to the current execution context.
-     */
-    public function addViolation();
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/LegacyConstraintViolationBuilder.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/LegacyConstraintViolationBuilder.php
deleted file mode 100644
index 5519f42..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/LegacyConstraintViolationBuilder.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Validator\Violation;
-
-use Symfony\Component\Validator\ExecutionContextInterface;
-
-/**
- * Backwards-compatible implementation of {@link ConstraintViolationBuilderInterface}.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @internal You should not instantiate or use this class. Code against
- *           {@link ConstraintViolationBuilderInterface} instead.
- *
- * @deprecated This class will be removed in Symfony 3.0.
- */
-class LegacyConstraintViolationBuilder implements ConstraintViolationBuilderInterface
-{
-    /**
-     * @var ExecutionContextInterface
-     */
-    private $context;
-
-    /**
-     * @var string
-     */
-    private $message;
-
-    /**
-     * @var array
-     */
-    private $parameters;
-
-    /**
-     * @var mixed
-     */
-    private $invalidValue;
-
-    /**
-     * @var string
-     */
-    private $propertyPath;
-
-    /**
-     * @var int|null
-     */
-    private $plural;
-
-    /**
-     * @var mixed
-     */
-    private $code;
-
-    public function __construct(ExecutionContextInterface $context, $message, array $parameters)
-    {
-        $this->context = $context;
-        $this->message = $message;
-        $this->parameters = $parameters;
-        $this->invalidValue = $context->getValue();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function atPath($path)
-    {
-        $this->propertyPath = $path;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameter($key, $value)
-    {
-        $this->parameters[$key] = $value;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameters(array $parameters)
-    {
-        $this->parameters = $parameters;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setTranslationDomain($translationDomain)
-    {
-        // can't be set in the old API
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setInvalidValue($invalidValue)
-    {
-        $this->invalidValue = $invalidValue;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setPlural($number)
-    {
-        $this->plural = $number;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCode($code)
-    {
-        $this->code = $code;
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCause($cause)
-    {
-        // do nothing - we can't save the cause through the old API
-
-        return $this;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function addViolation()
-    {
-        if ($this->propertyPath) {
-            $this->context->addViolationAt($this->propertyPath, $this->message, $this->parameters, $this->invalidValue, $this->plural, $this->code);
-
-            return;
-        }
-
-        $this->context->addViolation($this->message, $this->parameters, $this->invalidValue, $this->plural, $this->code);
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/composer.json b/core/vendor/symfony/validator/Symfony/Component/Validator/composer.json
deleted file mode 100644
index ac8c812..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/composer.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
-    "name": "symfony/validator",
-    "type": "library",
-    "description": "Symfony Validator Component",
-    "keywords": [],
-    "homepage": "https://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "https://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3",
-        "symfony/translation": "~2.0,>=2.0.5"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7",
-        "doctrine/common": "~2.3",
-        "symfony/http-foundation": "~2.1",
-        "symfony/intl": "~2.3",
-        "symfony/yaml": "~2.0,>=2.0.5",
-        "symfony/config": "~2.2",
-        "symfony/property-access": "~2.3",
-        "symfony/expression-language": "~2.4",
-        "doctrine/annotations": "~1.0",
-        "doctrine/cache": "~1.0",
-        "egulias/email-validator": "~1.2,>=1.2.1"
-    },
-    "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/http-foundation": "",
-        "symfony/intl": "",
-        "symfony/yaml": "",
-        "symfony/config": "",
-        "egulias/email-validator": "Strict (RFC compliant) email validation",
-        "symfony/property-access": "For using the 2.4 Validator API",
-        "symfony/expression-language": "For using the 2.4 Expression validator"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\Validator\\": "" }
-    },
-    "target-dir": "Symfony/Component/Validator",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/phpunit.xml.dist b/core/vendor/symfony/validator/Symfony/Component/Validator/phpunit.xml.dist
deleted file mode 100644
index 1bf4391..0000000
--- a/core/vendor/symfony/validator/Symfony/Component/Validator/phpunit.xml.dist
+++ /dev/null
@@ -1,28 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-
-    <testsuites>
-        <testsuite name="Symfony Validator Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./vendor</directory>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/.gitignore b/core/vendor/symfony/yaml/Symfony/Component/Yaml/.gitignore
deleted file mode 100644
index c49a5d8..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor/
-composer.lock
-phpunit.xml
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/CHANGELOG.md b/core/vendor/symfony/yaml/Symfony/Component/Yaml/CHANGELOG.md
deleted file mode 100644
index 096cf65..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-CHANGELOG
-=========
-
-2.1.0
------
-
- * Yaml::parse() does not evaluate loaded files as PHP files by default
-   anymore (call Yaml::enablePhpParsing() to get back the old behavior)
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
deleted file mode 100644
index 39cdcfc..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-/**
- * Dumper dumps PHP variables to YAML strings.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Dumper
-{
-    /**
-     * The amount of spaces to use for indentation of nested nodes.
-     *
-     * @var int
-     */
-    protected $indentation = 4;
-
-    /**
-     * Sets the indentation.
-     *
-     * @param int $num The amount of spaces to use for indentation of nested nodes.
-     */
-    public function setIndentation($num)
-    {
-        $this->indentation = (int) $num;
-    }
-
-    /**
-     * Dumps a PHP value to YAML.
-     *
-     * @param mixed $input                  The PHP value
-     * @param int   $inline                 The level where you switch to inline YAML
-     * @param int   $indent                 The level of indentation (used internally)
-     * @param bool  $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param bool  $objectSupport          true if object support is enabled, false otherwise
-     *
-     * @return string The YAML representation of the PHP value
-     */
-    public function dump($input, $inline = 0, $indent = 0, $exceptionOnInvalidType = false, $objectSupport = false)
-    {
-        $output = '';
-        $prefix = $indent ? str_repeat(' ', $indent) : '';
-
-        if ($inline <= 0 || !is_array($input) || empty($input)) {
-            $output .= $prefix.Inline::dump($input, $exceptionOnInvalidType, $objectSupport);
-        } else {
-            $isAHash = array_keys($input) !== range(0, count($input) - 1);
-
-            foreach ($input as $key => $value) {
-                $willBeInlined = $inline - 1 <= 0 || !is_array($value) || empty($value);
-
-                $output .= sprintf('%s%s%s%s',
-                    $prefix,
-                    $isAHash ? Inline::dump($key, $exceptionOnInvalidType, $objectSupport).':' : '-',
-                    $willBeInlined ? ' ' : "\n",
-                    $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation, $exceptionOnInvalidType, $objectSupport)
-                ).($willBeInlined ? "\n" : '');
-            }
-        }
-
-        return $output;
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php
deleted file mode 100644
index f498765..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-/**
- * Escaper encapsulates escaping rules for single and double-quoted
- * YAML strings.
- *
- * @author Matthew Lewinski <matthew@lewinski.org>
- */
-class Escaper
-{
-    // Characters that would cause a dumped string to require double quoting.
-    const REGEX_CHARACTER_TO_ESCAPE = "[\\x00-\\x1f]|\xc2\x85|\xc2\xa0|\xe2\x80\xa8|\xe2\x80\xa9";
-
-    // Mapping arrays for escaping a double quoted string. The backslash is
-    // first to ensure proper escaping because str_replace operates iteratively
-    // on the input arrays. This ordering of the characters avoids the use of strtr,
-    // which performs more slowly.
-    private static $escapees = array('\\', '\\\\', '\\"', '"',
-                                     "\x00",  "\x01",  "\x02",  "\x03",  "\x04",  "\x05",  "\x06",  "\x07",
-                                     "\x08",  "\x09",  "\x0a",  "\x0b",  "\x0c",  "\x0d",  "\x0e",  "\x0f",
-                                     "\x10",  "\x11",  "\x12",  "\x13",  "\x14",  "\x15",  "\x16",  "\x17",
-                                     "\x18",  "\x19",  "\x1a",  "\x1b",  "\x1c",  "\x1d",  "\x1e",  "\x1f",
-                                     "\xc2\x85", "\xc2\xa0", "\xe2\x80\xa8", "\xe2\x80\xa9",);
-    private static $escaped = array('\\\\', '\\"', '\\\\', '\\"',
-                                     "\\0",   "\\x01", "\\x02", "\\x03", "\\x04", "\\x05", "\\x06", "\\a",
-                                     "\\b",   "\\t",   "\\n",   "\\v",   "\\f",   "\\r",   "\\x0e", "\\x0f",
-                                     "\\x10", "\\x11", "\\x12", "\\x13", "\\x14", "\\x15", "\\x16", "\\x17",
-                                     "\\x18", "\\x19", "\\x1a", "\\e",   "\\x1c", "\\x1d", "\\x1e", "\\x1f",
-                                     "\\N", "\\_", "\\L", "\\P",);
-
-    /**
-     * Determines if a PHP value would require double quoting in YAML.
-     *
-     * @param string $value A PHP value
-     *
-     * @return bool True if the value would require double quotes.
-     */
-    public static function requiresDoubleQuoting($value)
-    {
-        return preg_match('/'.self::REGEX_CHARACTER_TO_ESCAPE.'/u', $value);
-    }
-
-    /**
-     * Escapes and surrounds a PHP value with double quotes.
-     *
-     * @param string $value A PHP value
-     *
-     * @return string The quoted, escaped string
-     */
-    public static function escapeWithDoubleQuotes($value)
-    {
-        return sprintf('"%s"', str_replace(self::$escapees, self::$escaped, $value));
-    }
-
-    /**
-     * Determines if a PHP value would require single quoting in YAML.
-     *
-     * @param string $value A PHP value
-     *
-     * @return bool True if the value would require single quotes.
-     */
-    public static function requiresSingleQuoting($value)
-    {
-        // Determines if a PHP value is entirely composed of a value that would
-        // require single quoting in YAML.
-        if (in_array(strtolower($value), array('null', '~', 'true', 'false', 'y', 'n', 'yes', 'no', 'on', 'off'))) {
-            return true;
-        }
-
-        // Determines if the PHP value contains any single characters that would
-        // cause it to require single quoting in YAML.
-        return preg_match('/[ \s \' " \: \{ \} \[ \] , & \* \# \?] | \A[ \- ? | < > = ! % @ ` ]/x', $value);
-    }
-
-    /**
-     * Escapes and surrounds a PHP value with single quotes.
-     *
-     * @param string $value A PHP value
-     *
-     * @return string The quoted, escaped string
-     */
-    public static function escapeWithSingleQuotes($value)
-    {
-        return sprintf("'%s'", str_replace('\'', '\'\'', $value));
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/DumpException.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/DumpException.php
deleted file mode 100644
index 9b3e6de..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/DumpException.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception class thrown when an error occurs during dumping.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class DumpException extends RuntimeException
-{
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ExceptionInterface.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ExceptionInterface.php
deleted file mode 100644
index 92e5c2e..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception interface for all exceptions thrown by the component.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php
deleted file mode 100644
index 0447dff..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception class thrown when an error occurs during parsing.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class ParseException extends RuntimeException
-{
-    private $parsedFile;
-    private $parsedLine;
-    private $snippet;
-    private $rawMessage;
-
-    /**
-     * Constructor.
-     *
-     * @param string     $message    The error message
-     * @param int        $parsedLine The line where the error occurred
-     * @param int        $snippet    The snippet of code near the problem
-     * @param string     $parsedFile The file name where the error occurred
-     * @param \Exception $previous   The previous exception
-     */
-    public function __construct($message, $parsedLine = -1, $snippet = null, $parsedFile = null, \Exception $previous = null)
-    {
-        $this->parsedFile = $parsedFile;
-        $this->parsedLine = $parsedLine;
-        $this->snippet = $snippet;
-        $this->rawMessage = $message;
-
-        $this->updateRepr();
-
-        parent::__construct($this->message, 0, $previous);
-    }
-
-    /**
-     * Gets the snippet of code near the error.
-     *
-     * @return string The snippet of code
-     */
-    public function getSnippet()
-    {
-        return $this->snippet;
-    }
-
-    /**
-     * Sets the snippet of code near the error.
-     *
-     * @param string $snippet The code snippet
-     */
-    public function setSnippet($snippet)
-    {
-        $this->snippet = $snippet;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the filename where the error occurred.
-     *
-     * This method returns null if a string is parsed.
-     *
-     * @return string The filename
-     */
-    public function getParsedFile()
-    {
-        return $this->parsedFile;
-    }
-
-    /**
-     * Sets the filename where the error occurred.
-     *
-     * @param string $parsedFile The filename
-     */
-    public function setParsedFile($parsedFile)
-    {
-        $this->parsedFile = $parsedFile;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the line where the error occurred.
-     *
-     * @return int The file line
-     */
-    public function getParsedLine()
-    {
-        return $this->parsedLine;
-    }
-
-    /**
-     * Sets the line where the error occurred.
-     *
-     * @param int $parsedLine The file line
-     */
-    public function setParsedLine($parsedLine)
-    {
-        $this->parsedLine = $parsedLine;
-
-        $this->updateRepr();
-    }
-
-    private function updateRepr()
-    {
-        $this->message = $this->rawMessage;
-
-        $dot = false;
-        if ('.' === substr($this->message, -1)) {
-            $this->message = substr($this->message, 0, -1);
-            $dot = true;
-        }
-
-        if (null !== $this->parsedFile) {
-            if (PHP_VERSION_ID >= 50400) {
-                $jsonOptions = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
-            } else {
-                $jsonOptions = 0;
-            }
-            $this->message .= sprintf(' in %s', json_encode($this->parsedFile, $jsonOptions));
-        }
-
-        if ($this->parsedLine >= 0) {
-            $this->message .= sprintf(' at line %d', $this->parsedLine);
-        }
-
-        if ($this->snippet) {
-            $this->message .= sprintf(' (near "%s")', $this->snippet);
-        }
-
-        if ($dot) {
-            $this->message .= '.';
-        }
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/RuntimeException.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/RuntimeException.php
deleted file mode 100644
index 3573bf1..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/RuntimeException.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception class thrown when an error occurs during parsing.
- *
- * @author Romain Neutron <imprec@gmail.com>
- *
- * @api
- */
-class RuntimeException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php
deleted file mode 100644
index 52ea724..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php
+++ /dev/null
@@ -1,546 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-use Symfony\Component\Yaml\Exception\DumpException;
-
-/**
- * Inline implements a YAML parser/dumper for the YAML inline syntax.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Inline
-{
-    const REGEX_QUOTED_STRING = '(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"|\'([^\']*(?:\'\'[^\']*)*)\')';
-
-    private static $exceptionOnInvalidType = false;
-    private static $objectSupport = false;
-    private static $objectForMap = false;
-
-    /**
-     * Converts a YAML string to a PHP array.
-     *
-     * @param string $value                  A YAML string
-     * @param bool   $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param bool   $objectSupport          true if object support is enabled, false otherwise
-     * @param bool   $objectForMap           true if maps should return a stdClass instead of array()
-     * @param array  $references             Mapping of variable names to values
-     *
-     * @return array A PHP array representing the YAML string
-     *
-     * @throws ParseException
-     */
-    public static function parse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false, $references = array())
-    {
-        self::$exceptionOnInvalidType = $exceptionOnInvalidType;
-        self::$objectSupport = $objectSupport;
-        self::$objectForMap = $objectForMap;
-
-        $value = trim($value);
-
-        if (0 == strlen($value)) {
-            return '';
-        }
-
-        if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
-            $mbEncoding = mb_internal_encoding();
-            mb_internal_encoding('ASCII');
-        }
-
-        $i = 0;
-        switch ($value[0]) {
-            case '[':
-                $result = self::parseSequence($value, $i, $references);
-                ++$i;
-                break;
-            case '{':
-                $result = self::parseMapping($value, $i, $references);
-                ++$i;
-                break;
-            default:
-                $result = self::parseScalar($value, null, array('"', "'"), $i, true, $references);
-        }
-
-        // some comments are allowed at the end
-        if (preg_replace('/\s+#.*$/A', '', substr($value, $i))) {
-            throw new ParseException(sprintf('Unexpected characters near "%s".', substr($value, $i)));
-        }
-
-        if (isset($mbEncoding)) {
-            mb_internal_encoding($mbEncoding);
-        }
-
-        return $result;
-    }
-
-    /**
-     * Dumps a given PHP variable to a YAML string.
-     *
-     * @param mixed $value                  The PHP variable to convert
-     * @param bool  $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param bool  $objectSupport          true if object support is enabled, false otherwise
-     *
-     * @return string The YAML string representing the PHP array
-     *
-     * @throws DumpException When trying to dump PHP resource
-     */
-    public static function dump($value, $exceptionOnInvalidType = false, $objectSupport = false)
-    {
-        switch (true) {
-            case is_resource($value):
-                if ($exceptionOnInvalidType) {
-                    throw new DumpException(sprintf('Unable to dump PHP resources in a YAML file ("%s").', get_resource_type($value)));
-                }
-
-                return 'null';
-            case is_object($value):
-                if ($objectSupport) {
-                    return '!!php/object:'.serialize($value);
-                }
-
-                if ($exceptionOnInvalidType) {
-                    throw new DumpException('Object support when dumping a YAML file has been disabled.');
-                }
-
-                return 'null';
-            case is_array($value):
-                return self::dumpArray($value, $exceptionOnInvalidType, $objectSupport);
-            case null === $value:
-                return 'null';
-            case true === $value:
-                return 'true';
-            case false === $value:
-                return 'false';
-            case ctype_digit($value):
-                return is_string($value) ? "'$value'" : (int) $value;
-            case is_numeric($value):
-                $locale = setlocale(LC_NUMERIC, 0);
-                if (false !== $locale) {
-                    setlocale(LC_NUMERIC, 'C');
-                }
-                if (is_float($value)) {
-                    $repr = (string) $value;
-                    if (is_infinite($value)) {
-                        $repr = str_ireplace('INF', '.Inf', $repr);
-                    } elseif (floor($value) == $value && $repr == $value) {
-                        // Preserve float data type since storing a whole number will result in integer value.
-                        $repr = '!!float '.$repr;
-                    }
-                } else {
-                    $repr = is_string($value) ? "'$value'" : (string) $value;
-                }
-                if (false !== $locale) {
-                    setlocale(LC_NUMERIC, $locale);
-                }
-
-                return $repr;
-            case '' == $value:
-                return "''";
-            case Escaper::requiresDoubleQuoting($value):
-                return Escaper::escapeWithDoubleQuotes($value);
-            case Escaper::requiresSingleQuoting($value):
-            case preg_match(self::getHexRegex(), $value):
-            case preg_match(self::getTimestampRegex(), $value):
-                return Escaper::escapeWithSingleQuotes($value);
-            default:
-                return $value;
-        }
-    }
-
-    /**
-     * Dumps a PHP array to a YAML string.
-     *
-     * @param array $value                  The PHP array to dump
-     * @param bool  $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param bool  $objectSupport          true if object support is enabled, false otherwise
-     *
-     * @return string The YAML string representing the PHP array
-     */
-    private static function dumpArray($value, $exceptionOnInvalidType, $objectSupport)
-    {
-        // array
-        $keys = array_keys($value);
-        $keysCount = count($keys);
-        if ((1 === $keysCount && '0' == $keys[0])
-            || ($keysCount > 1 && array_reduce($keys, function ($v, $w) { return (int) $v + $w; }, 0) === $keysCount * ($keysCount - 1) / 2)
-        ) {
-            $output = array();
-            foreach ($value as $val) {
-                $output[] = self::dump($val, $exceptionOnInvalidType, $objectSupport);
-            }
-
-            return sprintf('[%s]', implode(', ', $output));
-        }
-
-        // mapping
-        $output = array();
-        foreach ($value as $key => $val) {
-            $output[] = sprintf('%s: %s', self::dump($key, $exceptionOnInvalidType, $objectSupport), self::dump($val, $exceptionOnInvalidType, $objectSupport));
-        }
-
-        return sprintf('{ %s }', implode(', ', $output));
-    }
-
-    /**
-     * Parses a scalar to a YAML string.
-     *
-     * @param string $scalar
-     * @param string $delimiters
-     * @param array  $stringDelimiters
-     * @param int    &$i
-     * @param bool   $evaluate
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     */
-    public static function parseScalar($scalar, $delimiters = null, $stringDelimiters = array('"', "'"), &$i = 0, $evaluate = true, $references = array())
-    {
-        if (in_array($scalar[$i], $stringDelimiters)) {
-            // quoted scalar
-            $output = self::parseQuotedScalar($scalar, $i);
-
-            if (null !== $delimiters) {
-                $tmp = ltrim(substr($scalar, $i), ' ');
-                if (!in_array($tmp[0], $delimiters)) {
-                    throw new ParseException(sprintf('Unexpected characters (%s).', substr($scalar, $i)));
-                }
-            }
-        } else {
-            // "normal" string
-            if (!$delimiters) {
-                $output = substr($scalar, $i);
-                $i += strlen($output);
-
-                // remove comments
-                if (false !== $strpos = strpos($output, ' #')) {
-                    $output = rtrim(substr($output, 0, $strpos));
-                }
-            } elseif (preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) {
-                $output = $match[1];
-                $i += strlen($output);
-            } else {
-                throw new ParseException(sprintf('Malformed inline YAML string (%s).', $scalar));
-            }
-
-            if ($evaluate) {
-                $output = self::evaluateScalar($output, $references);
-            }
-        }
-
-        return $output;
-    }
-
-    /**
-     * Parses a quoted scalar to YAML.
-     *
-     * @param string $scalar
-     * @param int    &$i
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     */
-    private static function parseQuotedScalar($scalar, &$i)
-    {
-        if (!preg_match('/'.self::REGEX_QUOTED_STRING.'/Au', substr($scalar, $i), $match)) {
-            throw new ParseException(sprintf('Malformed inline YAML string (%s).', substr($scalar, $i)));
-        }
-
-        $output = substr($match[0], 1, strlen($match[0]) - 2);
-
-        $unescaper = new Unescaper();
-        if ('"' == $scalar[$i]) {
-            $output = $unescaper->unescapeDoubleQuotedString($output);
-        } else {
-            $output = $unescaper->unescapeSingleQuotedString($output);
-        }
-
-        $i += strlen($match[0]);
-
-        return $output;
-    }
-
-    /**
-     * Parses a sequence to a YAML string.
-     *
-     * @param string $sequence
-     * @param int    &$i
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     */
-    private static function parseSequence($sequence, &$i = 0, $references = array())
-    {
-        $output = array();
-        $len = strlen($sequence);
-        ++$i;
-
-        // [foo, bar, ...]
-        while ($i < $len) {
-            switch ($sequence[$i]) {
-                case '[':
-                    // nested sequence
-                    $output[] = self::parseSequence($sequence, $i, $references);
-                    break;
-                case '{':
-                    // nested mapping
-                    $output[] = self::parseMapping($sequence, $i, $references);
-                    break;
-                case ']':
-                    return $output;
-                case ',':
-                case ' ':
-                    break;
-                default:
-                    $isQuoted = in_array($sequence[$i], array('"', "'"));
-                    $value = self::parseScalar($sequence, array(',', ']'), array('"', "'"), $i, true, $references);
-
-                    // the value can be an array if a reference has been resolved to an array var
-                    if (!is_array($value) && !$isQuoted && false !== strpos($value, ': ')) {
-                        // embedded mapping?
-                        try {
-                            $pos = 0;
-                            $value = self::parseMapping('{'.$value.'}', $pos, $references);
-                        } catch (\InvalidArgumentException $e) {
-                            // no, it's not
-                        }
-                    }
-
-                    $output[] = $value;
-
-                    --$i;
-            }
-
-            ++$i;
-        }
-
-        throw new ParseException(sprintf('Malformed inline YAML string %s', $sequence));
-    }
-
-    /**
-     * Parses a mapping to a YAML string.
-     *
-     * @param string $mapping
-     * @param int    &$i
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     */
-    private static function parseMapping($mapping, &$i = 0, $references = array())
-    {
-        $output = array();
-        $len = strlen($mapping);
-        ++$i;
-
-        // {foo: bar, bar:foo, ...}
-        while ($i < $len) {
-            switch ($mapping[$i]) {
-                case ' ':
-                case ',':
-                    ++$i;
-                    continue 2;
-                case '}':
-                    if (self::$objectForMap) {
-                        return (object) $output;
-                    }
-
-                    return $output;
-            }
-
-            // key
-            $key = self::parseScalar($mapping, array(':', ' '), array('"', "'"), $i, false);
-
-            // value
-            $done = false;
-
-            while ($i < $len) {
-                switch ($mapping[$i]) {
-                    case '[':
-                        // nested sequence
-                        $value = self::parseSequence($mapping, $i, $references);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // Parser cannot abort this mapping earlier, since lines
-                        // are processed sequentially.
-                        if (!isset($output[$key])) {
-                            $output[$key] = $value;
-                        }
-                        $done = true;
-                        break;
-                    case '{':
-                        // nested mapping
-                        $value = self::parseMapping($mapping, $i, $references);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // Parser cannot abort this mapping earlier, since lines
-                        // are processed sequentially.
-                        if (!isset($output[$key])) {
-                            $output[$key] = $value;
-                        }
-                        $done = true;
-                        break;
-                    case ':':
-                    case ' ':
-                        break;
-                    default:
-                        $value = self::parseScalar($mapping, array(',', '}'), array('"', "'"), $i, true, $references);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // Parser cannot abort this mapping earlier, since lines
-                        // are processed sequentially.
-                        if (!isset($output[$key])) {
-                            $output[$key] = $value;
-                        }
-                        $done = true;
-                        --$i;
-                }
-
-                ++$i;
-
-                if ($done) {
-                    continue 2;
-                }
-            }
-        }
-
-        throw new ParseException(sprintf('Malformed inline YAML string %s', $mapping));
-    }
-
-    /**
-     * Evaluates scalars and replaces magic values.
-     *
-     * @param string $scalar
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException when object parsing support was disabled and the parser detected a PHP object or when a reference could not be resolved
-     */
-    private static function evaluateScalar($scalar, $references = array())
-    {
-        $scalar = trim($scalar);
-        $scalarLower = strtolower($scalar);
-
-        if (0 === strpos($scalar, '*')) {
-            if (false !== $pos = strpos($scalar, '#')) {
-                $value = substr($scalar, 1, $pos - 2);
-            } else {
-                $value = substr($scalar, 1);
-            }
-
-            // an unquoted *
-            if (false === $value || '' === $value) {
-                throw new ParseException('A reference must contain at least one character.');
-            }
-
-            if (!array_key_exists($value, $references)) {
-                throw new ParseException(sprintf('Reference "%s" does not exist.', $value));
-            }
-
-            return $references[$value];
-        }
-
-        switch (true) {
-            case 'null' === $scalarLower:
-            case '' === $scalar:
-            case '~' === $scalar:
-                return;
-            case 'true' === $scalarLower:
-                return true;
-            case 'false' === $scalarLower:
-                return false;
-            // Optimise for returning strings.
-            case $scalar[0] === '+' || $scalar[0] === '-' || $scalar[0] === '.' || $scalar[0] === '!' || is_numeric($scalar[0]):
-                switch (true) {
-                    case 0 === strpos($scalar, '!str'):
-                        return (string) substr($scalar, 5);
-                    case 0 === strpos($scalar, '! '):
-                        return (int) self::parseScalar(substr($scalar, 2));
-                    case 0 === strpos($scalar, '!!php/object:'):
-                        if (self::$objectSupport) {
-                            return unserialize(substr($scalar, 13));
-                        }
-
-                        if (self::$exceptionOnInvalidType) {
-                            throw new ParseException('Object support when parsing a YAML file has been disabled.');
-                        }
-
-                        return;
-                    case 0 === strpos($scalar, '!!float '):
-                        return (float) substr($scalar, 8);
-                    case ctype_digit($scalar):
-                        $raw = $scalar;
-                        $cast = (int) $scalar;
-
-                        return '0' == $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw);
-                    case '-' === $scalar[0] && ctype_digit(substr($scalar, 1)):
-                        $raw = $scalar;
-                        $cast = (int) $scalar;
-
-                        return '0' == $scalar[1] ? octdec($scalar) : (((string) $raw === (string) $cast) ? $cast : $raw);
-                    case is_numeric($scalar):
-                    case preg_match(self::getHexRegex(), $scalar):
-                        return '0x' === $scalar[0].$scalar[1] ? hexdec($scalar) : (float) $scalar;
-                    case '.inf' === $scalarLower:
-                    case '.nan' === $scalarLower:
-                        return -log(0);
-                    case '-.inf' === $scalarLower:
-                        return log(0);
-                    case preg_match('/^(-|\+)?[0-9,]+(\.[0-9]+)?$/', $scalar):
-                        return (float) str_replace(',', '', $scalar);
-                    case preg_match(self::getTimestampRegex(), $scalar):
-                        return strtotime($scalar);
-                }
-            default:
-                return (string) $scalar;
-        }
-    }
-
-    /**
-     * Gets a regex that matches a YAML date.
-     *
-     * @return string The regular expression
-     *
-     * @see http://www.yaml.org/spec/1.2/spec.html#id2761573
-     */
-    private static function getTimestampRegex()
-    {
-        return <<<EOF
-        ~^
-        (?P<year>[0-9][0-9][0-9][0-9])
-        -(?P<month>[0-9][0-9]?)
-        -(?P<day>[0-9][0-9]?)
-        (?:(?:[Tt]|[ \t]+)
-        (?P<hour>[0-9][0-9]?)
-        :(?P<minute>[0-9][0-9])
-        :(?P<second>[0-9][0-9])
-        (?:\.(?P<fraction>[0-9]*))?
-        (?:[ \t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
-        (?::(?P<tz_minute>[0-9][0-9]))?))?)?
-        $~x
-EOF;
-    }
-
-    /**
-     * Gets a regex that matches a YAML number in hexadecimal notation.
-     *
-     * @return string
-     */
-    private static function getHexRegex()
-    {
-        return '~^0x[0-9a-f]++$~i';
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE b/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE
deleted file mode 100644
index 43028bc..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2004-2015 Fabien Potencier
-
-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/symfony/yaml/Symfony/Component/Yaml/Parser.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php
deleted file mode 100644
index 065e650..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php
+++ /dev/null
@@ -1,697 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-
-/**
- * Parser parses YAML strings to convert them to PHP arrays.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Parser
-{
-    const FOLDED_SCALAR_PATTERN = '(?P<separator>\||>)(?P<modifiers>\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P<comments> +#.*)?';
-
-    private $offset = 0;
-    private $lines = array();
-    private $currentLineNb = -1;
-    private $currentLine = '';
-    private $refs = array();
-
-    /**
-     * Constructor.
-     *
-     * @param int $offset The offset of YAML document (used for line numbers in error messages)
-     */
-    public function __construct($offset = 0)
-    {
-        $this->offset = $offset;
-    }
-
-    /**
-     * Parses a YAML string to a PHP value.
-     *
-     * @param string $value                  A YAML string
-     * @param bool   $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param bool   $objectSupport          true if object support is enabled, false otherwise
-     * @param bool   $objectForMap           true if maps should return a stdClass instead of array()
-     *
-     * @return mixed A PHP value
-     *
-     * @throws ParseException If the YAML is not valid
-     */
-    public function parse($value, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false)
-    {
-        if (!preg_match('//u', $value)) {
-            throw new ParseException('The YAML value does not appear to be valid UTF-8.');
-        }
-        $this->currentLineNb = -1;
-        $this->currentLine = '';
-        $value = $this->cleanup($value);
-        $this->lines = explode("\n", $value);
-
-        if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
-            $mbEncoding = mb_internal_encoding();
-            mb_internal_encoding('UTF-8');
-        }
-
-        $data = array();
-        $context = null;
-        $allowOverwrite = false;
-        while ($this->moveToNextLine()) {
-            if ($this->isCurrentLineEmpty()) {
-                continue;
-            }
-
-            // tab?
-            if ("\t" === $this->currentLine[0]) {
-                throw new ParseException('A YAML file cannot contain tabs as indentation.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-
-            $isRef = $mergeNode = false;
-            if (preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+?))?\s*$#u', $this->currentLine, $values)) {
-                if ($context && 'mapping' == $context) {
-                    throw new ParseException('You cannot define a sequence item when in a mapping');
-                }
-                $context = 'sequence';
-
-                if (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
-                    $isRef = $matches['ref'];
-                    $values['value'] = $matches['value'];
-                }
-
-                // array
-                if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
-                    $c = $this->getRealCurrentLineNb() + 1;
-                    $parser = new Parser($c);
-                    $parser->refs = &$this->refs;
-                    $data[] = $parser->parse($this->getNextEmbedBlock(null, true), $exceptionOnInvalidType, $objectSupport, $objectForMap);
-                } else {
-                    if (isset($values['leadspaces'])
-                        && preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\{\[].*?) *\:(\s+(?P<value>.+?))?\s*$#u', $values['value'], $matches)
-                    ) {
-                        // this is a compact notation element, add to next block and parse
-                        $c = $this->getRealCurrentLineNb();
-                        $parser = new Parser($c);
-                        $parser->refs = &$this->refs;
-
-                        $block = $values['value'];
-                        if ($this->isNextLineIndented()) {
-                            $block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + strlen($values['leadspaces']) + 1);
-                        }
-
-                        $data[] = $parser->parse($block, $exceptionOnInvalidType, $objectSupport, $objectForMap);
-                    } else {
-                        $data[] = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport, $objectForMap);
-                    }
-                }
-            } elseif (preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\[\{].*?) *\:(\s+(?P<value>.+?))?\s*$#u', $this->currentLine, $values) && (false === strpos($values['key'], ' #') || in_array($values['key'][0], array('"', "'")))) {
-                if ($context && 'sequence' == $context) {
-                    throw new ParseException('You cannot define a mapping item when in a sequence');
-                }
-                $context = 'mapping';
-
-                // force correct settings
-                Inline::parse(null, $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);
-                try {
-                    $key = Inline::parseScalar($values['key']);
-                } catch (ParseException $e) {
-                    $e->setParsedLine($this->getRealCurrentLineNb() + 1);
-                    $e->setSnippet($this->currentLine);
-
-                    throw $e;
-                }
-
-                if ('<<' === $key) {
-                    $mergeNode = true;
-                    $allowOverwrite = true;
-                    if (isset($values['value']) && 0 === strpos($values['value'], '*')) {
-                        $refName = substr($values['value'], 1);
-                        if (!array_key_exists($refName, $this->refs)) {
-                            throw new ParseException(sprintf('Reference "%s" does not exist.', $refName), $this->getRealCurrentLineNb() + 1, $this->currentLine);
-                        }
-
-                        $refValue = $this->refs[$refName];
-
-                        if (!is_array($refValue)) {
-                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-                        }
-
-                        foreach ($refValue as $key => $value) {
-                            if (!isset($data[$key])) {
-                                $data[$key] = $value;
-                            }
-                        }
-                    } else {
-                        if (isset($values['value']) && $values['value'] !== '') {
-                            $value = $values['value'];
-                        } else {
-                            $value = $this->getNextEmbedBlock();
-                        }
-                        $c = $this->getRealCurrentLineNb() + 1;
-                        $parser = new Parser($c);
-                        $parser->refs = &$this->refs;
-                        $parsed = $parser->parse($value, $exceptionOnInvalidType, $objectSupport, $objectForMap);
-
-                        if (!is_array($parsed)) {
-                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-                        }
-
-                        if (isset($parsed[0])) {
-                            // If the value associated with the merge key is a sequence, then this sequence is expected to contain mapping nodes
-                            // and each of these nodes is merged in turn according to its order in the sequence. Keys in mapping nodes earlier
-                            // in the sequence override keys specified in later mapping nodes.
-                            foreach ($parsed as $parsedItem) {
-                                if (!is_array($parsedItem)) {
-                                    throw new ParseException('Merge items must be arrays.', $this->getRealCurrentLineNb() + 1, $parsedItem);
-                                }
-
-                                foreach ($parsedItem as $key => $value) {
-                                    if (!isset($data[$key])) {
-                                        $data[$key] = $value;
-                                    }
-                                }
-                            }
-                        } else {
-                            // If the value associated with the key is a single mapping node, each of its key/value pairs is inserted into the
-                            // current mapping, unless the key already exists in it.
-                            foreach ($parsed as $key => $value) {
-                                if (!isset($data[$key])) {
-                                    $data[$key] = $value;
-                                }
-                            }
-                        }
-                    }
-                } elseif (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
-                    $isRef = $matches['ref'];
-                    $values['value'] = $matches['value'];
-                }
-
-                if ($mergeNode) {
-                    // Merge keys
-                } elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
-                    // hash
-                    // if next line is less indented or equal, then it means that the current value is null
-                    if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) {
-                        // Spec: Keys MUST be unique; first one wins.
-                        // But overwriting is allowed when a merge node is used in current block.
-                        if ($allowOverwrite || !isset($data[$key])) {
-                            $data[$key] = null;
-                        }
-                    } else {
-                        $c = $this->getRealCurrentLineNb() + 1;
-                        $parser = new Parser($c);
-                        $parser->refs = &$this->refs;
-                        $value = $parser->parse($this->getNextEmbedBlock(), $exceptionOnInvalidType, $objectSupport, $objectForMap);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // But overwriting is allowed when a merge node is used in current block.
-                        if ($allowOverwrite || !isset($data[$key])) {
-                            $data[$key] = $value;
-                        }
-                    }
-                } else {
-                    $value = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport, $objectForMap);
-                    // Spec: Keys MUST be unique; first one wins.
-                    // But overwriting is allowed when a merge node is used in current block.
-                    if ($allowOverwrite || !isset($data[$key])) {
-                        $data[$key] = $value;
-                    }
-                }
-            } else {
-                // multiple documents are not supported
-                if ('---' === $this->currentLine) {
-                    throw new ParseException('Multiple documents are not supported.');
-                }
-
-                // 1-liner optionally followed by newline(s)
-                if ($this->lines[0] === trim($value)) {
-                    try {
-                        $value = Inline::parse($this->lines[0], $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);
-                    } catch (ParseException $e) {
-                        $e->setParsedLine($this->getRealCurrentLineNb() + 1);
-                        $e->setSnippet($this->currentLine);
-
-                        throw $e;
-                    }
-
-                    if (is_array($value)) {
-                        $first = reset($value);
-                        if (is_string($first) && 0 === strpos($first, '*')) {
-                            $data = array();
-                            foreach ($value as $alias) {
-                                $data[] = $this->refs[substr($alias, 1)];
-                            }
-                            $value = $data;
-                        }
-                    }
-
-                    if (isset($mbEncoding)) {
-                        mb_internal_encoding($mbEncoding);
-                    }
-
-                    return $value;
-                }
-
-                switch (preg_last_error()) {
-                    case PREG_INTERNAL_ERROR:
-                        $error = 'Internal PCRE error.';
-                        break;
-                    case PREG_BACKTRACK_LIMIT_ERROR:
-                        $error = 'pcre.backtrack_limit reached.';
-                        break;
-                    case PREG_RECURSION_LIMIT_ERROR:
-                        $error = 'pcre.recursion_limit reached.';
-                        break;
-                    case PREG_BAD_UTF8_ERROR:
-                        $error = 'Malformed UTF-8 data.';
-                        break;
-                    case PREG_BAD_UTF8_OFFSET_ERROR:
-                        $error = 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point.';
-                        break;
-                    default:
-                        $error = 'Unable to parse.';
-                }
-
-                throw new ParseException($error, $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-
-            if ($isRef) {
-                $this->refs[$isRef] = end($data);
-            }
-        }
-
-        if (isset($mbEncoding)) {
-            mb_internal_encoding($mbEncoding);
-        }
-
-        return empty($data) ? null : $data;
-    }
-
-    /**
-     * Returns the current line number (takes the offset into account).
-     *
-     * @return int The current line number
-     */
-    private function getRealCurrentLineNb()
-    {
-        return $this->currentLineNb + $this->offset;
-    }
-
-    /**
-     * Returns the current line indentation.
-     *
-     * @return int The current line indentation
-     */
-    private function getCurrentLineIndentation()
-    {
-        return strlen($this->currentLine) - strlen(ltrim($this->currentLine, ' '));
-    }
-
-    /**
-     * Returns the next embed block of YAML.
-     *
-     * @param int  $indentation The indent level at which the block is to be read, or null for default
-     * @param bool $inSequence  True if the enclosing data structure is a sequence
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When indentation problem are detected
-     */
-    private function getNextEmbedBlock($indentation = null, $inSequence = false)
-    {
-        $oldLineIndentation = $this->getCurrentLineIndentation();
-
-        if (!$this->moveToNextLine()) {
-            return;
-        }
-
-        if (null === $indentation) {
-            $newIndent = $this->getCurrentLineIndentation();
-
-            $unindentedEmbedBlock = $this->isStringUnIndentedCollectionItem($this->currentLine);
-
-            if (!$this->isCurrentLineEmpty() && 0 === $newIndent && !$unindentedEmbedBlock) {
-                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-        } else {
-            $newIndent = $indentation;
-        }
-
-        $data = array();
-        if ($this->getCurrentLineIndentation() >= $newIndent) {
-            $data[] = substr($this->currentLine, $newIndent);
-        } else {
-            $this->moveToPreviousLine();
-
-            return;
-        }
-
-        if ($inSequence && $oldLineIndentation === $newIndent && '-' === $data[0][0]) {
-            // the previous line contained a dash but no item content, this line is a sequence item with the same indentation
-            // and therefore no nested list or mapping
-            $this->moveToPreviousLine();
-
-            return;
-        }
-
-        $isItUnindentedCollection = $this->isStringUnIndentedCollectionItem($this->currentLine);
-
-        // Comments must not be removed inside a string block (ie. after a line ending with "|")
-        $removeCommentsPattern = '~'.self::FOLDED_SCALAR_PATTERN.'$~';
-        $removeComments = !preg_match($removeCommentsPattern, $this->currentLine);
-
-        while ($this->moveToNextLine()) {
-            $indent = $this->getCurrentLineIndentation();
-
-            if ($indent === $newIndent) {
-                $removeComments = !preg_match($removeCommentsPattern, $this->currentLine);
-            }
-
-            if ($isItUnindentedCollection && !$this->isStringUnIndentedCollectionItem($this->currentLine) && $newIndent === $indent) {
-                $this->moveToPreviousLine();
-                break;
-            }
-
-            if ($this->isCurrentLineBlank()) {
-                $data[] = substr($this->currentLine, $newIndent);
-                continue;
-            }
-
-            if ($removeComments && $this->isCurrentLineComment()) {
-                continue;
-            }
-
-            if ($indent >= $newIndent) {
-                $data[] = substr($this->currentLine, $newIndent);
-            } elseif (0 == $indent) {
-                $this->moveToPreviousLine();
-
-                break;
-            } else {
-                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-        }
-
-        return implode("\n", $data);
-    }
-
-    /**
-     * Moves the parser to the next line.
-     *
-     * @return bool
-     */
-    private function moveToNextLine()
-    {
-        if ($this->currentLineNb >= count($this->lines) - 1) {
-            return false;
-        }
-
-        $this->currentLine = $this->lines[++$this->currentLineNb];
-
-        return true;
-    }
-
-    /**
-     * Moves the parser to the previous line.
-     */
-    private function moveToPreviousLine()
-    {
-        $this->currentLine = $this->lines[--$this->currentLineNb];
-    }
-
-    /**
-     * Parses a YAML value.
-     *
-     * @param string $value                  A YAML value
-     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
-     * @param bool   $objectSupport          True if object support is enabled, false otherwise
-     * @param bool   $objectForMap           true if maps should return a stdClass instead of array()
-     *
-     * @return mixed A PHP value
-     *
-     * @throws ParseException When reference does not exist
-     */
-    private function parseValue($value, $exceptionOnInvalidType, $objectSupport, $objectForMap)
-    {
-        if (0 === strpos($value, '*')) {
-            if (false !== $pos = strpos($value, '#')) {
-                $value = substr($value, 1, $pos - 2);
-            } else {
-                $value = substr($value, 1);
-            }
-
-            if (!array_key_exists($value, $this->refs)) {
-                throw new ParseException(sprintf('Reference "%s" does not exist.', $value), $this->currentLine);
-            }
-
-            return $this->refs[$value];
-        }
-
-        if (preg_match('/^'.self::FOLDED_SCALAR_PATTERN.'$/', $value, $matches)) {
-            $modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : '';
-
-            return $this->parseFoldedScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), (int) abs($modifiers));
-        }
-
-        try {
-            return Inline::parse($value, $exceptionOnInvalidType, $objectSupport, $objectForMap, $this->refs);
-        } catch (ParseException $e) {
-            $e->setParsedLine($this->getRealCurrentLineNb() + 1);
-            $e->setSnippet($this->currentLine);
-
-            throw $e;
-        }
-    }
-
-    /**
-     * Parses a folded scalar.
-     *
-     * @param string $separator   The separator that was used to begin this folded scalar (| or >)
-     * @param string $indicator   The indicator that was used to begin this folded scalar (+ or -)
-     * @param int    $indentation The indentation that was used to begin this folded scalar
-     *
-     * @return string The text value
-     */
-    private function parseFoldedScalar($separator, $indicator = '', $indentation = 0)
-    {
-        $notEOF = $this->moveToNextLine();
-        if (!$notEOF) {
-            return '';
-        }
-
-        $isCurrentLineBlank = $this->isCurrentLineBlank();
-        $text = '';
-
-        // leading blank lines are consumed before determining indentation
-        while ($notEOF && $isCurrentLineBlank) {
-            // newline only if not EOF
-            if ($notEOF = $this->moveToNextLine()) {
-                $text .= "\n";
-                $isCurrentLineBlank = $this->isCurrentLineBlank();
-            }
-        }
-
-        // determine indentation if not specified
-        if (0 === $indentation) {
-            if (preg_match('/^ +/', $this->currentLine, $matches)) {
-                $indentation = strlen($matches[0]);
-            }
-        }
-
-        if ($indentation > 0) {
-            $pattern = sprintf('/^ {%d}(.*)$/', $indentation);
-
-            while (
-                $notEOF && (
-                    $isCurrentLineBlank ||
-                    preg_match($pattern, $this->currentLine, $matches)
-                )
-            ) {
-                if ($isCurrentLineBlank) {
-                    $text .= substr($this->currentLine, $indentation);
-                } else {
-                    $text .= $matches[1];
-                }
-
-                // newline only if not EOF
-                if ($notEOF = $this->moveToNextLine()) {
-                    $text .= "\n";
-                    $isCurrentLineBlank = $this->isCurrentLineBlank();
-                }
-            }
-        } elseif ($notEOF) {
-            $text .= "\n";
-        }
-
-        if ($notEOF) {
-            $this->moveToPreviousLine();
-        }
-
-        // replace all non-trailing single newlines with spaces in folded blocks
-        if ('>' === $separator) {
-            preg_match('/(\n*)$/', $text, $matches);
-            $text = preg_replace('/(?<!\n)\n(?!\n)/', ' ', rtrim($text, "\n"));
-            $text .= $matches[1];
-        }
-
-        // deal with trailing newlines as indicated
-        if ('' === $indicator) {
-            $text = preg_replace('/\n+$/s', "\n", $text);
-        } elseif ('-' === $indicator) {
-            $text = preg_replace('/\n+$/s', '', $text);
-        }
-
-        return $text;
-    }
-
-    /**
-     * Returns true if the next line is indented.
-     *
-     * @return bool Returns true if the next line is indented, false otherwise
-     */
-    private function isNextLineIndented()
-    {
-        $currentIndentation = $this->getCurrentLineIndentation();
-        $EOF = !$this->moveToNextLine();
-
-        while (!$EOF && $this->isCurrentLineEmpty()) {
-            $EOF = !$this->moveToNextLine();
-        }
-
-        if ($EOF) {
-            return false;
-        }
-
-        $ret = false;
-        if ($this->getCurrentLineIndentation() > $currentIndentation) {
-            $ret = true;
-        }
-
-        $this->moveToPreviousLine();
-
-        return $ret;
-    }
-
-    /**
-     * Returns true if the current line is blank or if it is a comment line.
-     *
-     * @return bool Returns true if the current line is empty or if it is a comment line, false otherwise
-     */
-    private function isCurrentLineEmpty()
-    {
-        return $this->isCurrentLineBlank() || $this->isCurrentLineComment();
-    }
-
-    /**
-     * Returns true if the current line is blank.
-     *
-     * @return bool Returns true if the current line is blank, false otherwise
-     */
-    private function isCurrentLineBlank()
-    {
-        return '' == trim($this->currentLine, ' ');
-    }
-
-    /**
-     * Returns true if the current line is a comment line.
-     *
-     * @return bool Returns true if the current line is a comment line, false otherwise
-     */
-    private function isCurrentLineComment()
-    {
-        //checking explicitly the first char of the trim is faster than loops or strpos
-        $ltrimmedLine = ltrim($this->currentLine, ' ');
-
-        return $ltrimmedLine[0] === '#';
-    }
-
-    /**
-     * Cleanups a YAML string to be parsed.
-     *
-     * @param string $value The input YAML string
-     *
-     * @return string A cleaned up YAML string
-     */
-    private function cleanup($value)
-    {
-        $value = str_replace(array("\r\n", "\r"), "\n", $value);
-
-        // strip YAML header
-        $count = 0;
-        $value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#u', '', $value, -1, $count);
-        $this->offset += $count;
-
-        // remove leading comments
-        $trimmedValue = preg_replace('#^(\#.*?\n)+#s', '', $value, -1, $count);
-        if ($count == 1) {
-            // items have been removed, update the offset
-            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
-            $value = $trimmedValue;
-        }
-
-        // remove start of the document marker (---)
-        $trimmedValue = preg_replace('#^\-\-\-.*?\n#s', '', $value, -1, $count);
-        if ($count == 1) {
-            // items have been removed, update the offset
-            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
-            $value = $trimmedValue;
-
-            // remove end of the document marker (...)
-            $value = preg_replace('#\.\.\.\s*$#s', '', $value);
-        }
-
-        return $value;
-    }
-
-    /**
-     * Returns true if the next line starts unindented collection.
-     *
-     * @return bool Returns true if the next line starts unindented collection, false otherwise
-     */
-    private function isNextLineUnIndentedCollection()
-    {
-        $currentIndentation = $this->getCurrentLineIndentation();
-        $notEOF = $this->moveToNextLine();
-
-        while ($notEOF && $this->isCurrentLineEmpty()) {
-            $notEOF = $this->moveToNextLine();
-        }
-
-        if (false === $notEOF) {
-            return false;
-        }
-
-        $ret = false;
-        if (
-            $this->getCurrentLineIndentation() == $currentIndentation
-            &&
-            $this->isStringUnIndentedCollectionItem($this->currentLine)
-        ) {
-            $ret = true;
-        }
-
-        $this->moveToPreviousLine();
-
-        return $ret;
-    }
-
-    /**
-     * Returns true if the string is un-indented collection item.
-     *
-     * @return bool Returns true if the string is un-indented collection item, false otherwise
-     */
-    private function isStringUnIndentedCollectionItem()
-    {
-        return (0 === strpos($this->currentLine, '- '));
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/README.md b/core/vendor/symfony/yaml/Symfony/Component/Yaml/README.md
deleted file mode 100644
index 85a9786..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-Yaml Component
-==============
-
-YAML implements most of the YAML 1.2 specification.
-
-```php
-use Symfony\Component\Yaml\Yaml;
-
-$array = Yaml::parse(file_get_contents(filename));
-
-print Yaml::dump($array);
-```
-
-Resources
----------
-
-You can run the unit tests with the following command:
-
-    $ cd path/to/Symfony/Component/Yaml/
-    $ composer install
-    $ phpunit
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php
deleted file mode 100644
index b103b9a..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php
+++ /dev/null
@@ -1,236 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Parser;
-use Symfony\Component\Yaml\Dumper;
-
-class DumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected $parser;
-    protected $dumper;
-    protected $path;
-
-    protected $array = array(
-        '' => 'bar',
-        'foo' => '#bar',
-        'foo\'bar' => array(),
-        'bar' => array(1, 'foo'),
-        'foobar' => array(
-            'foo' => 'bar',
-            'bar' => array(1, 'foo'),
-            'foobar' => array(
-                'foo' => 'bar',
-                'bar' => array(1, 'foo'),
-            ),
-        ),
-    );
-
-    protected function setUp()
-    {
-        $this->parser = new Parser();
-        $this->dumper = new Dumper();
-        $this->path = __DIR__.'/Fixtures';
-    }
-
-    protected function tearDown()
-    {
-        $this->parser = null;
-        $this->dumper = null;
-        $this->path = null;
-        $this->array = null;
-    }
-
-    public function testSetIndentation()
-    {
-        $this->dumper->setIndentation(7);
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar:
-       - 1
-       - foo
-foobar:
-       foo: bar
-       bar:
-              - 1
-              - foo
-       foobar:
-              foo: bar
-              bar:
-                     - 1
-                     - foo
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($this->array, 4, 0));
-    }
-
-    public function testSpecifications()
-    {
-        $files = $this->parser->parse(file_get_contents($this->path.'/index.yml'));
-        foreach ($files as $file) {
-            $yamls = file_get_contents($this->path.'/'.$file.'.yml');
-
-            // split YAMLs documents
-            foreach (preg_split('/^---( %YAML\:1\.0)?/m', $yamls) as $yaml) {
-                if (!$yaml) {
-                    continue;
-                }
-
-                $test = $this->parser->parse($yaml);
-                if (isset($test['dump_skip']) && $test['dump_skip']) {
-                    continue;
-                } elseif (isset($test['todo']) && $test['todo']) {
-                    // TODO
-                } else {
-                    eval('$expected = '.trim($test['php']).';');
-                    $this->assertSame($expected, $this->parser->parse($this->dumper->dump($expected, 10)), $test['test']);
-                }
-            }
-        }
-    }
-
-    public function testInlineLevel()
-    {
-        $expected = <<<EOF
-{ '': bar, foo: '#bar', 'foo''bar': {  }, bar: [1, foo], foobar: { foo: bar, bar: [1, foo], foobar: { foo: bar, bar: [1, foo] } } }
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($this->array, -10), '->dump() takes an inline level argument');
-        $this->assertEquals($expected, $this->dumper->dump($this->array, 0), '->dump() takes an inline level argument');
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar: [1, foo]
-foobar: { foo: bar, bar: [1, foo], foobar: { foo: bar, bar: [1, foo] } }
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($this->array, 1), '->dump() takes an inline level argument');
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar:
-    - 1
-    - foo
-foobar:
-    foo: bar
-    bar: [1, foo]
-    foobar: { foo: bar, bar: [1, foo] }
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($this->array, 2), '->dump() takes an inline level argument');
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar:
-    - 1
-    - foo
-foobar:
-    foo: bar
-    bar:
-        - 1
-        - foo
-    foobar:
-        foo: bar
-        bar: [1, foo]
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($this->array, 3), '->dump() takes an inline level argument');
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar:
-    - 1
-    - foo
-foobar:
-    foo: bar
-    bar:
-        - 1
-        - foo
-    foobar:
-        foo: bar
-        bar:
-            - 1
-            - foo
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($this->array, 4), '->dump() takes an inline level argument');
-        $this->assertEquals($expected, $this->dumper->dump($this->array, 10), '->dump() takes an inline level argument');
-    }
-
-    public function testObjectSupportEnabled()
-    {
-        $dump = $this->dumper->dump(array('foo' => new A(), 'bar' => 1), 0, 0, false, true);
-
-        $this->assertEquals('{ foo: !!php/object:O:30:"Symfony\Component\Yaml\Tests\A":1:{s:1:"a";s:3:"foo";}, bar: 1 }', $dump, '->dump() is able to dump objects');
-    }
-
-    public function testObjectSupportDisabledButNoExceptions()
-    {
-        $dump = $this->dumper->dump(array('foo' => new A(), 'bar' => 1));
-
-        $this->assertEquals('{ foo: null, bar: 1 }', $dump, '->dump() does not dump objects when disabled');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\DumpException
-     */
-    public function testObjectSupportDisabledWithExceptions()
-    {
-        $this->dumper->dump(array('foo' => new A(), 'bar' => 1), 0, 0, true, false);
-    }
-
-    /**
-     * @dataProvider getEscapeSequences
-     */
-    public function testEscapedEscapeSequencesInQuotedScalar($input, $expected)
-    {
-        $this->assertEquals($expected, $this->dumper->dump($input));
-    }
-
-    public function getEscapeSequences()
-    {
-        return array(
-            'null' => array("\t\\0", '"\t\\\\0"'),
-            'bell' => array("\t\\a", '"\t\\\\a"'),
-            'backspace' => array("\t\\b", '"\t\\\\b"'),
-            'horizontal-tab' => array("\t\\t", '"\t\\\\t"'),
-            'line-feed' => array("\t\\n", '"\t\\\\n"'),
-            'vertical-tab' => array("\t\\v", '"\t\\\\v"'),
-            'form-feed' => array("\t\\f", '"\t\\\\f"'),
-            'carriage-return' => array("\t\\r", '"\t\\\\r"'),
-            'escape' => array("\t\\e", '"\t\\\\e"'),
-            'space' => array("\t\\ ", '"\t\\\\ "'),
-            'double-quote' => array("\t\\\"", '"\t\\\\\\""'),
-            'slash' => array("\t\\/", '"\t\\\\/"'),
-            'backslash' => array("\t\\\\", '"\t\\\\\\\\"'),
-            'next-line' => array("\t\\N", '"\t\\\\N"'),
-            'non-breaking-space' => array("\t\\�", '"\t\\\\�"'),
-            'line-separator' => array("\t\\L", '"\t\\\\L"'),
-            'paragraph-separator' => array("\t\\P", '"\t\\\\P"'),
-        );
-    }
-}
-
-class A
-{
-    public $a = 'foo';
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml
deleted file mode 100644
index 5f9c942..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml
+++ /dev/null
@@ -1,31 +0,0 @@
---- %YAML:1.0
-test: Simple Alias Example
-brief: >
-    If you need to refer to the same item of data twice,
-    you can give that item an alias.  The alias is a plain
-    string, starting with an ampersand.  The item may then
-    be referred to by the alias throughout your document
-    by using an asterisk before the name of the alias.
-    This is called an anchor.
-yaml: |
-    - &showell Steve
-    - Clark
-    - Brian
-    - Oren
-    - *showell
-php: |
-    array('Steve', 'Clark', 'Brian', 'Oren', 'Steve')
-
----
-test: Alias of a Mapping
-brief: >
-    An alias can be used on any item of data, including
-    sequences, mappings, and other complex data types.
-yaml: |
-    - &hello
-        Meat: pork
-        Starch: potato
-    - banana
-    - *hello
-php: |
-    array(array('Meat'=>'pork', 'Starch'=>'potato'), 'banana', array('Meat'=>'pork', 'Starch'=>'potato'))
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml
deleted file mode 100644
index dfd9302..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml
+++ /dev/null
@@ -1,202 +0,0 @@
---- %YAML:1.0
-test: Simple Sequence
-brief: |
-    You can specify a list in YAML by placing each
-    member of the list on a new line with an opening
-    dash. These lists are called sequences.
-yaml: |
-    - apple
-    - banana
-    - carrot
-php: |
-    array('apple', 'banana', 'carrot')
----
-test: Sequence With Item Being Null In The Middle
-brief: |
-    You can specify a list in YAML by placing each
-    member of the list on a new line with an opening
-    dash. These lists are called sequences.
-yaml: |
-    - apple
-    -
-    - carrot
-php: |
-    array('apple', null, 'carrot')
----
-test: Sequence With Last Item Being Null
-brief: |
-    You can specify a list in YAML by placing each
-    member of the list on a new line with an opening
-    dash. These lists are called sequences.
-yaml: |
-    - apple
-    - banana
-    -
-php: |
-    array('apple', 'banana', null)
----
-test: Nested Sequences
-brief: |
-    You can include a sequence within another
-    sequence by giving the sequence an empty
-    dash, followed by an indented list.
-yaml: |
-    -
-     - foo
-     - bar
-     - baz
-php: |
-    array(array('foo', 'bar', 'baz'))
----
-test: Mixed Sequences
-brief: |
-    Sequences can contain any YAML data,
-    including strings and other sequences.
-yaml: |
-    - apple
-    -
-     - foo
-     - bar
-     - x123
-    - banana
-    - carrot
-php: |
-    array('apple', array('foo', 'bar', 'x123'), 'banana', 'carrot')
----
-test: Deeply Nested Sequences
-brief: |
-    Sequences can be nested even deeper, with each
-    level of indentation representing a level of
-    depth.
-yaml: |
-    -
-     -
-      - uno
-      - dos
-php: |
-    array(array(array('uno', 'dos')))
----
-test: Simple Mapping
-brief: |
-    You can add a keyed list (also known as a dictionary or
-    hash) to your document by placing each member of the
-    list on a new line, with a colon separating the key
-    from its value.  In YAML, this type of list is called
-    a mapping.
-yaml: |
-    foo: whatever
-    bar: stuff
-php: |
-    array('foo' => 'whatever', 'bar' => 'stuff')
----
-test: Sequence in a Mapping
-brief: |
-    A value in a mapping can be a sequence.
-yaml: |
-    foo: whatever
-    bar:
-     - uno
-     - dos
-php: |
-    array('foo' => 'whatever', 'bar' => array('uno', 'dos'))
----
-test: Nested Mappings
-brief: |
-    A value in a mapping can be another mapping.
-yaml: |
-    foo: whatever
-    bar:
-     fruit: apple
-     name: steve
-     sport: baseball
-php: |
-    array(
-      'foo' => 'whatever',
-      'bar' => array(
-         'fruit' => 'apple',
-         'name' => 'steve',
-         'sport' => 'baseball'
-       )
-    )
----
-test: Mixed Mapping
-brief: |
-    A mapping can contain any assortment
-    of mappings and sequences as values.
-yaml: |
-    foo: whatever
-    bar:
-     -
-       fruit: apple
-       name: steve
-       sport: baseball
-     - more
-     -
-       python: rocks
-       perl: papers
-       ruby: scissorses
-php: |
-    array(
-      'foo' => 'whatever',
-      'bar' => array(
-        array(
-            'fruit' => 'apple',
-            'name' => 'steve',
-            'sport' => 'baseball'
-        ),
-        'more',
-        array(
-            'python' => 'rocks',
-            'perl' => 'papers',
-            'ruby' => 'scissorses'
-        )
-      )
-    )
----
-test: Mapping-in-Sequence Shortcut
-todo: true
-brief: |
-     If you are adding a mapping to a sequence, you
-     can place the mapping on the same line as the
-     dash as a shortcut.
-yaml: |
-     - work on YAML.py:
-        - work on Store
-php: |
-    array(array('work on YAML.py' => array('work on Store')))
----
-test: Sequence-in-Mapping Shortcut
-todo: true
-brief: |
-     The dash in a sequence counts as indentation, so
-     you can add a sequence inside of a mapping without
-     needing spaces as indentation.
-yaml: |
-     allow:
-     - 'localhost'
-     - '%.sourceforge.net'
-     - '%.freepan.org'
-php: |
-     array('allow' => array('localhost', '%.sourceforge.net', '%.freepan.org'))
----
-todo: true
-test: Merge key
-brief: |
-     A merge key ('<<') can be used in a mapping to insert other mappings.  If
-     the value associated with the merge key is a mapping, each of its key/value
-     pairs is inserted into the current mapping.
-yaml: |
-     mapping:
-       name: Joe
-       job: Accountant
-       <<:
-         age: 38
-php: |
-     array(
-       'mapping' =>
-       array(
-         'name' => 'Joe',
-         'job' => 'Accountant',
-         'age' => 38
-       )
-     )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml
deleted file mode 100644
index f7ca469..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml
+++ /dev/null
@@ -1,51 +0,0 @@
----
-test: One Element Mapping
-brief: |
-    A mapping with one key/value pair
-yaml: |
-    foo: bar
-php: |
-    array('foo' => 'bar')
----
-test: Multi Element Mapping
-brief: |
-    More than one key/value pair
-yaml: |
-    red: baron
-    white: walls
-    blue: berries
-php: |
-    array(
-     'red' => 'baron',
-     'white' => 'walls',
-     'blue' => 'berries',
-    )
----
-test: Values aligned
-brief: |
-    Often times human editors of documents will align the values even
-    though YAML emitters generally don't.
-yaml: |
-    red:   baron
-    white: walls
-    blue:  berries
-php: |
-    array(
-     'red' => 'baron',
-     'white' => 'walls',
-     'blue' => 'berries',
-    )
----
-test: Colons aligned
-brief: |
-    Spaces can come before the ': ' key/value separator.
-yaml: |
-    red   : baron
-    white : walls
-    blue  : berries
-php: |
-    array(
-     'red' => 'baron',
-     'white' => 'walls',
-     'blue' => 'berries',
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml
deleted file mode 100644
index f8501dd..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml
+++ /dev/null
@@ -1,85 +0,0 @@
---- %YAML:1.0
-test: Trailing Document Separator
-todo: true
-brief: >
-    You can separate YAML documents
-    with a string of three dashes.
-yaml: |
-    - foo: 1
-      bar: 2
-    ---
-    more: stuff
-python: |
-    [
-        [ { 'foo': 1, 'bar': 2 } ],
-        { 'more': 'stuff' }
-    ]
-ruby: |
-    [ { 'foo' => 1, 'bar' => 2 } ]
-
----
-test: Leading Document Separator
-todo: true
-brief: >
-    You can explicity give an opening
-    document separator to your YAML stream.
-yaml: |
-    ---
-    - foo: 1
-      bar: 2
-    ---
-    more: stuff
-python: |
-    [
-        [ {'foo': 1, 'bar': 2}],
-        {'more': 'stuff'}
-    ]
-ruby: |
-    [ { 'foo' => 1, 'bar' => 2 } ]
-
----
-test: YAML Header
-todo: true
-brief: >
-    The opening separator can contain directives
-    to the YAML parser, such as the version
-    number.
-yaml: |
-    --- %YAML:1.0
-    foo: 1
-    bar: 2
-php: |
-    array('foo' => 1, 'bar' => 2)
-documents: 1
-
----
-test: Red Herring Document Separator
-brief: >
-    Separators included in blocks or strings
-    are treated as blocks or strings, as the
-    document separator should have no indentation
-    preceding it.
-yaml: |
-    foo: |
-        ---
-php: |
-    array('foo' => "---\n")
-
----
-test: Multiple Document Separators in Block
-brief: >
-    This technique allows you to embed other YAML
-    documents within literal blocks.
-yaml: |
-    foo: |
-        ---
-        foo: bar
-        ---
-        yo: baz
-    bar: |
-        fooness
-php: |
-    array(
-       'foo' => "---\nfoo: bar\n---\nyo: baz\n",
-       'bar' => "fooness\n"
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml
deleted file mode 100644
index e8506fc..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-test: Missing value for hash item
-todo: true
-brief: |
-    Third item in this hash doesn't have a value
-yaml: |
-    okay: value
-    also okay: ~
-    causes error because no value specified
-    last key: value okay here too
-python-error: causes error because no value specified
-
----
-test: Not indenting enough
-brief: |
-    There was a bug in PyYaml where it was off by one
-    in the indentation check.  It was allowing the YAML
-    below.
-# This is actually valid YAML now. Someone should tell showell.
-yaml: |
-    foo:
-    firstline: 1
-    secondline: 2
-php: |
-  array('foo' => null, 'firstline' => 1, 'secondline' => 2)
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml
deleted file mode 100644
index 03090e4..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml
+++ /dev/null
@@ -1,60 +0,0 @@
----
-test: Simple Inline Array
-brief: >
-    Sequences can be contained on a
-    single line, using the inline syntax.
-    Separate each entry with commas and
-    enclose in square brackets.
-yaml: |
-    seq: [ a, b, c ]
-php: |
-    array('seq' => array('a', 'b', 'c'))
----
-test: Simple Inline Hash
-brief: >
-    Mapping can also be contained on
-    a single line, using the inline
-    syntax.  Each key-value pair is
-    separated by a colon, with a comma
-    between each entry in the mapping.
-    Enclose with curly braces.
-yaml: |
-    hash: { name: Steve, foo: bar }
-php: |
-    array('hash' => array('name' => 'Steve', 'foo' => 'bar'))
----
-test: Multi-line Inline Collections
-todo: true
-brief: >
-    Both inline sequences and inline mappings
-    can span multiple lines, provided that you
-    indent the additional lines.
-yaml: |
-    languages: [ Ruby,
-                 Perl,
-                 Python ]
-    websites: { YAML: yaml.org,
-                Ruby: ruby-lang.org,
-                Python: python.org,
-                Perl: use.perl.org }
-php: |
-    array(
-      'languages' => array('Ruby', 'Perl', 'Python'),
-      'websites' => array(
-        'YAML' => 'yaml.org',
-        'Ruby' => 'ruby-lang.org',
-        'Python' => 'python.org',
-        'Perl' => 'use.perl.org'
-      )
-    )
----
-test: Commas in Values (not in the spec!)
-todo: true
-brief: >
-    List items in collections are delimited by commas, but
-    there must be a space after each comma.  This allows you
-    to add numbers without quoting.
-yaml: |
-    attendances: [ 45,123, 70,000, 17,222 ]
-php: |
-    array('attendances' => array(45123, 70000, 17222))
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml
deleted file mode 100644
index a14735a..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml
+++ /dev/null
@@ -1,176 +0,0 @@
---- %YAML:1.0
-test: Single ending newline
-brief: >
-    A pipe character, followed by an indented
-    block of text is treated as a literal
-    block, in which newlines are preserved
-    throughout the block, including the final
-    newline.
-yaml: |
-    ---
-    this: |
-        Foo
-        Bar
-php: |
-    array('this' => "Foo\nBar\n")
----
-test: The '+' indicator
-brief: >
-    The '+' indicator says to keep newlines at the end of text
-    blocks.
-yaml: |
-    normal: |
-      extra new lines not kept
-
-    preserving: |+
-      extra new lines are kept
-
-
-    dummy: value
-php: |
-    array(
-        'normal' => "extra new lines not kept\n",
-        'preserving' => "extra new lines are kept\n\n\n",
-        'dummy' => 'value'
-    )
----
-test: Three trailing newlines in literals
-brief: >
-    To give you more control over how space
-    is preserved in text blocks, YAML has
-    the keep '+' and chomp '-' indicators.
-    The keep indicator will preserve all
-    ending newlines, while the chomp indicator
-    will strip all ending newlines.
-yaml: |
-    clipped: |
-        This has one newline.
-
-
-
-    same as "clipped" above: "This has one newline.\n"
-
-    stripped: |-
-        This has no newline.
-
-
-
-    same as "stripped" above: "This has no newline."
-
-    kept: |+
-        This has four newlines.
-
-
-
-    same as "kept" above: "This has four newlines.\n\n\n\n"
-php: |
-    array(
-      'clipped' => "This has one newline.\n",
-      'same as "clipped" above' => "This has one newline.\n",
-      'stripped' => 'This has no newline.',
-      'same as "stripped" above' => 'This has no newline.',
-      'kept' => "This has four newlines.\n\n\n\n",
-      'same as "kept" above' => "This has four newlines.\n\n\n\n"
-    )
----
-test: Extra trailing newlines with spaces
-todo: true
-brief: >
-    Normally, only a single newline is kept
-    from the end of a literal block, unless the
-    keep '+' character is used in combination
-    with the pipe.  The following example
-    will preserve all ending whitespace
-    since the last line of both literal blocks
-    contains spaces which extend past the indentation
-    level.
-yaml: |
-    ---
-    this: |
-        Foo
-
-
-    kept: |+
-        Foo
-
-
-php: |
-    array('this' => "Foo\n\n  \n",
-      'kept' => "Foo\n\n  \n" )
-
----
-test: Folded Block in a Sequence
-brief: >
-    A greater-then character, followed by an indented
-    block of text is treated as a folded block, in
-    which lines of text separated by a single newline
-    are concatenated as a single line.
-yaml: |
-    ---
-    - apple
-    - banana
-    - >
-        can't you see
-        the beauty of yaml?
-        hmm
-    - dog
-php: |
-    array(
-        'apple',
-        'banana',
-        "can't you see the beauty of yaml? hmm\n",
-        'dog'
-    )
----
-test: Folded Block as a Mapping Value
-brief: >
-    Both literal and folded blocks can be
-    used in collections, as values in a
-    sequence or a mapping.
-yaml: |
-    ---
-    quote: >
-        Mark McGwire's
-        year was crippled
-        by a knee injury.
-    source: espn
-php: |
-    array(
-        'quote' => "Mark McGwire's year was crippled by a knee injury.\n",
-        'source' => 'espn'
-    )
----
-test: Three trailing newlines in folded blocks
-brief: >
-    The keep and chomp indicators can also
-    be applied to folded blocks.
-yaml: |
-    clipped: >
-        This has one newline.
-
-
-
-    same as "clipped" above: "This has one newline.\n"
-
-    stripped: >-
-        This has no newline.
-
-
-
-    same as "stripped" above: "This has no newline."
-
-    kept: >+
-        This has four newlines.
-
-
-
-    same as "kept" above: "This has four newlines.\n\n\n\n"
-php: |
-    array(
-      'clipped' => "This has one newline.\n",
-      'same as "clipped" above' => "This has one newline.\n",
-      'stripped' => 'This has no newline.',
-      'same as "stripped" above' => 'This has no newline.',
-      'kept' => "This has four newlines.\n\n\n\n",
-      'same as "kept" above' => "This has four newlines.\n\n\n\n"
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml
deleted file mode 100644
index 9a5300f..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml
+++ /dev/null
@@ -1,45 +0,0 @@
---- %YAML:1.0
-test: Empty Sequence
-brief: >
-    You can represent the empty sequence
-    with an empty inline sequence.
-yaml: |
-    empty: []
-php: |
-    array('empty' => array())
----
-test: Empty Mapping
-brief: >
-    You can represent the empty mapping
-    with an empty inline mapping.
-yaml: |
-    empty: {}
-php: |
-    array('empty' => array())
----
-test: Empty Sequence as Entire Document
-yaml: |
-    []
-php: |
-    array()
----
-test: Empty Mapping as Entire Document
-yaml: |
-    {}
-php: |
-    array()
----
-test: Null as Document
-yaml: |
-    ~
-php: |
-    null
----
-test: Empty String
-brief: >
-    You can represent an empty string
-    with a pair of quotes.
-yaml: |
-    ''
-php: |
-    ''
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml
deleted file mode 100644
index 0a8b5de..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml
+++ /dev/null
@@ -1,1697 +0,0 @@
---- %YAML:1.0
-test: Sequence of scalars
-spec: 2.1
-yaml: |
-  - Mark McGwire
-  - Sammy Sosa
-  - Ken Griffey
-php: |
-  array('Mark McGwire', 'Sammy Sosa', 'Ken Griffey')
----
-test: Mapping of scalars to scalars
-spec: 2.2
-yaml: |
-  hr:  65
-  avg: 0.278
-  rbi: 147
-php: |
-  array('hr' => 65, 'avg' => 0.278, 'rbi' => 147)
----
-test: Mapping of scalars to sequences
-spec: 2.3
-yaml: |
-    american:
-       - Boston Red Sox
-       - Detroit Tigers
-       - New York Yankees
-    national:
-       - New York Mets
-       - Chicago Cubs
-       - Atlanta Braves
-php: |
-    array('american' =>
-        array( 'Boston Red Sox', 'Detroit Tigers',
-          'New York Yankees' ),
-      'national' =>
-        array( 'New York Mets', 'Chicago Cubs',
-          'Atlanta Braves' )
-    )
----
-test: Sequence of mappings
-spec: 2.4
-yaml: |
-    -
-      name: Mark McGwire
-      hr:   65
-      avg:  0.278
-    -
-      name: Sammy Sosa
-      hr:   63
-      avg:  0.288
-php: |
-    array(
-      array('name' => 'Mark McGwire', 'hr' => 65, 'avg' => 0.278),
-      array('name' => 'Sammy Sosa', 'hr' => 63, 'avg' => 0.288)
-    )
----
-test: Legacy A5
-todo: true
-spec: legacy_A5
-yaml: |
-    ?
-        - New York Yankees
-        - Atlanta Braves
-    :
-      - 2001-07-02
-      - 2001-08-12
-      - 2001-08-14
-    ?
-        - Detroit Tigers
-        - Chicago Cubs
-    :
-      - 2001-07-23
-perl-busted: >
-    YAML.pm will be able to emulate this behavior soon. In this regard
-    it may be somewhat more correct than Python's native behaviour which
-    can only use tuples as mapping keys. PyYAML will also need to figure
-    out some clever way to roundtrip structured keys.
-python: |
-    [
-    {
-        ('New York Yankees', 'Atlanta Braves'):
-            [yaml.timestamp('2001-07-02'),
-             yaml.timestamp('2001-08-12'),
-             yaml.timestamp('2001-08-14')],
-        ('Detroit Tigers', 'Chicago Cubs'):
-        [yaml.timestamp('2001-07-23')]
-    }
-    ]
-ruby: |
-    {
-      [ 'New York Yankees', 'Atlanta Braves' ] =>
-        [ Date.new( 2001, 7, 2 ), Date.new( 2001, 8, 12 ), Date.new( 2001, 8, 14 ) ],
-      [ 'Detroit Tigers', 'Chicago Cubs' ] =>
-        [ Date.new( 2001, 7, 23 ) ]
-    }
-syck: |
-  struct test_node seq1[] = {
-      { T_STR, 0, "New York Yankees" },
-      { T_STR, 0, "Atlanta Braves" },
-      end_node
-  };
-  struct test_node seq2[] = {
-      { T_STR, 0, "2001-07-02" },
-      { T_STR, 0, "2001-08-12" },
-      { T_STR, 0, "2001-08-14" },
-      end_node
-  };
-  struct test_node seq3[] = {
-      { T_STR, 0, "Detroit Tigers" },
-      { T_STR, 0, "Chicago Cubs" },
-      end_node
-  };
-  struct test_node seq4[] = {
-      { T_STR, 0, "2001-07-23" },
-      end_node
-  };
-  struct test_node map[] = {
-      { T_SEQ, 0, 0, seq1 },
-      { T_SEQ, 0, 0, seq2 },
-      { T_SEQ, 0, 0, seq3 },
-      { T_SEQ, 0, 0, seq4 },
-      end_node
-  };
-  struct test_node stream[] = {
-      { T_MAP, 0, 0, map },
-      end_node
-  };
-
----
-test: Sequence of sequences
-spec: 2.5
-yaml: |
-  - [ name         , hr , avg   ]
-  - [ Mark McGwire , 65 , 0.278 ]
-  - [ Sammy Sosa   , 63 , 0.288 ]
-php: |
-  array(
-    array( 'name', 'hr', 'avg' ),
-    array( 'Mark McGwire', 65, 0.278 ),
-    array( 'Sammy Sosa', 63, 0.288 )
-  )
----
-test: Mapping of mappings
-todo: true
-spec: 2.6
-yaml: |
-  Mark McGwire: {hr: 65, avg: 0.278}
-  Sammy Sosa: {
-      hr: 63,
-      avg: 0.288
-    }
-php: |
-  array(
-    'Mark McGwire' =>
-      array( 'hr' => 65, 'avg' => 0.278 ),
-    'Sammy Sosa' =>
-      array( 'hr' => 63, 'avg' => 0.288 )
-  )
----
-test: Two documents in a stream each with a leading comment
-todo: true
-spec: 2.7
-yaml: |
-  # Ranking of 1998 home runs
-  ---
-  - Mark McGwire
-  - Sammy Sosa
-  - Ken Griffey
-
-  # Team ranking
-  ---
-  - Chicago Cubs
-  - St Louis Cardinals
-ruby: |
-  y = YAML::Stream.new
-  y.add( [ 'Mark McGwire', 'Sammy Sosa', 'Ken Griffey' ] )
-  y.add( [ 'Chicago Cubs', 'St Louis Cardinals' ] )
-documents: 2
-
----
-test: Play by play feed from a game
-todo: true
-spec: 2.8
-yaml: |
-  ---
-  time: 20:03:20
-  player: Sammy Sosa
-  action: strike (miss)
-  ...
-  ---
-  time: 20:03:47
-  player: Sammy Sosa
-  action: grand slam
-  ...
-perl: |
-  [ 'Mark McGwire', 'Sammy Sosa', 'Ken Griffey' ]
-documents: 2
-
----
-test: Single document with two comments
-spec: 2.9
-yaml: |
-  hr: # 1998 hr ranking
-    - Mark McGwire
-    - Sammy Sosa
-  rbi:
-    # 1998 rbi ranking
-    - Sammy Sosa
-    - Ken Griffey
-php: |
-  array(
-    'hr' => array( 'Mark McGwire', 'Sammy Sosa' ),
-    'rbi' => array( 'Sammy Sosa', 'Ken Griffey' )
-  )
----
-test: Node for Sammy Sosa appears twice in this document
-spec: 2.10
-yaml: |
-   ---
-   hr:
-      - Mark McGwire
-      # Following node labeled SS
-      - &SS Sammy Sosa
-   rbi:
-      - *SS # Subsequent occurrence
-      - Ken Griffey
-php: |
-   array(
-      'hr' =>
-         array('Mark McGwire', 'Sammy Sosa'),
-      'rbi' =>
-         array('Sammy Sosa', 'Ken Griffey')
-   )
----
-test: Mapping between sequences
-todo: true
-spec: 2.11
-yaml: |
-   ? # PLAY SCHEDULE
-     - Detroit Tigers
-     - Chicago Cubs
-   :
-     - 2001-07-23
-
-   ? [ New York Yankees,
-       Atlanta Braves ]
-   : [ 2001-07-02, 2001-08-12,
-       2001-08-14 ]
-ruby: |
-   {
-      [ 'Detroit Tigers', 'Chicago Cubs' ] => [ Date.new( 2001, 7, 23 ) ],
-      [ 'New York Yankees', 'Atlanta Braves' ] => [ Date.new( 2001, 7, 2 ), Date.new( 2001, 8, 12 ), Date.new( 2001, 8, 14 ) ]
-   }
-syck: |
-  struct test_node seq1[] = {
-      { T_STR, 0, "New York Yankees" },
-      { T_STR, 0, "Atlanta Braves" },
-      end_node
-  };
-  struct test_node seq2[] = {
-      { T_STR, 0, "2001-07-02" },
-      { T_STR, 0, "2001-08-12" },
-      { T_STR, 0, "2001-08-14" },
-      end_node
-  };
-  struct test_node seq3[] = {
-      { T_STR, 0, "Detroit Tigers" },
-      { T_STR, 0, "Chicago Cubs" },
-      end_node
-  };
-  struct test_node seq4[] = {
-      { T_STR, 0, "2001-07-23" },
-      end_node
-  };
-  struct test_node map[] = {
-      { T_SEQ, 0, 0, seq3 },
-      { T_SEQ, 0, 0, seq4 },
-      { T_SEQ, 0, 0, seq1 },
-      { T_SEQ, 0, 0, seq2 },
-      end_node
-  };
-  struct test_node stream[] = {
-      { T_MAP, 0, 0, map },
-      end_node
-  };
-
----
-test: Sequence key shortcut
-spec: 2.12
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-    quantity: 1
-  - item    : Basketball
-    quantity: 4
-  - item    : Big Shoes
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 4,
-    ),
-    array (
-      'item' => 'Big Shoes',
-      'quantity' => 1,
-    )
-  )
-perl: |
-  [
-     { item => 'Super Hoop', quantity => 1 },
-     { item => 'Basketball', quantity => 4 },
-     { item => 'Big Shoes',  quantity => 1 }
-  ]
-
-ruby: |
-  [
-     { 'item' => 'Super Hoop', 'quantity' => 1 },
-     { 'item' => 'Basketball', 'quantity' => 4 },
-     { 'item' => 'Big Shoes', 'quantity' => 1 }
-  ]
-python: |
-  [
-       { 'item': 'Super Hoop', 'quantity': 1 },
-       { 'item': 'Basketball', 'quantity': 4 },
-       { 'item': 'Big Shoes',  'quantity': 1 }
-  ]
-syck: |
-  struct test_node map1[] = {
-      { T_STR, 0, "item" },
-          { T_STR, 0, "Super Hoop" },
-      { T_STR, 0, "quantity" },
-          { T_STR, 0, "1" },
-      end_node
-  };
-  struct test_node map2[] = {
-      { T_STR, 0, "item" },
-          { T_STR, 0, "Basketball" },
-      { T_STR, 0, "quantity" },
-          { T_STR, 0, "4" },
-      end_node
-  };
-  struct test_node map3[] = {
-      { T_STR, 0, "item" },
-          { T_STR, 0, "Big Shoes" },
-      { T_STR, 0, "quantity" },
-          { T_STR, 0, "1" },
-      end_node
-  };
-  struct test_node seq[] = {
-      { T_MAP, 0, 0, map1 },
-      { T_MAP, 0, 0, map2 },
-      { T_MAP, 0, 0, map3 },
-      end_node
-  };
-  struct test_node stream[] = {
-      { T_SEQ, 0, 0, seq },
-      end_node
-  };
-
-
----
-test: Literal perserves newlines
-todo: true
-spec: 2.13
-yaml: |
-  # ASCII Art
-  --- |
-    \//||\/||
-    // ||  ||_
-perl: |
-  "\\//||\\/||\n// ||  ||_\n"
-ruby: |
-  "\\//||\\/||\n// ||  ||_\n"
-python: |
-    [
-        flushLeft(
-        """
-        \//||\/||
-        // ||  ||_
-        """
-        )
-    ]
-syck: |
-  struct test_node stream[] = {
-      { T_STR, 0, "\\//||\\/||\n// ||  ||_\n" },
-      end_node
-  };
-
----
-test: Folded treats newlines as a space
-todo: true
-spec: 2.14
-yaml: |
-  ---
-    Mark McGwire's
-    year was crippled
-    by a knee injury.
-perl: |
-  "Mark McGwire's year was crippled by a knee injury."
-ruby: |
-  "Mark McGwire's year was crippled by a knee injury."
-python: |
-    [ "Mark McGwire's year was crippled by a knee injury." ]
-syck: |
-  struct test_node stream[] = {
-      { T_STR, 0, "Mark McGwire's year was crippled by a knee injury." },
-      end_node
-  };
-
----
-test: Newlines preserved for indented and blank lines
-todo: true
-spec: 2.15
-yaml: |
-  --- >
-   Sammy Sosa completed another
-   fine season with great stats.
-
-     63 Home Runs
-     0.288 Batting Average
-
-   What a year!
-perl: |
-  "Sammy Sosa completed another fine season with great stats.\n\n  63 Home Runs\n  0.288 Batting Average\n\nWhat a year!\n"
-ruby: |
-  "Sammy Sosa completed another fine season with great stats.\n\n  63 Home Runs\n  0.288 Batting Average\n\nWhat a year!\n"
-python: |
-    [
-        flushLeft(
-        """
-        Sammy Sosa completed another fine season with great stats.
-
-          63 Home Runs
-          0.288 Batting Average
-
-        What a year!
-        """
-        )
-    ]
-syck: |
-  struct test_node stream[] = {
-      { T_STR, 0, "Sammy Sosa completed another fine season with great stats.\n\n  63 Home Runs\n  0.288 Batting Average\n\nWhat a year!\n" },
-      end_node
-  };
-
-
----
-test: Indentation determines scope
-spec: 2.16
-yaml: |
-  name: Mark McGwire
-  accomplishment: >
-     Mark set a major league
-     home run record in 1998.
-  stats: |
-     65 Home Runs
-     0.278 Batting Average
-php: |
-  array(
-    'name' => 'Mark McGwire',
-    'accomplishment' => "Mark set a major league home run record in 1998.\n",
-    'stats' => "65 Home Runs\n0.278 Batting Average\n"
-  )
----
-test: Quoted scalars
-todo: true
-spec: 2.17
-yaml: |
-  unicode: "Sosa did fine.\u263A"
-  control: "\b1998\t1999\t2000\n"
-  hexesc:  "\x0D\x0A is \r\n"
-
-  single: '"Howdy!" he cried.'
-  quoted: ' # not a ''comment''.'
-  tie-fighter: '|\-*-/|'
-ruby: |
-  {
-    "tie-fighter" => "|\\-*-/|",
-    "control"=>"\0101998\t1999\t2000\n",
-    "unicode"=>"Sosa did fine." + ["263A".hex ].pack('U*'),
-    "quoted"=>" # not a 'comment'.",
-    "single"=>"\"Howdy!\" he cried.",
-    "hexesc"=>"\r\n is \r\n"
-  }
----
-test: Multiline flow scalars
-todo: true
-spec: 2.18
-yaml: |
-  plain:
-    This unquoted scalar
-    spans many lines.
-
-  quoted: "So does this
-    quoted scalar.\n"
-ruby: |
-  {
-    'plain' => 'This unquoted scalar spans many lines.',
-    'quoted' => "So does this quoted scalar.\n"
-  }
----
-test: Integers
-spec: 2.19
-yaml: |
-  canonical: 12345
-  decimal: +12,345
-  octal: 014
-  hexadecimal: 0xC
-php: |
-  array(
-    'canonical' => 12345,
-    'decimal' => 12345,
-    'octal' => 014,
-    'hexadecimal' => 0xC
-  )
----
-# FIX: spec shows parens around -inf and NaN
-test: Floating point
-spec: 2.20
-yaml: |
-  canonical: 1.23015e+3
-  exponential: 12.3015e+02
-  fixed: 1,230.15
-  negative infinity: -.inf
-  not a number: .NaN
-  float as whole number: !!float 1
-php: |
-  array(
-    'canonical' => 1230.15,
-    'exponential' => 1230.15,
-    'fixed' => 1230.15,
-    'negative infinity' => log(0),
-    'not a number' => -log(0),
-    'float as whole number' => (float) 1
-  )
----
-test: Miscellaneous
-spec: 2.21
-yaml: |
-  null: ~
-  true: true
-  false: false
-  string: '12345'
-php: |
-  array(
-    '' => null,
-    1 => true,
-    0 => false,
-    'string' => '12345'
-  )
----
-test: Timestamps
-todo: true
-spec: 2.22
-yaml: |
-  canonical: 2001-12-15T02:59:43.1Z
-  iso8601:  2001-12-14t21:59:43.10-05:00
-  spaced:  2001-12-14 21:59:43.10 -05:00
-  date:   2002-12-14 # Time is noon UTC
-php: |
-  array(
-    'canonical' => YAML::mktime( 2001, 12, 15, 2, 59, 43, 0.10 ),
-    'iso8601' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-    'spaced' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-    'date' => Date.new( 2002, 12, 14 )
-  )
----
-test: legacy Timestamps test
-todo: true
-spec: legacy D4
-yaml: |
-    canonical: 2001-12-15T02:59:43.00Z
-    iso8601:  2001-02-28t21:59:43.00-05:00
-    spaced:  2001-12-14 21:59:43.00 -05:00
-    date:   2002-12-14
-php: |
-   array(
-     'canonical' => Time::utc( 2001, 12, 15, 2, 59, 43, 0 ),
-     'iso8601' => YAML::mktime( 2001, 2, 28, 21, 59, 43, 0, "-05:00" ),
-     'spaced' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0, "-05:00" ),
-     'date' => Date.new( 2002, 12, 14 )
-   )
----
-test: Various explicit families
-todo: true
-spec: 2.23
-yaml: |
-  not-date: !str 2002-04-28
-  picture: !binary |
-   R0lGODlhDAAMAIQAAP//9/X
-   17unp5WZmZgAAAOfn515eXv
-   Pz7Y6OjuDg4J+fn5OTk6enp
-   56enmleECcgggoBADs=
-
-  application specific tag: !!something |
-   The semantics of the tag
-   above may be different for
-   different documents.
-
-ruby-setup: |
-  YAML.add_private_type( "something" ) do |type, val|
-    "SOMETHING: #{val}"
-  end
-ruby: |
-  {
-    'not-date' => '2002-04-28',
-    'picture' => "GIF89a\f\000\f\000\204\000\000\377\377\367\365\365\356\351\351\345fff\000\000\000\347\347\347^^^\363\363\355\216\216\216\340\340\340\237\237\237\223\223\223\247\247\247\236\236\236i^\020' \202\n\001\000;",
-    'application specific tag' => "SOMETHING: The semantics of the tag\nabove may be different for\ndifferent documents.\n"
-  }
----
-test: Application specific family
-todo: true
-spec: 2.24
-yaml: |
-  # Establish a tag prefix
-  --- !clarkevans.com,2002/graph/^shape
-    # Use the prefix: shorthand for
-    # !clarkevans.com,2002/graph/circle
-  - !^circle
-    center: &ORIGIN {x: 73, 'y': 129}
-    radius: 7
-  - !^line # !clarkevans.com,2002/graph/line
-    start: *ORIGIN
-    finish: { x: 89, 'y': 102 }
-  - !^label
-    start: *ORIGIN
-    color: 0xFFEEBB
-    value: Pretty vector drawing.
-ruby-setup: |
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/shape' ) { |type, val|
-    if Array === val
-      val << "Shape Container"
-      val
-    else
-      raise YAML::Error, "Invalid graph of class #{ val.class }: " + val.inspect
-    end
-  }
-  one_shape_proc = Proc.new { |type, val|
-    scheme, domain, type = type.split( /:/, 3 )
-    if val.is_a? ::Hash
-      val['TYPE'] = "Shape: #{type}"
-      val
-    else
-      raise YAML::Error, "Invalid graph of class #{ val.class }: " + val.inspect
-    end
-  }
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/circle', &one_shape_proc )
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/line', &one_shape_proc )
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/label', &one_shape_proc )
-ruby: |
-  [
-    {
-      "radius" => 7,
-      "center"=>
-      {
-        "x" => 73,
-        "y" => 129
-      },
-      "TYPE" => "Shape: graph/circle"
-    }, {
-      "finish" =>
-      {
-        "x" => 89,
-        "y" => 102
-      },
-      "TYPE" => "Shape: graph/line",
-      "start" =>
-      {
-        "x" => 73,
-        "y" => 129
-      }
-    }, {
-      "TYPE" => "Shape: graph/label",
-      "value" => "Pretty vector drawing.",
-      "start" =>
-      {
-        "x" => 73,
-        "y" => 129
-      },
-      "color" => 16772795
-    },
-    "Shape Container"
-  ]
-# ---
-# test: Unordered set
-# spec: 2.25
-# yaml: |
-#   # sets are represented as a
-#   # mapping where each key is
-#   # associated with the empty string
-#   --- !set
-#   ? Mark McGwire
-#   ? Sammy Sosa
-#   ? Ken Griff
----
-test: Ordered mappings
-todo: true
-spec: 2.26
-yaml: |
-  # ordered maps are represented as
-  # a sequence of mappings, with
-  # each mapping having one key
-  --- !omap
-  - Mark McGwire: 65
-  - Sammy Sosa: 63
-  - Ken Griffy: 58
-ruby: |
-  YAML::Omap[
-    'Mark McGwire', 65,
-    'Sammy Sosa', 63,
-    'Ken Griffy', 58
-  ]
----
-test: Invoice
-dump_skip: true
-spec: 2.27
-yaml: |
-  --- !clarkevans.com,2002/^invoice
-  invoice: 34843
-  date   : 2001-01-23
-  bill-to: &id001
-      given  : Chris
-      family : Dumars
-      address:
-          lines: |
-              458 Walkman Dr.
-              Suite #292
-          city    : Royal Oak
-          state   : MI
-          postal  : 48046
-  ship-to: *id001
-  product:
-      -
-        sku         : BL394D
-        quantity    : 4
-        description : Basketball
-        price       : 450.00
-      -
-        sku         : BL4438H
-        quantity    : 1
-        description : Super Hoop
-        price       : 2392.00
-  tax  : 251.42
-  total: 4443.52
-  comments: >
-    Late afternoon is best.
-    Backup contact is Nancy
-    Billsmer @ 338-4338.
-php: |
-  array(
-     'invoice' => 34843, 'date' => mktime(0, 0, 0, 1, 23, 2001),
-     'bill-to' =>
-      array( 'given' => 'Chris', 'family' => 'Dumars', 'address' => array( 'lines' => "458 Walkman Dr.\nSuite #292\n", 'city' => 'Royal Oak', 'state' => 'MI', 'postal' => 48046 ) )
-     , 'ship-to' =>
-      array( 'given' => 'Chris', 'family' => 'Dumars', 'address' => array( 'lines' => "458 Walkman Dr.\nSuite #292\n", 'city' => 'Royal Oak', 'state' => 'MI', 'postal' => 48046 ) )
-     , 'product' =>
-       array(
-        array( 'sku' => 'BL394D', 'quantity' => 4, 'description' => 'Basketball', 'price' => 450.00 ),
-        array( 'sku' => 'BL4438H', 'quantity' => 1, 'description' => 'Super Hoop', 'price' => 2392.00 )
-      ),
-     'tax' => 251.42, 'total' => 4443.52,
-     'comments' => "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.\n"
-  )
----
-test: Log file
-todo: true
-spec: 2.28
-yaml: |
-  ---
-  Time: 2001-11-23 15:01:42 -05:00
-  User: ed
-  Warning: >
-    This is an error message
-    for the log file
-  ---
-  Time: 2001-11-23 15:02:31 -05:00
-  User: ed
-  Warning: >
-    A slightly different error
-    message.
-  ---
-  Date: 2001-11-23 15:03:17 -05:00
-  User: ed
-  Fatal: >
-    Unknown variable "bar"
-  Stack:
-    - file: TopClass.py
-      line: 23
-      code: |
-        x = MoreObject("345\n")
-    - file: MoreClass.py
-      line: 58
-      code: |-
-        foo = bar
-ruby: |
-  y = YAML::Stream.new
-  y.add( { 'Time' => YAML::mktime( 2001, 11, 23, 15, 01, 42, 00, "-05:00" ),
-           'User' => 'ed', 'Warning' => "This is an error message for the log file\n" } )
-  y.add( { 'Time' => YAML::mktime( 2001, 11, 23, 15, 02, 31, 00, "-05:00" ),
-           'User' => 'ed', 'Warning' => "A slightly different error message.\n" } )
-  y.add( { 'Date' => YAML::mktime( 2001, 11, 23, 15, 03, 17, 00, "-05:00" ),
-           'User' => 'ed', 'Fatal' => "Unknown variable \"bar\"\n",
-           'Stack' => [
-           { 'file' => 'TopClass.py', 'line' => 23, 'code' => "x = MoreObject(\"345\\n\")\n" },
-           { 'file' => 'MoreClass.py', 'line' => 58, 'code' => "foo = bar" } ] } )
-documents: 3
-
----
-test: Throwaway comments
-yaml: |
-   ### These are four throwaway comment  ###
-
-   ### lines (the second line is empty). ###
-   this: |   # Comments may trail lines.
-      contains three lines of text.
-      The third one starts with a
-      # character. This isn't a comment.
-
-   # These are three throwaway comment
-   # lines (the first line is empty).
-php: |
-   array(
-     'this' => "contains three lines of text.\nThe third one starts with a\n# character. This isn't a comment.\n"
-   )
----
-test: Document with a single value
-todo: true
-yaml: |
-   --- >
-   This YAML stream contains a single text value.
-   The next stream is a log file - a sequence of
-   log entries. Adding an entry to the log is a
-   simple matter of appending it at the end.
-ruby: |
-   "This YAML stream contains a single text value. The next stream is a log file - a sequence of log entries. Adding an entry to the log is a simple matter of appending it at the end.\n"
----
-test: Document stream
-todo: true
-yaml: |
-   ---
-   at: 2001-08-12 09:25:00.00 Z
-   type: GET
-   HTTP: '1.0'
-   url: '/index.html'
-   ---
-   at: 2001-08-12 09:25:10.00 Z
-   type: GET
-   HTTP: '1.0'
-   url: '/toc.html'
-ruby: |
-   y = YAML::Stream.new
-   y.add( {
-      'at' => Time::utc( 2001, 8, 12, 9, 25, 00 ),
-      'type' => 'GET',
-      'HTTP' => '1.0',
-      'url' => '/index.html'
-   } )
-   y.add( {
-      'at' => Time::utc( 2001, 8, 12, 9, 25, 10 ),
-      'type' => 'GET',
-      'HTTP' => '1.0',
-      'url' => '/toc.html'
-   } )
-documents: 2
-
----
-test: Top level mapping
-yaml: |
-   # This stream is an example of a top-level mapping.
-   invoice : 34843
-   date    : 2001-01-23
-   total   : 4443.52
-php: |
-   array(
-      'invoice' => 34843,
-      'date' => mktime(0, 0, 0, 1, 23, 2001),
-      'total' => 4443.52
-   )
----
-test: Single-line documents
-todo: true
-yaml: |
-  # The following is a sequence of three documents.
-  # The first contains an empty mapping, the second
-  # an empty sequence, and the last an empty string.
-  --- {}
-  --- [ ]
-  --- ''
-ruby: |
-  y = YAML::Stream.new
-  y.add( {} )
-  y.add( [] )
-  y.add( '' )
-documents: 3
-
----
-test: Document with pause
-todo: true
-yaml: |
-  # A communication channel based on a YAML stream.
-  ---
-  sent at: 2002-06-06 11:46:25.10 Z
-  payload: Whatever
-  # Receiver can process this as soon as the following is sent:
-  ...
-  # Even if the next message is sent long after:
-  ---
-  sent at: 2002-06-06 12:05:53.47 Z
-  payload: Whatever
-  ...
-ruby: |
-  y = YAML::Stream.new
-  y.add(
-    { 'sent at' => YAML::mktime( 2002, 6, 6, 11, 46, 25, 0.10 ),
-      'payload' => 'Whatever' }
-  )
-  y.add(
-    { "payload" => "Whatever", "sent at" => YAML::mktime( 2002, 6, 6, 12, 5, 53, 0.47 ) }
-  )
-documents: 2
-
----
-test: Explicit typing
-yaml: |
-   integer: 12
-   also int: ! "12"
-   string: !str 12
-php: |
-   array( 'integer' => 12, 'also int' => 12, 'string' => '12' )
----
-test: Private types
-todo: true
-yaml: |
-  # Both examples below make use of the 'x-private:ball'
-  # type family URI, but with different semantics.
-  ---
-  pool: !!ball
-    number: 8
-    color: black
-  ---
-  bearing: !!ball
-    material: steel
-ruby: |
-  y = YAML::Stream.new
-  y.add( { 'pool' =>
-    YAML::PrivateType.new( 'ball',
-      { 'number' => 8, 'color' => 'black' } ) }
-  )
-  y.add( { 'bearing' =>
-    YAML::PrivateType.new( 'ball',
-      { 'material' => 'steel' } ) }
-  )
-documents: 2
-
----
-test: Type family under yaml.org
-yaml: |
-  # The URI is 'tag:yaml.org,2002:str'
-  - !str a Unicode string
-php: |
-  array( 'a Unicode string' )
----
-test: Type family under perl.yaml.org
-todo: true
-yaml: |
-  # The URI is 'tag:perl.yaml.org,2002:Text::Tabs'
-  - !perl/Text::Tabs {}
-ruby: |
-  [ YAML::DomainType.new( 'perl.yaml.org,2002', 'Text::Tabs', {} ) ]
----
-test: Type family under clarkevans.com
-todo: true
-yaml: |
-  # The URI is 'tag:clarkevans.com,2003-02:timesheet'
-  - !clarkevans.com,2003-02/timesheet {}
-ruby: |
-  [ YAML::DomainType.new( 'clarkevans.com,2003-02', 'timesheet', {} ) ]
----
-test: URI Escaping
-todo: true
-yaml: |
-  same:
-    - !domain.tld,2002/type\x30 value
-    - !domain.tld,2002/type0 value
-  different: # As far as the YAML parser is concerned
-    - !domain.tld,2002/type%30 value
-    - !domain.tld,2002/type0 value
-ruby-setup: |
-  YAML.add_domain_type( "domain.tld,2002", "type0" ) { |type, val|
-    "ONE: #{val}"
-  }
-  YAML.add_domain_type( "domain.tld,2002", "type%30" ) { |type, val|
-    "TWO: #{val}"
-  }
-ruby: |
-  { 'same' => [ 'ONE: value', 'ONE: value' ], 'different' => [ 'TWO: value', 'ONE: value' ] }
----
-test: URI Prefixing
-todo: true
-yaml: |
-  # 'tag:domain.tld,2002:invoice' is some type family.
-  invoice: !domain.tld,2002/^invoice
-    # 'seq' is shorthand for 'tag:yaml.org,2002:seq'.
-    # This does not effect '^customer' below
-    # because it is does not specify a prefix.
-    customers: !seq
-      # '^customer' is shorthand for the full
-      # notation 'tag:domain.tld,2002:customer'.
-      - !^customer
-        given : Chris
-        family : Dumars
-ruby-setup: |
-  YAML.add_domain_type( "domain.tld,2002", /(invoice|customer)/ ) { |type, val|
-    if val.is_a? ::Hash
-      scheme, domain, type = type.split( /:/, 3 )
-      val['type'] = "domain #{type}"
-      val
-    else
-      raise YAML::Error, "Not a Hash in domain.tld/invoice: " + val.inspect
-    end
-  }
-ruby: |
-  { "invoice"=> { "customers"=> [ { "given"=>"Chris", "type"=>"domain customer", "family"=>"Dumars" } ], "type"=>"domain invoice" } }
-
----
-test: Overriding anchors
-yaml: |
-  anchor : &A001 This scalar has an anchor.
-  override : &A001 >
-   The alias node below is a
-   repeated use of this value.
-  alias : *A001
-php: |
-  array( 'anchor' => 'This scalar has an anchor.',
-    'override' => "The alias node below is a repeated use of this value.\n",
-    'alias' => "The alias node below is a repeated use of this value.\n" )
----
-test: Flow and block formatting
-todo: true
-yaml: |
-  empty: []
-  flow: [ one, two, three # May span lines,
-           , four,           # indentation is
-             five ]          # mostly ignored.
-  block:
-   - First item in top sequence
-   -
-    - Subordinate sequence entry
-   - >
-     A folded sequence entry
-   - Sixth item in top sequence
-ruby: |
-  { 'empty' => [], 'flow' => [ 'one', 'two', 'three', 'four', 'five' ],
-    'block' => [ 'First item in top sequence', [ 'Subordinate sequence entry' ],
-    "A folded sequence entry\n", 'Sixth item in top sequence' ] }
----
-test: Complete mapping test
-todo: true
-yaml: |
- empty: {}
- flow: { one: 1, two: 2 }
- spanning: { one: 1,
-    two: 2 }
- block:
-  first : First entry
-  second:
-   key: Subordinate mapping
-  third:
-   - Subordinate sequence
-   - { }
-   - Previous mapping is empty.
-   - A key: value pair in a sequence.
-     A second: key:value pair.
-   - The previous entry is equal to the following one.
-   -
-     A key: value pair in a sequence.
-     A second: key:value pair.
-  !float 12 : This key is a float.
-  ? >
-   ?
-  : This key had to be protected.
-  "\a" : This key had to be escaped.
-  ? >
-   This is a
-   multi-line
-   folded key
-  : Whose value is
-    also multi-line.
-  ? this also works as a key
-  : with a value at the next line.
-  ?
-   - This key
-   - is a sequence
-  :
-   - With a sequence value.
-  ?
-   This: key
-   is a: mapping
-  :
-   with a: mapping value.
-ruby: |
-  { 'empty' => {}, 'flow' => { 'one' => 1, 'two' => 2 },
-    'spanning' => { 'one' => 1, 'two' => 2 },
-    'block' => { 'first' => 'First entry', 'second' =>
-    { 'key' => 'Subordinate mapping' }, 'third' =>
-      [ 'Subordinate sequence', {}, 'Previous mapping is empty.',
-        { 'A key' => 'value pair in a sequence.', 'A second' => 'key:value pair.' },
-        'The previous entry is equal to the following one.',
-        { 'A key' => 'value pair in a sequence.', 'A second' => 'key:value pair.' } ],
-    12.0 => 'This key is a float.', "?\n" => 'This key had to be protected.',
-    "\a" => 'This key had to be escaped.',
-    "This is a multi-line folded key\n" => "Whose value is also multi-line.",
-    'this also works as a key' => 'with a value at the next line.',
-    [ 'This key', 'is a sequence' ] => [ 'With a sequence value.' ] } }
-  # Couldn't recreate map exactly, so we'll do a detailed check to be sure it's entact
-  obj_y['block'].keys.each { |k|
-    if Hash === k
-      v = obj_y['block'][k]
-      if k['This'] == 'key' and k['is a'] == 'mapping' and v['with a'] == 'mapping value.'
-         obj_r['block'][k] = v
-      end
-    end
-  }
----
-test: Literal explicit indentation
-yaml: |
-   # Explicit indentation must
-   # be given in all the three
-   # following cases.
-   leading spaces: |2
-         This value starts with four spaces.
-
-   leading line break: |2
-
-     This value starts with a line break.
-
-   leading comment indicator: |2
-     # first line starts with a
-     # character.
-
-   # Explicit indentation may
-   # also be given when it is
-   # not required.
-   redundant: |2
-     This value is indented 2 spaces.
-php: |
-   array(
-      'leading spaces' => "    This value starts with four spaces.\n",
-      'leading line break' => "\nThis value starts with a line break.\n",
-      'leading comment indicator' => "# first line starts with a\n# character.\n",
-      'redundant' => "This value is indented 2 spaces.\n"
-   )
----
-test: Chomping and keep modifiers
-yaml: |
-    clipped: |
-        This has one newline.
-
-    same as "clipped" above: "This has one newline.\n"
-
-    stripped: |-
-        This has no newline.
-
-    same as "stripped" above: "This has no newline."
-
-    kept: |+
-        This has two newlines.
-
-    same as "kept" above: "This has two newlines.\n\n"
-php: |
-    array(
-      'clipped' => "This has one newline.\n",
-      'same as "clipped" above' => "This has one newline.\n",
-      'stripped' => 'This has no newline.',
-      'same as "stripped" above' => 'This has no newline.',
-      'kept' => "This has two newlines.\n\n",
-      'same as "kept" above' => "This has two newlines.\n\n"
-    )
----
-test: Literal combinations
-todo: true
-yaml: |
-   empty: |
-
-   literal: |
-    The \ ' " characters may be
-    freely used. Leading white
-       space is significant.
-
-    Line breaks are significant.
-    Thus this value contains one
-    empty line and ends with a
-    single line break, but does
-    not start with one.
-
-   is equal to: "The \\ ' \" characters may \
-    be\nfreely used. Leading white\n   space \
-    is significant.\n\nLine breaks are \
-    significant.\nThus this value contains \
-    one\nempty line and ends with a\nsingle \
-    line break, but does\nnot start with one.\n"
-
-   # Comments may follow a block
-   # scalar value. They must be
-   # less indented.
-
-   # Modifiers may be combined in any order.
-   indented and chomped: |2-
-       This has no newline.
-
-   also written as: |-2
-       This has no newline.
-
-   both are equal to: "  This has no newline."
-php: |
-   array(
-     'empty' => '',
-     'literal' => "The \\ ' \" characters may be\nfreely used. Leading white\n   space " +
-       "is significant.\n\nLine breaks are significant.\nThus this value contains one\n" +
-       "empty line and ends with a\nsingle line break, but does\nnot start with one.\n",
-     'is equal to' => "The \\ ' \" characters may be\nfreely used. Leading white\n   space " +
-       "is significant.\n\nLine breaks are significant.\nThus this value contains one\n" +
-       "empty line and ends with a\nsingle line break, but does\nnot start with one.\n",
-     'indented and chomped' => '  This has no newline.',
-     'also written as' => '  This has no newline.',
-     'both are equal to' => '  This has no newline.'
-   )
----
-test: Folded combinations
-todo: true
-yaml: |
-   empty: >
-
-   one paragraph: >
-    Line feeds are converted
-    to spaces, so this value
-    contains no line breaks
-    except for the final one.
-
-   multiple paragraphs: >2
-
-     An empty line, either
-     at the start or in
-     the value:
-
-     Is interpreted as a
-     line break. Thus this
-     value contains three
-     line breaks.
-
-   indented text: >
-       This is a folded
-       paragraph followed
-       by a list:
-        * first entry
-        * second entry
-       Followed by another
-       folded paragraph,
-       another list:
-
-        * first entry
-
-        * second entry
-
-       And a final folded
-       paragraph.
-
-   above is equal to: |
-       This is a folded paragraph followed by a list:
-        * first entry
-        * second entry
-       Followed by another folded paragraph, another list:
-
-        * first entry
-
-        * second entry
-
-       And a final folded paragraph.
-
-   # Explicit comments may follow
-   # but must be less indented.
-php: |
-   array(
-     'empty' => '',
-     'one paragraph' => 'Line feeds are converted to spaces, so this value'.
-       " contains no line breaks except for the final one.\n",
-     'multiple paragraphs' => "\nAn empty line, either at the start or in the value:\n".
-       "Is interpreted as a line break. Thus this value contains three line breaks.\n",
-     'indented text' => "This is a folded paragraph followed by a list:\n".
-       " * first entry\n * second entry\nFollowed by another folded paragraph, ".
-       "another list:\n\n * first entry\n\n * second entry\n\nAnd a final folded paragraph.\n",
-     'above is equal to' => "This is a folded paragraph followed by a list:\n".
-       " * first entry\n * second entry\nFollowed by another folded paragraph, ".
-       "another list:\n\n * first entry\n\n * second entry\n\nAnd a final folded paragraph.\n"
-   )
----
-test: Single quotes
-todo: true
-yaml: |
-   empty: ''
-   second: '! : \ etc. can be used freely.'
-   third: 'a single quote '' must be escaped.'
-   span: 'this contains
-         six spaces
-
-         and one
-         line break'
-   is same as: "this contains six spaces\nand one line break"
-php: |
-   array(
-     'empty' => '',
-     'second' => '! : \\ etc. can be used freely.',
-     'third' => "a single quote ' must be escaped.",
-     'span' => "this contains six spaces\nand one line break",
-     'is same as' => "this contains six spaces\nand one line break"
-   )
----
-test: Double quotes
-todo: true
-yaml: |
-   empty: ""
-   second: "! : etc. can be used freely."
-   third: "a \" or a \\ must be escaped."
-   fourth: "this value ends with an LF.\n"
-   span: "this contains
-     four  \
-         spaces"
-   is equal to: "this contains four  spaces"
-php: |
-   array(
-     'empty' => '',
-     'second' => '! : etc. can be used freely.',
-     'third' => 'a " or a \\ must be escaped.',
-     'fourth' => "this value ends with an LF.\n",
-     'span' => "this contains four  spaces",
-     'is equal to' => "this contains four  spaces"
-   )
----
-test: Unquoted strings
-todo: true
-yaml: |
-   first: There is no unquoted empty string.
-
-   second: 12          ## This is an integer.
-
-   third: !str 12      ## This is a string.
-
-   span: this contains
-         six spaces
-
-         and one
-         line break
-
-   indicators: this has no comments.
-               #:foo and bar# are
-               both text.
-
-   flow: [ can span
-              lines, # comment
-              like
-              this ]
-
-   note: { one-line keys: but multi-line values }
-
-php: |
-   array(
-     'first' => 'There is no unquoted empty string.',
-     'second' => 12,
-     'third' => '12',
-     'span' => "this contains six spaces\nand one line break",
-     'indicators' => "this has no comments. #:foo and bar# are both text.",
-     'flow' => [ 'can span lines', 'like this' ],
-     'note' => { 'one-line keys' => 'but multi-line values' }
-   )
----
-test: Spanning sequences
-todo: true
-yaml: |
-   # The following are equal seqs
-   # with different identities.
-   flow: [ one, two ]
-   spanning: [ one,
-        two ]
-   block:
-     - one
-     - two
-php: |
-   array(
-     'flow' => [ 'one', 'two' ],
-     'spanning' => [ 'one', 'two' ],
-     'block' => [ 'one', 'two' ]
-   )
----
-test: Flow mappings
-yaml: |
-   # The following are equal maps
-   # with different identities.
-   flow: { one: 1, two: 2 }
-   block:
-       one: 1
-       two: 2
-php: |
-   array(
-     'flow' => array( 'one' => 1, 'two' => 2 ),
-     'block' => array( 'one' => 1, 'two' => 2 )
-   )
----
-test: Representations of 12
-todo: true
-yaml: |
-   - 12 # An integer
-   # The following scalars
-   # are loaded to the
-   # string value '1' '2'.
-   - !str 12
-   - '12'
-   - "12"
-   - "\
-     1\
-     2\
-     "
-   # Strings containing paths and regexps can be unquoted:
-   - /foo/bar
-   - d:/foo/bar
-   - foo/bar
-   - /a.*b/
-php: |
-   array( 12, '12', '12', '12', '12', '/foo/bar', 'd:/foo/bar', 'foo/bar', '/a.*b/' )
----
-test: "Null"
-todo: true
-yaml: |
-   canonical: ~
-
-   english: null
-
-   # This sequence has five
-   # entries, two with values.
-   sparse:
-     - ~
-     - 2nd entry
-     - Null
-     - 4th entry
-     -
-
-   four: This mapping has five keys,
-         only two with values.
-
-php: |
-   array (
-     'canonical' => null,
-     'english' => null,
-     'sparse' => array( null, '2nd entry', null, '4th entry', null ]),
-     'four' => 'This mapping has five keys, only two with values.'
-   )
----
-test: Omap
-todo: true
-yaml: |
-   # Explicitly typed dictionary.
-   Bestiary: !omap
-     - aardvark: African pig-like ant eater. Ugly.
-     - anteater: South-American ant eater. Two species.
-     - anaconda: South-American constrictor snake. Scary.
-     # Etc.
-ruby: |
-   {
-     'Bestiary' => YAML::Omap[
-       'aardvark', 'African pig-like ant eater. Ugly.',
-       'anteater', 'South-American ant eater. Two species.',
-       'anaconda', 'South-American constrictor snake. Scary.'
-     ]
-   }
-
----
-test: Pairs
-todo: true
-yaml: |
-  # Explicitly typed pairs.
-  tasks: !pairs
-    - meeting: with team.
-    - meeting: with boss.
-    - break: lunch.
-    - meeting: with client.
-ruby: |
-  {
-    'tasks' => YAML::Pairs[
-      'meeting', 'with team.',
-      'meeting', 'with boss.',
-      'break', 'lunch.',
-      'meeting', 'with client.'
-    ]
-  }
-
----
-test: Set
-todo: true
-yaml: |
-  # Explicitly typed set.
-  baseball players: !set
-    Mark McGwire:
-    Sammy Sosa:
-    Ken Griffey:
-ruby: |
-  {
-    'baseball players' => YAML::Set[
-      'Mark McGwire', nil,
-      'Sammy Sosa', nil,
-      'Ken Griffey', nil
-    ]
-  }
-
----
-test: Boolean
-yaml: |
-   false: used as key
-   logical:  true
-   answer: false
-php: |
-   array(
-     false => 'used as key',
-     'logical' => true,
-     'answer' => false
-   )
----
-test: Integer
-yaml: |
-   canonical: 12345
-   decimal: +12,345
-   octal: 014
-   hexadecimal: 0xC
-php: |
-   array(
-     'canonical' => 12345,
-     'decimal' => 12345,
-     'octal' => 12,
-     'hexadecimal' => 12
-   )
----
-test: Float
-yaml: |
-   canonical: 1.23015e+3
-   exponential: 12.3015e+02
-   fixed: 1,230.15
-   negative infinity: -.inf
-   not a number: .NaN
-php: |
-  array(
-    'canonical' => 1230.15,
-    'exponential' => 1230.15,
-    'fixed' => 1230.15,
-    'negative infinity' => log(0),
-    'not a number' => -log(0)
-  )
----
-test: Timestamp
-todo: true
-yaml: |
-   canonical:       2001-12-15T02:59:43.1Z
-   valid iso8601:   2001-12-14t21:59:43.10-05:00
-   space separated: 2001-12-14 21:59:43.10 -05:00
-   date (noon UTC): 2002-12-14
-ruby: |
-   array(
-     'canonical' => YAML::mktime( 2001, 12, 15, 2, 59, 43, 0.10 ),
-     'valid iso8601' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-     'space separated' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-     'date (noon UTC)' => Date.new( 2002, 12, 14 )
-   )
----
-test: Binary
-todo: true
-yaml: |
-   canonical: !binary "\
-    R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\
-    OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\
-    +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\
-    AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs="
-   base64: !binary |
-    R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5
-    OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+
-    +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
-    AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
-   description: >
-    The binary value above is a tiny arrow
-    encoded as a gif image.
-ruby-setup: |
-   arrow_gif = "GIF89a\f\000\f\000\204\000\000\377\377\367\365\365\356\351\351\345fff\000\000\000\347\347\347^^^\363\363\355\216\216\216\340\340\340\237\237\237\223\223\223\247\247\247\236\236\236iiiccc\243\243\243\204\204\204\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371!\376\016Made with GIMP\000,\000\000\000\000\f\000\f\000\000\005,  \216\2010\236\343@\024\350i\020\304\321\212\010\034\317\200M$z\357\3770\205p\270\2601f\r\e\316\001\303\001\036\020' \202\n\001\000;"
-ruby: |
-   {
-     'canonical' => arrow_gif,
-     'base64' => arrow_gif,
-     'description' => "The binary value above is a tiny arrow encoded as a gif image.\n"
-   }
-
----
-test: Merge key
-todo: true
-yaml: |
-  ---
-  - &CENTER { x: 1, y: 2 }
-  - &LEFT { x: 0, y: 2 }
-  - &BIG { r: 10 }
-  - &SMALL { r: 1 }
-
-  # All the following maps are equal:
-
-  - # Explicit keys
-    x: 1
-    y: 2
-    r: 10
-    label: center/big
-
-  - # Merge one map
-    << : *CENTER
-    r: 10
-    label: center/big
-
-  - # Merge multiple maps
-    << : [ *CENTER, *BIG ]
-    label: center/big
-
-  - # Override
-    << : [ *BIG, *LEFT, *SMALL ]
-    x: 1
-    label: center/big
-
-ruby-setup: |
-  center = { 'x' => 1, 'y' => 2 }
-  left = { 'x' => 0, 'y' => 2 }
-  big = { 'r' => 10 }
-  small = { 'r' => 1 }
-  node1 = { 'x' => 1, 'y' => 2, 'r' => 10, 'label' => 'center/big' }
-  node2 = center.dup
-  node2.update( { 'r' => 10, 'label' => 'center/big' } )
-  node3 = big.dup
-  node3.update( center )
-  node3.update( { 'label' => 'center/big' } )
-  node4 = small.dup
-  node4.update( left )
-  node4.update( big )
-  node4.update( { 'x' => 1, 'label' => 'center/big' } )
-
-ruby: |
-  [
-    center, left, big, small, node1, node2, node3, node4
-  ]
-
----
-test: Default key
-todo: true
-yaml: |
-   ---     # Old schema
-   link with:
-     - library1.dll
-     - library2.dll
-   ---     # New schema
-   link with:
-     - = : library1.dll
-       version: 1.2
-     - = : library2.dll
-       version: 2.3
-ruby: |
-   y = YAML::Stream.new
-   y.add( { 'link with' => [ 'library1.dll', 'library2.dll' ] } )
-   obj_h = Hash[ 'version' => 1.2 ]
-   obj_h.default = 'library1.dll'
-   obj_h2 = Hash[ 'version' => 2.3 ]
-   obj_h2.default = 'library2.dll'
-   y.add( { 'link with' => [ obj_h, obj_h2 ] } )
-documents: 2
-
----
-test: Special keys
-todo: true
-yaml: |
-   "!": These three keys
-   "&": had to be quoted
-   "=": and are normal strings.
-   # NOTE: the following node should NOT be serialized this way.
-   encoded node :
-    !special '!' : '!type'
-    !special|canonical '&' : 12
-    = : value
-   # The proper way to serialize the above node is as follows:
-   node : !!type &12 value
-ruby: |
-   { '!' => 'These three keys', '&' => 'had to be quoted',
-     '=' => 'and are normal strings.',
-     'encoded node' => YAML::PrivateType.new( 'type', 'value' ),
-     'node' => YAML::PrivateType.new( 'type', 'value' ) }
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml
deleted file mode 100644
index aac4e68..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml
+++ /dev/null
@@ -1,244 +0,0 @@
---- %YAML:1.0
-test: Strings
-brief: >
-    Any group of characters beginning with an
-    alphabetic or numeric character is a string,
-    unless it belongs to one of the groups below
-    (such as an Integer or Time).
-yaml: |
-    String
-php: |
-    'String'
----
-test: String characters
-brief: >
-    A string can contain any alphabetic or
-    numeric character, along with many
-    punctuation characters, including the
-    period, dash, space, quotes, exclamation, and
-    question mark.
-yaml: |
-    - What's Yaml?
-    - It's for writing data structures in plain text.
-    - And?
-    - And what? That's not good enough for you?
-    - No, I mean, "And what about Yaml?"
-    - Oh, oh yeah. Uh.. Yaml for Ruby.
-php: |
-    array(
-      "What's Yaml?",
-      "It's for writing data structures in plain text.",
-      "And?",
-      "And what? That's not good enough for you?",
-      "No, I mean, \"And what about Yaml?\"",
-      "Oh, oh yeah. Uh.. Yaml for Ruby."
-    )
----
-test: Indicators in Strings
-brief: >
-    Be careful using indicators in strings.  In particular,
-    the comma, colon, and pound sign must be used carefully.
-yaml: |
-    the colon followed by space is an indicator: but is a string:right here
-    same for the pound sign: here we have it#in a string
-    the comma can, honestly, be used in most cases: [ but not in, inline collections ]
-php: |
-    array(
-      'the colon followed by space is an indicator' => 'but is a string:right here',
-      'same for the pound sign' => 'here we have it#in a string',
-      'the comma can, honestly, be used in most cases' => array('but not in', 'inline collections')
-    )
----
-test: Forcing Strings
-brief: >
-    Any YAML type can be forced into a string using the
-    explicit !str method.
-yaml: |
-    date string: !str 2001-08-01
-    number string: !str 192
-php: |
-    array(
-      'date string' => '2001-08-01',
-      'number string' => '192'
-    )
----
-test: Single-quoted Strings
-brief: >
-    You can also enclose your strings within single quotes,
-    which allows use of slashes, colons, and other indicators
-    freely.  Inside single quotes, you can represent a single
-    quote in your string by using two single quotes next to
-    each other.
-yaml: |
-    all my favorite symbols: '#:!/%.)'
-    a few i hate: '&(*'
-    why do i hate them?: 'it''s very hard to explain'
-    entities: '&pound; me'
-php: |
-    array(
-      'all my favorite symbols' => '#:!/%.)',
-      'a few i hate' => '&(*',
-      'why do i hate them?' => 'it\'s very hard to explain',
-      'entities' => '&pound; me'
-    )
----
-test: Double-quoted Strings
-brief: >
-    Enclosing strings in double quotes allows you
-    to use escapings to represent ASCII and
-    Unicode characters.
-yaml: |
-    i know where i want my line breaks: "one here\nand another here\n"
-php: |
-    array(
-      'i know where i want my line breaks' => "one here\nand another here\n"
-    )
----
-test: Multi-line Quoted Strings
-todo: true
-brief: >
-    Both single- and double-quoted strings may be
-    carried on to new lines in your YAML document.
-    They must be indented a step and indentation
-    is interpreted as a single space.
-yaml: |
-    i want a long string: "so i'm going to
-      let it go on and on to other lines
-      until i end it with a quote."
-php: |
-    array('i want a long string' => "so i'm going to ".
-         "let it go on and on to other lines ".
-         "until i end it with a quote."
-    )
-
----
-test: Plain scalars
-todo: true
-brief: >
-    Unquoted strings may also span multiple lines, if they
-    are free of YAML space indicators and indented.
-yaml: |
-    - My little toe is broken in two places;
-    - I'm crazy to have skied this way;
-    - I'm not the craziest he's seen, since there was always the German guy
-      who skied for 3 hours on a broken shin bone (just below the kneecap);
-    - Nevertheless, second place is respectable, and he doesn't
-      recommend going for the record;
-    - He's going to put my foot in plaster for a month;
-    - This would impair my skiing ability somewhat for the
-      duration, as can be imagined.
-php: |
-    array(
-      "My little toe is broken in two places;",
-      "I'm crazy to have skied this way;",
-      "I'm not the craziest he's seen, since there was always ".
-         "the German guy who skied for 3 hours on a broken shin ".
-         "bone (just below the kneecap);",
-      "Nevertheless, second place is respectable, and he doesn't ".
-         "recommend going for the record;",
-      "He's going to put my foot in plaster for a month;",
-      "This would impair my skiing ability somewhat for the duration, ".
-         "as can be imagined."
-    )
----
-test: 'Null'
-brief: >
-    You can use the tilde '~' character for a null value.
-yaml: |
-    name: Mr. Show
-    hosted by: Bob and David
-    date of next season: ~
-php: |
-    array(
-      'name' => 'Mr. Show',
-      'hosted by' => 'Bob and David',
-      'date of next season' => null
-    )
----
-test: Boolean
-brief: >
-    You can use 'true' and 'false' for Boolean values.
-yaml: |
-    Is Gus a Liar?: true
-    Do I rely on Gus for Sustenance?: false
-php: |
-    array(
-      'Is Gus a Liar?' => true,
-      'Do I rely on Gus for Sustenance?' => false
-    )
----
-test: Integers
-dump_skip: true
-brief: >
-    An integer is a series of numbers, optionally
-    starting with a positive or negative sign.  Integers
-    may also contain commas for readability.
-yaml: |
-    zero: 0
-    simple: 12
-    one-thousand: 1,000
-    negative one-thousand: -1,000
-php: |
-    array(
-      'zero' => 0,
-      'simple' => 12,
-      'one-thousand' => 1000,
-      'negative one-thousand' => -1000
-    )
----
-test: Integers as Map Keys
-brief: >
-    An integer can be used a dictionary key.
-yaml: |
-    1: one
-    2: two
-    3: three
-php: |
-    array(
-        1 => 'one',
-        2 => 'two',
-        3 => 'three'
-    )
----
-test: Floats
-dump_skip: true
-brief: >
-     Floats are represented by numbers with decimals,
-     allowing for scientific notation, as well as
-     positive and negative infinity and "not a number."
-yaml: |
-     a simple float: 2.00
-     larger float: 1,000.09
-     scientific notation: 1.00009e+3
-php: |
-     array(
-       'a simple float' => 2.0,
-       'larger float' => 1000.09,
-       'scientific notation' => 1000.09
-     )
----
-test: Time
-todo: true
-brief: >
-    You can represent timestamps by using
-    ISO8601 format, or a variation which
-    allows spaces between the date, time and
-    time zone.
-yaml: |
-    iso8601: 2001-12-14t21:59:43.10-05:00
-    space separated: 2001-12-14 21:59:43.10 -05:00
-php: |
-    array(
-      'iso8601' => mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-      'space separated' => mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" )
-    )
----
-test: Date
-todo: true
-brief: >
-    A date can be represented by its year,
-    month and day in ISO8601 order.
-yaml: |
-    1976-07-31
-php: |
-    date( 1976, 7, 31 )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml
deleted file mode 100644
index ec456ed..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml
+++ /dev/null
@@ -1 +0,0 @@
-value: <?php echo 1 + 2 + 3 ?>
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml
deleted file mode 100644
index 09bf86e..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml
+++ /dev/null
@@ -1,147 +0,0 @@
-test: outside double quotes
-yaml: |
-    \0 \ \a \b \n
-php: |
-    "\\0 \\ \\a \\b \\n"
----
-test: null
-yaml: |
-    "\0"
-php: |
-    "\x00"
----
-test: bell
-yaml: |
-    "\a"
-php: |
-    "\x07"
----
-test: backspace
-yaml: |
-    "\b"
-php: |
-    "\x08"
----
-test: horizontal tab (1)
-yaml: |
-    "\t"
-php: |
-    "\x09"
----
-test: horizontal tab (2)
-yaml: |
-    "\	"
-php: |
-    "\x09"
----
-test: line feed
-yaml: |
-    "\n"
-php: |
-    "\x0a"
----
-test: vertical tab
-yaml: |
-    "\v"
-php: |
-    "\x0b"
----
-test: form feed
-yaml: |
-    "\f"
-php: |
-    "\x0c"
----
-test: carriage return
-yaml: |
-    "\r"
-php: |
-    "\x0d"
----
-test: escape
-yaml: |
-    "\e"
-php: |
-   "\x1b"
----
-test: space
-yaml: |
-    "\ "
-php: |
-    "\x20"
----
-test: slash
-yaml: |
-    "\/"
-php: |
-    "\x2f"
----
-test: backslash
-yaml: |
-    "\\"
-php: |
-    "\\"
----
-test: Unicode next line
-yaml: |
-    "\N"
-php: |
-    "\xc2\x85"
----
-test: Unicode non-breaking space
-yaml: |
-    "\_"
-php: |
-    "\xc2\xa0"
----
-test: Unicode line separator
-yaml: |
-    "\L"
-php: |
-    "\xe2\x80\xa8"
----
-test: Unicode paragraph separator
-yaml: |
-    "\P"
-php: |
-    "\xe2\x80\xa9"
----
-test: Escaped 8-bit Unicode
-yaml: |
-    "\x42"
-php: |
-    "B"
----
-test: Escaped 16-bit Unicode
-yaml: |
-    "\u20ac"
-php: |
-    "\xe2\x82\xac"
----
-test: Escaped 32-bit Unicode
-yaml: |
-    "\U00000043"
-php: |
-    "C"
----
-test: Example 5.13 Escaped Characters
-note: |
-    Currently throws an error parsing first line. Maybe Symfony Yaml doesn't support
-    continuation of string across multiple lines? Keeping test here but disabled.
-todo: true
-yaml: |
-    "Fun with \\
-    \" \a \b \e \f \
-    \n \r \t \v \0 \
-    \  \_ \N \L \P \
-    \x41 \u0041 \U00000041"
-php: |
-    "Fun with \x5C\n\x22 \x07 \x08 \x1B \x0C\n\x0A \x0D \x09 \x0B \x00\n\x20 \xA0 \x85 \xe2\x80\xa8 \xe2\x80\xa9\nA A A"
----
-test: Double quotes with a line feed
-yaml: |
-   { double: "some value\n \"some quoted string\" and 'some single quotes one'" }
-php: |
-    array(
-        'double' => "some value\n \"some quoted string\" and 'some single quotes one'"
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml
deleted file mode 100644
index 3216a89..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-- escapedCharacters
-- sfComments
-- sfCompact
-- sfTests
-- sfObjects
-- sfMergeKey
-- sfQuotes
-- YtsAnchorAlias
-- YtsBasicTests
-- YtsBlockMapping
-- YtsDocumentSeparator
-- YtsErrorTests
-- YtsFlowCollections
-- YtsFoldedScalars
-- YtsNullsAndEmpties
-- YtsSpecificationExamples
-- YtsTypeTransfers
-- unindentedCollections
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml
deleted file mode 100644
index 6a7ffec..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml
+++ /dev/null
@@ -1,73 +0,0 @@
---- %YAML:1.0
-test: Comments at the end of a line
-brief: >
-    Comments at the end of a line
-yaml: |
-    ex1: "foo # bar"
-    ex2: "foo # bar" # comment
-    ex3: 'foo # bar' # comment
-    ex4: foo # comment
-php: |
-    array('ex1' => 'foo # bar', 'ex2' => 'foo # bar', 'ex3' => 'foo # bar', 'ex4' => 'foo')
----
-test: Comments in the middle
-brief: >
-  Comments in the middle
-yaml: |
-    foo:
-    # some comment
-    # some comment
-      bar: foo
-    # some comment
-    # some comment
-php: |
-    array('foo' => array('bar' => 'foo'))
----
-test: Comments on a hash line
-brief: >
-  Comments on a hash line
-yaml: |
-    foo:   # a comment
-      foo: bar # a comment
-php: |
-    array('foo' => array('foo' => 'bar'))
----
-test: 'Value starting with a #'
-brief: >
-  'Value starting with a #'
-yaml: |
-    foo:   '#bar'
-php: |
-    array('foo' => '#bar')
----
-test: Document starting with a comment and a separator
-brief: >
-  Commenting before document start is allowed
-yaml: |
-    # document comment
-    ---
-    foo: bar # a comment
-php: |
-    array('foo' => 'bar')
----
-test: Comment containing a colon on a hash line
-brief: >
-    Comment containing a colon on a scalar line
-yaml: 'foo # comment: this is also part of the comment'
-php: |
-    'foo'
----
-test: 'Hash key containing a #'
-brief: >
-    'Hash key containing a #'
-yaml: 'foo#bar: baz'
-php: |
-    array('foo#bar' => 'baz')
----
-test: 'Hash key ending with a space and a #'
-brief: >
-    'Hash key ending with a space and a #'
-yaml: |
-    'foo #': baz
-php: |
-    array('foo #' => 'baz')
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml
deleted file mode 100644
index 1339d23..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml
+++ /dev/null
@@ -1,159 +0,0 @@
---- %YAML:1.0
-test: Compact notation
-brief: |
-    Compact notation for sets of mappings with single element
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-  - item    : Basketball
-    quantity: 1
-  - item:
-      name: Big Shoes
-      nick: Biggies
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => array(
-        'name' => 'Big Shoes',
-        'nick' => 'Biggies'
-      ),
-      'quantity' => 1
-    )
-  )
----
-test: Compact notation combined with inline notation
-brief: |
-    Combinations of compact and inline notation are allowed
-yaml: |
-  ---
-  items:
-    - { item: Super Hoop, quantity: 1 }
-    - [ Basketball, Big Shoes ]
-php: |
-  array (
-    'items' => array (
-      array (
-        'item' => 'Super Hoop',
-        'quantity' => 1,
-      ),
-      array (
-        'Basketball',
-        'Big Shoes'
-      )
-    )
-  )
---- %YAML:1.0
-test: Compact notation
-brief: |
-    Compact notation for sets of mappings with single element
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-  - item    : Basketball
-    quantity: 1
-  - item:
-      name: Big Shoes
-      nick: Biggies
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => array(
-        'name' => 'Big Shoes',
-        'nick' => 'Biggies'
-      ),
-      'quantity' => 1
-    )
-  )
----
-test: Compact notation combined with inline notation
-brief: |
-    Combinations of compact and inline notation are allowed
-yaml: |
-  ---
-  items:
-    - { item: Super Hoop, quantity: 1 }
-    - [ Basketball, Big Shoes ]
-php: |
-  array (
-    'items' => array (
-      array (
-        'item' => 'Super Hoop',
-        'quantity' => 1,
-      ),
-      array (
-        'Basketball',
-        'Big Shoes'
-      )
-    )
-  )
---- %YAML:1.0
-test: Compact notation
-brief: |
-    Compact notation for sets of mappings with single element
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-  - item    : Basketball
-    quantity: 1
-  - item:
-      name: Big Shoes
-      nick: Biggies
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => array(
-        'name' => 'Big Shoes',
-        'nick' => 'Biggies'
-      ),
-      'quantity' => 1
-    )
-  )
----
-test: Compact notation combined with inline notation
-brief: |
-    Combinations of compact and inline notation are allowed
-yaml: |
-  ---
-  items:
-    - { item: Super Hoop, quantity: 1 }
-    - [ Basketball, Big Shoes ]
-php: |
-  array (
-    'items' => array (
-      array (
-        'item' => 'Super Hoop',
-        'quantity' => 1,
-      ),
-      array (
-        'Basketball',
-        'Big Shoes'
-      )
-    )
-  )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
deleted file mode 100644
index fd99101..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
+++ /dev/null
@@ -1,45 +0,0 @@
---- %YAML:1.0
-test: Simple In Place Substitution
-brief: >
-    If you want to reuse an entire alias, only overwriting what is different
-    you can use a << in place substitution. This is not part of the official
-    YAML spec, but a widely implemented extension. See the following URL for
-    details: http://yaml.org/type/merge.html
-yaml: |
-    foo: &foo
-        a: Steve
-        b: Clark
-        c: Brian
-    bar:
-        a: before
-        d: other
-        <<: *foo
-        b: new
-        x: Oren
-        c:
-            foo: bar
-            foo: ignore
-            bar: foo
-    duplicate:
-        foo: bar
-        foo: ignore
-    foo2: &foo2
-        a: Ballmer
-    ding: &dong [ fi, fei, fo, fam]
-    check:
-        <<:
-            - *foo
-            - *dong
-        isit: tested
-    head:
-        <<: [ *foo , *dong , *foo2 ]
-php: |
-    array(
-        'foo' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian'),
-        'bar' => array('a' => 'before', 'd' => 'other', 'b' => 'new', 'c' => array('foo' => 'bar', 'bar' => 'foo'), 'x' => 'Oren'),
-        'duplicate' => array('foo' => 'bar'),
-        'foo2' => array('a' => 'Ballmer'),
-        'ding' => array('fi', 'fei', 'fo', 'fam'),
-        'check' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam', 'isit' => 'tested'),
-        'head' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam')
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml
deleted file mode 100644
index ee124b2..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml
+++ /dev/null
@@ -1,11 +0,0 @@
---- %YAML:1.0
-test: Objects
-brief: >
-    Comments at the end of a line
-yaml: |
-    ex1: "foo # bar"
-    ex2: "foo # bar" # comment
-    ex3: 'foo # bar' # comment
-    ex4: foo # comment
-php: |
-    array('ex1' => 'foo # bar', 'ex2' => 'foo # bar', 'ex3' => 'foo # bar', 'ex4' => 'foo')
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml
deleted file mode 100644
index 741f1be..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml
+++ /dev/null
@@ -1,33 +0,0 @@
---- %YAML:1.0
-test: Some characters at the beginning of a string must be escaped
-brief: >
-    Some characters at the beginning of a string must be escaped
-yaml: |
-    foo: | bar
-php: |
-    array('foo' => '| bar')
----
-test: A key can be a quoted string
-brief: >
-  A key can be a quoted string
-yaml: |
-    "foo1": bar
-    'foo2': bar
-    "foo \" bar": bar
-    'foo '' bar': bar
-    'foo3: ': bar
-    "foo4: ": bar
-    foo5: { "foo \" bar: ": bar, 'foo '' bar: ': bar }
-php: |
-    array(
-      'foo1' => 'bar',
-      'foo2' => 'bar',
-      'foo " bar' => 'bar',
-      'foo \' bar' => 'bar',
-      'foo3: ' => 'bar',
-      'foo4: ' => 'bar',
-      'foo5' => array(
-        'foo " bar: ' => 'bar',
-        'foo \' bar: ' => 'bar',
-      ),
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml
deleted file mode 100644
index 7a54f16..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml
+++ /dev/null
@@ -1,135 +0,0 @@
---- %YAML:1.0
-test: Multiple quoted string on one line
-brief: >
-    Multiple quoted string on one line
-yaml: |
-    stripped_title: { name: "foo bar", help: "bar foo" }
-php: |
-    array('stripped_title' => array('name' => 'foo bar', 'help' => 'bar foo'))
----
-test: Empty sequence
-yaml: |
-    foo: [ ]
-php: |
-    array('foo' => array())
----
-test: Empty value
-yaml: |
-    foo:
-php: |
-    array('foo' => null)
----
-test: Inline string parsing
-brief: >
-    Inline string parsing
-yaml: |
-    test: ['complex: string', 'another [string]']
-php: |
-    array('test' => array('complex: string', 'another [string]'))
----
-test: Boolean
-brief: >
-    Boolean
-yaml: |
-    - false
-    - true
-    - null
-    - ~
-    - 'false'
-    - 'true'
-    - 'null'
-    - '~'
-php: |
-    array(
-      false,
-      true,
-      null,
-      null,
-      'false',
-      'true',
-      'null',
-      '~',
-    )
----
-test: Empty lines in folded blocks
-brief: >
-  Empty lines in folded blocks
-yaml: |
-  foo:
-    bar: |
-      foo
-
-
-        
-      bar
-php: |
-  array('foo' => array('bar' => "foo\n\n\n  \nbar\n"))
----
-test: IP addresses
-brief: >
-  IP addresses
-yaml: |
-  foo: 10.0.0.2
-php: |
-  array('foo' => '10.0.0.2')
----
-test: A sequence with an embedded mapping
-brief: >
-  A sequence with an embedded mapping
-yaml: |
-  - foo
-  - bar: { bar: foo }
-php: |
-  array('foo', array('bar' => array('bar' => 'foo')))
----
-test: A sequence with an unordered array
-brief: >
-  A sequence with an unordered array
-yaml: |
-  1: foo
-  0: bar
-php: |
-  array(1 => 'foo', 0 => 'bar')
----
-test: Octal
-brief: as in spec example 2.19, octal value is converted
-yaml: |
-  foo: 0123
-php: |
-  array('foo' => 83)
----
-test: Octal strings
-brief: Octal notation in a string must remain a string
-yaml: |
-  foo: "0123"
-php: |
-  array('foo' => '0123')
----
-test: Octal strings
-brief: Octal notation in a string must remain a string
-yaml: |
-  foo: '0123'
-php: |
-  array('foo' => '0123')
----
-test: Octal strings
-brief: Octal notation in a string must remain a string
-yaml: |
-  foo: |
-    0123
-php: |
-  array('foo' => "0123\n")
----
-test: Document as a simple hash
-brief: Document as a simple hash
-yaml: |
-  { foo: bar }
-php: |
-  array('foo' => 'bar')
----
-test: Document as a simple array
-brief: Document as a simple array
-yaml: |
-  [ foo, bar ]
-php: |
-  array('foo', 'bar')
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml
deleted file mode 100644
index 0c96108..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml
+++ /dev/null
@@ -1,82 +0,0 @@
---- %YAML:1.0
-test: Unindented collection
-brief: >
-    Unindented collection
-yaml: |
-    collection:
-    - item1
-    - item2
-    - item3
-php: |
-    array('collection' => array('item1', 'item2', 'item3'))
----
-test: Nested unindented collection (two levels)
-brief: >
-    Nested unindented collection
-yaml: |
-    collection:
-        key:
-        - a
-        - b
-        - c
-php: |
-    array('collection' => array('key' => array('a', 'b', 'c')))
----
-test: Nested unindented collection (three levels)
-brief: >
-    Nested unindented collection
-yaml: |
-    collection:
-        key:
-            subkey:
-            - one
-            - two
-            - three
-php: |
-    array('collection' => array('key' => array('subkey' => array('one', 'two', 'three'))))
----
-test: Key/value after unindented collection (1)
-brief: >
-    Key/value after unindented collection (1)
-yaml: |
-    collection:
-        key:
-        - a
-        - b
-        - c
-    foo: bar
-php: |
-    array('collection' => array('key' => array('a', 'b', 'c')), 'foo' => 'bar')
----
-test: Key/value after unindented collection (at the same level)
-brief: >
-    Key/value after unindented collection
-yaml: |
-    collection:
-        key:
-        - a
-        - b
-        - c
-        foo: bar
-php: |
-    array('collection' => array('key' => array('a', 'b', 'c'), 'foo' => 'bar'))
----
-test: Shortcut Key after unindented collection
-brief: >
-    Key/value after unindented collection
-yaml: |
-    collection:
-    - key: foo
-      foo: bar
-php: |
-    array('collection' => array(array('key' => 'foo', 'foo' => 'bar')))
----
-test: Shortcut Key after unindented collection with custom spaces
-brief: >
-    Key/value after unindented collection
-yaml: |
-    collection:
-    -  key: foo
-       foo: bar
-php: |
-    array('collection' => array(array('key' => 'foo', 'foo' => 'bar')))
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php
deleted file mode 100644
index bbff176..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php
+++ /dev/null
@@ -1,380 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Inline;
-
-class InlineTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getTestsForParse
-     */
-    public function testParse($yaml, $value)
-    {
-        $this->assertSame($value, Inline::parse($yaml), sprintf('::parse() converts an inline YAML to a PHP structure (%s)', $yaml));
-    }
-
-    /**
-     * @dataProvider getTestsForParseWithMapObjects
-     */
-    public function testParseWithMapObjects($yaml, $value)
-    {
-        $actual = Inline::parse($yaml, false, false, true);
-
-        $this->assertSame(serialize($value), serialize($actual));
-    }
-
-    /**
-     * @dataProvider getTestsForDump
-     */
-    public function testDump($yaml, $value)
-    {
-        $this->assertEquals($yaml, Inline::dump($value), sprintf('::dump() converts a PHP structure to an inline YAML (%s)', $yaml));
-
-        $this->assertSame($value, Inline::parse(Inline::dump($value)), 'check consistency');
-    }
-
-    public function testDumpNumericValueWithLocale()
-    {
-        $locale = setlocale(LC_NUMERIC, 0);
-        if (false === $locale) {
-            $this->markTestSkipped('Your platform does not support locales.');
-        }
-
-        $required_locales = array('fr_FR.UTF-8', 'fr_FR.UTF8', 'fr_FR.utf-8', 'fr_FR.utf8', 'French_France.1252');
-        if (false === setlocale(LC_ALL, $required_locales)) {
-            $this->markTestSkipped('Could not set any of required locales: '.implode(', ', $required_locales));
-        }
-
-        $this->assertEquals('1.2', Inline::dump(1.2));
-        $this->assertContains('fr', strtolower(setlocale(LC_NUMERIC, 0)));
-
-        setlocale(LC_ALL, $locale);
-    }
-
-    public function testHashStringsResemblingExponentialNumericsShouldNotBeChangedToINF()
-    {
-        $value = '686e444';
-
-        $this->assertSame($value, Inline::parse(Inline::dump($value)));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseScalarWithIncorrectlyQuotedStringShouldThrowException()
-    {
-        $value = "'don't do somthin' like that'";
-        Inline::parse($value);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseScalarWithIncorrectlyDoubleQuotedStringShouldThrowException()
-    {
-        $value = '"don"t do somthin" like that"';
-        Inline::parse($value);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseInvalidMappingKeyShouldThrowException()
-    {
-        $value = '{ "foo " bar": "bar" }';
-        Inline::parse($value);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseInvalidMappingShouldThrowException()
-    {
-        Inline::parse('[foo] bar');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseInvalidSequenceShouldThrowException()
-    {
-        Inline::parse('{ foo: bar } bar');
-    }
-
-    public function testParseScalarWithCorrectlyQuotedStringShouldReturnString()
-    {
-        $value = "'don''t do somthin'' like that'";
-        $expect = "don't do somthin' like that";
-
-        $this->assertSame($expect, Inline::parseScalar($value));
-    }
-
-    /**
-     * @dataProvider getDataForParseReferences
-     */
-    public function testParseReferences($yaml, $expected)
-    {
-        $this->assertSame($expected, Inline::parse($yaml, false, false, false, array('var' => 'var-value')));
-    }
-
-    public function getDataForParseReferences()
-    {
-        return array(
-            'scalar' => array('*var', 'var-value'),
-            'list' => array('[ *var ]', array('var-value')),
-            'list-in-list' => array('[[ *var ]]', array(array('var-value'))),
-            'map-in-list' => array('[ { key: *var } ]', array(array('key' => 'var-value'))),
-            'embedded-mapping-in-list' => array('[ key: *var ]', array(array('key' => 'var-value'))),
-            'map' => array('{ key: *var }', array('key' => 'var-value')),
-            'list-in-map' => array('{ key: [*var] }', array('key' => array('var-value'))),
-            'map-in-map' => array('{ foo: { bar: *var } }', array('foo' => array('bar' => 'var-value'))),
-        );
-    }
-
-    public function testParseMapReferenceInSequence()
-    {
-        $foo = array(
-            'a' => 'Steve',
-            'b' => 'Clark',
-            'c' => 'Brian',
-        );
-        $this->assertSame(array($foo), Inline::parse('[*foo]', false, false, false, array('foo' => $foo)));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     * @expectedExceptionMessage A reference must contain at least one character.
-     */
-    public function testParseUnquotedAsterisk()
-    {
-        Inline::parse('{ foo: * }');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     * @expectedExceptionMessage A reference must contain at least one character.
-     */
-    public function testParseUnquotedAsteriskFollowedByAComment()
-    {
-        Inline::parse('{ foo: * #foo }');
-    }
-
-    public function getTestsForParse()
-    {
-        return array(
-            array('', ''),
-            array('null', null),
-            array('false', false),
-            array('true', true),
-            array('12', 12),
-            array('-12', -12),
-            array('"quoted string"', 'quoted string'),
-            array("'quoted string'", 'quoted string'),
-            array('12.30e+02', 12.30e+02),
-            array('0x4D2', 0x4D2),
-            array('02333', 02333),
-            array('.Inf', -log(0)),
-            array('-.Inf', log(0)),
-            array("'686e444'", '686e444'),
-            array('686e444', 646e444),
-            array('123456789123456789123456789123456789', '123456789123456789123456789123456789'),
-            array('"foo\r\nbar"', "foo\r\nbar"),
-            array("'foo#bar'", 'foo#bar'),
-            array("'foo # bar'", 'foo # bar'),
-            array("'#cfcfcf'", '#cfcfcf'),
-            array('::form_base.html.twig', '::form_base.html.twig'),
-
-            // Pre-YAML-1.2 booleans
-            array("'y'", 'y'),
-            array("'n'", 'n'),
-            array("'yes'", 'yes'),
-            array("'no'", 'no'),
-            array("'on'", 'on'),
-            array("'off'", 'off'),
-
-            array('2007-10-30', mktime(0, 0, 0, 10, 30, 2007)),
-            array('2007-10-30T02:59:43Z', gmmktime(2, 59, 43, 10, 30, 2007)),
-            array('2007-10-30 02:59:43 Z', gmmktime(2, 59, 43, 10, 30, 2007)),
-            array('1960-10-30 02:59:43 Z', gmmktime(2, 59, 43, 10, 30, 1960)),
-            array('1730-10-30T02:59:43Z', gmmktime(2, 59, 43, 10, 30, 1730)),
-
-            array('"a \\"string\\" with \'quoted strings inside\'"', 'a "string" with \'quoted strings inside\''),
-            array("'a \"string\" with ''quoted strings inside'''", 'a "string" with \'quoted strings inside\''),
-
-            // sequences
-            // urls are no key value mapping. see #3609. Valid yaml "key: value" mappings require a space after the colon
-            array('[foo, http://urls.are/no/mappings, false, null, 12]', array('foo', 'http://urls.are/no/mappings', false, null, 12)),
-            array('[  foo  ,   bar , false  ,  null     ,  12  ]', array('foo', 'bar', false, null, 12)),
-            array('[\'foo,bar\', \'foo bar\']', array('foo,bar', 'foo bar')),
-
-            // mappings
-            array('{foo:bar,bar:foo,false:false,null:null,integer:12}', array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12)),
-            array('{ foo  : bar, bar : foo,  false  :   false,  null  :   null,  integer :  12  }', array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12)),
-            array('{foo: \'bar\', bar: \'foo: bar\'}', array('foo' => 'bar', 'bar' => 'foo: bar')),
-            array('{\'foo\': \'bar\', "bar": \'foo: bar\'}', array('foo' => 'bar', 'bar' => 'foo: bar')),
-            array('{\'foo\'\'\': \'bar\', "bar\"": \'foo: bar\'}', array('foo\'' => 'bar', "bar\"" => 'foo: bar')),
-            array('{\'foo: \': \'bar\', "bar: ": \'foo: bar\'}', array('foo: ' => 'bar', "bar: " => 'foo: bar')),
-
-            // nested sequences and mappings
-            array('[foo, [bar, foo]]', array('foo', array('bar', 'foo'))),
-            array('[foo, {bar: foo}]', array('foo', array('bar' => 'foo'))),
-            array('{ foo: {bar: foo} }', array('foo' => array('bar' => 'foo'))),
-            array('{ foo: [bar, foo] }', array('foo' => array('bar', 'foo'))),
-
-            array('[  foo, [  bar, foo  ]  ]', array('foo', array('bar', 'foo'))),
-
-            array('[{ foo: {bar: foo} }]', array(array('foo' => array('bar' => 'foo')))),
-
-            array('[foo, [bar, [foo, [bar, foo]], foo]]', array('foo', array('bar', array('foo', array('bar', 'foo')), 'foo'))),
-
-            array('[foo, {bar: foo, foo: [foo, {bar: foo}]}, [foo, {bar: foo}]]', array('foo', array('bar' => 'foo', 'foo' => array('foo', array('bar' => 'foo'))), array('foo', array('bar' => 'foo')))),
-
-            array('[foo, bar: { foo: bar }]', array('foo', '1' => array('bar' => array('foo' => 'bar')))),
-            array('[foo, \'@foo.baz\', { \'%foo%\': \'foo is %foo%\', bar: \'%foo%\' }, true, \'@service_container\']', array('foo', '@foo.baz', array('%foo%' => 'foo is %foo%', 'bar' => '%foo%'), true, '@service_container')),
-        );
-    }
-
-    public function getTestsForParseWithMapObjects()
-    {
-        return array(
-            array('', ''),
-            array('null', null),
-            array('false', false),
-            array('true', true),
-            array('12', 12),
-            array('-12', -12),
-            array('"quoted string"', 'quoted string'),
-            array("'quoted string'", 'quoted string'),
-            array('12.30e+02', 12.30e+02),
-            array('0x4D2', 0x4D2),
-            array('02333', 02333),
-            array('.Inf', -log(0)),
-            array('-.Inf', log(0)),
-            array("'686e444'", '686e444'),
-            array('686e444', 646e444),
-            array('123456789123456789123456789123456789', '123456789123456789123456789123456789'),
-            array('"foo\r\nbar"', "foo\r\nbar"),
-            array("'foo#bar'", 'foo#bar'),
-            array("'foo # bar'", 'foo # bar'),
-            array("'#cfcfcf'", '#cfcfcf'),
-            array('::form_base.html.twig', '::form_base.html.twig'),
-
-            array('2007-10-30', mktime(0, 0, 0, 10, 30, 2007)),
-            array('2007-10-30T02:59:43Z', gmmktime(2, 59, 43, 10, 30, 2007)),
-            array('2007-10-30 02:59:43 Z', gmmktime(2, 59, 43, 10, 30, 2007)),
-            array('1960-10-30 02:59:43 Z', gmmktime(2, 59, 43, 10, 30, 1960)),
-            array('1730-10-30T02:59:43Z', gmmktime(2, 59, 43, 10, 30, 1730)),
-
-            array('"a \\"string\\" with \'quoted strings inside\'"', 'a "string" with \'quoted strings inside\''),
-            array("'a \"string\" with ''quoted strings inside'''", 'a "string" with \'quoted strings inside\''),
-
-            // sequences
-            // urls are no key value mapping. see #3609. Valid yaml "key: value" mappings require a space after the colon
-            array('[foo, http://urls.are/no/mappings, false, null, 12]', array('foo', 'http://urls.are/no/mappings', false, null, 12)),
-            array('[  foo  ,   bar , false  ,  null     ,  12  ]', array('foo', 'bar', false, null, 12)),
-            array('[\'foo,bar\', \'foo bar\']', array('foo,bar', 'foo bar')),
-
-            // mappings
-            array('{foo:bar,bar:foo,false:false,null:null,integer:12}', (object) array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12)),
-            array('{ foo  : bar, bar : foo,  false  :   false,  null  :   null,  integer :  12  }', (object) array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12)),
-            array('{foo: \'bar\', bar: \'foo: bar\'}', (object) array('foo' => 'bar', 'bar' => 'foo: bar')),
-            array('{\'foo\': \'bar\', "bar": \'foo: bar\'}', (object) array('foo' => 'bar', 'bar' => 'foo: bar')),
-            array('{\'foo\'\'\': \'bar\', "bar\"": \'foo: bar\'}', (object) array('foo\'' => 'bar', "bar\"" => 'foo: bar')),
-            array('{\'foo: \': \'bar\', "bar: ": \'foo: bar\'}', (object) array('foo: ' => 'bar', "bar: " => 'foo: bar')),
-
-            // nested sequences and mappings
-            array('[foo, [bar, foo]]', array('foo', array('bar', 'foo'))),
-            array('[foo, {bar: foo}]', array('foo', (object) array('bar' => 'foo'))),
-            array('{ foo: {bar: foo} }', (object) array('foo' => (object) array('bar' => 'foo'))),
-            array('{ foo: [bar, foo] }', (object) array('foo' => array('bar', 'foo'))),
-
-            array('[  foo, [  bar, foo  ]  ]', array('foo', array('bar', 'foo'))),
-
-            array('[{ foo: {bar: foo} }]', array((object) array('foo' => (object) array('bar' => 'foo')))),
-
-            array('[foo, [bar, [foo, [bar, foo]], foo]]', array('foo', array('bar', array('foo', array('bar', 'foo')), 'foo'))),
-
-            array('[foo, {bar: foo, foo: [foo, {bar: foo}]}, [foo, {bar: foo}]]', array('foo', (object) array('bar' => 'foo', 'foo' => array('foo', (object) array('bar' => 'foo'))), array('foo', (object) array('bar' => 'foo')))),
-
-            array('[foo, bar: { foo: bar }]', array('foo', '1' => (object) array('bar' => (object) array('foo' => 'bar')))),
-            array('[foo, \'@foo.baz\', { \'%foo%\': \'foo is %foo%\', bar: \'%foo%\' }, true, \'@service_container\']', array('foo', '@foo.baz', (object) array('%foo%' => 'foo is %foo%', 'bar' => '%foo%'), true, '@service_container')),
-
-            array('{}', new \stdClass()),
-            array('{ foo  : bar, bar : {}  }', (object) array('foo' => 'bar', 'bar' => new \stdClass())),
-            array('{ foo  : [], bar : {}  }', (object) array('foo' => array(), 'bar' => new \stdClass())),
-            array('{foo: \'bar\', bar: {} }', (object) array('foo' => 'bar', 'bar' => new \stdClass())),
-            array('{\'foo\': \'bar\', "bar": {}}', (object) array('foo' => 'bar', 'bar' => new \stdClass())),
-            array('{\'foo\': \'bar\', "bar": \'{}\'}', (object) array('foo' => 'bar', 'bar' => '{}')),
-
-            array('[foo, [{}, {}]]', array('foo', array(new \stdClass(), new \stdClass()))),
-            array('[foo, [[], {}]]', array('foo', array(array(), new \stdClass()))),
-            array('[foo, [[{}, {}], {}]]', array('foo', array(array(new \stdClass(), new \stdClass()), new \stdClass()))),
-            array('[foo, {bar: {}}]', array('foo', '1' => (object) array('bar' => new \stdClass()))),
-        );
-    }
-
-    public function getTestsForDump()
-    {
-        return array(
-            array('null', null),
-            array('false', false),
-            array('true', true),
-            array('12', 12),
-            array("'quoted string'", 'quoted string'),
-            array('!!float 1230', 12.30e+02),
-            array('1234', 0x4D2),
-            array('1243', 02333),
-            array('.Inf', -log(0)),
-            array('-.Inf', log(0)),
-            array("'686e444'", '686e444'),
-            array('"foo\r\nbar"', "foo\r\nbar"),
-            array("'foo#bar'", 'foo#bar'),
-            array("'foo # bar'", 'foo # bar'),
-            array("'#cfcfcf'", '#cfcfcf'),
-
-            array("'a \"string\" with ''quoted strings inside'''", 'a "string" with \'quoted strings inside\''),
-
-            array("'-dash'", '-dash'),
-            array("'-'", '-'),
-
-            // Pre-YAML-1.2 booleans
-            array("'y'", 'y'),
-            array("'n'", 'n'),
-            array("'yes'", 'yes'),
-            array("'no'", 'no'),
-            array("'on'", 'on'),
-            array("'off'", 'off'),
-
-            // sequences
-            array('[foo, bar, false, null, 12]', array('foo', 'bar', false, null, 12)),
-            array('[\'foo,bar\', \'foo bar\']', array('foo,bar', 'foo bar')),
-
-            // mappings
-            array('{ foo: bar, bar: foo, \'false\': false, \'null\': null, integer: 12 }', array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12)),
-            array('{ foo: bar, bar: \'foo: bar\' }', array('foo' => 'bar', 'bar' => 'foo: bar')),
-
-            // nested sequences and mappings
-            array('[foo, [bar, foo]]', array('foo', array('bar', 'foo'))),
-
-            array('[foo, [bar, [foo, [bar, foo]], foo]]', array('foo', array('bar', array('foo', array('bar', 'foo')), 'foo'))),
-
-            array('{ foo: { bar: foo } }', array('foo' => array('bar' => 'foo'))),
-
-            array('[foo, { bar: foo }]', array('foo', array('bar' => 'foo'))),
-
-            array('[foo, { bar: foo, foo: [foo, { bar: foo }] }, [foo, { bar: foo }]]', array('foo', array('bar' => 'foo', 'foo' => array('foo', array('bar' => 'foo'))), array('foo', array('bar' => 'foo')))),
-
-            array('[foo, \'@foo.baz\', { \'%foo%\': \'foo is %foo%\', bar: \'%foo%\' }, true, \'@service_container\']', array('foo', '@foo.baz', array('%foo%' => 'foo is %foo%', 'bar' => '%foo%'), true, '@service_container')),
-        );
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParseExceptionTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParseExceptionTest.php
deleted file mode 100644
index e4eb9c9..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParseExceptionTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-
-class ParseExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetMessage()
-    {
-        $exception = new ParseException('Error message', 42, 'foo: bar', '/var/www/app/config.yml');
-        if (PHP_VERSION_ID >= 50400) {
-            $message = 'Error message in "/var/www/app/config.yml" at line 42 (near "foo: bar")';
-        } else {
-            $message = 'Error message in "\\/var\\/www\\/app\\/config.yml" at line 42 (near "foo: bar")';
-        }
-
-        $this->assertEquals($message, $exception->getMessage());
-    }
-
-    public function testGetMessageWithUnicodeInFilename()
-    {
-        $exception = new ParseException('Error message', 42, 'foo: bar', 'äöü.yml');
-        if (PHP_VERSION_ID >= 50400) {
-            $message = 'Error message in "äöü.yml" at line 42 (near "foo: bar")';
-        } else {
-            $message = 'Error message in "\u00e4\u00f6\u00fc.yml" at line 42 (near "foo: bar")';
-        }
-
-        $this->assertEquals($message, $exception->getMessage());
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php
deleted file mode 100644
index 6e39e7d..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php
+++ /dev/null
@@ -1,740 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Yaml;
-use Symfony\Component\Yaml\Parser;
-
-class ParserTest extends \PHPUnit_Framework_TestCase
-{
-    protected $parser;
-
-    protected function setUp()
-    {
-        $this->parser = new Parser();
-    }
-
-    protected function tearDown()
-    {
-        $this->parser = null;
-    }
-
-    /**
-     * @dataProvider getDataFormSpecifications
-     */
-    public function testSpecifications($file, $expected, $yaml, $comment)
-    {
-        $this->assertEquals($expected, var_export($this->parser->parse($yaml), true), $comment);
-    }
-
-    public function getDataFormSpecifications()
-    {
-        $parser = new Parser();
-        $path = __DIR__.'/Fixtures';
-
-        $tests = array();
-        $files = $parser->parse(file_get_contents($path.'/index.yml'));
-        foreach ($files as $file) {
-            $yamls = file_get_contents($path.'/'.$file.'.yml');
-
-            // split YAMLs documents
-            foreach (preg_split('/^---( %YAML\:1\.0)?/m', $yamls) as $yaml) {
-                if (!$yaml) {
-                    continue;
-                }
-
-                $test = $parser->parse($yaml);
-                if (isset($test['todo']) && $test['todo']) {
-                    // TODO
-                } else {
-                    eval('$expected = '.trim($test['php']).';');
-
-                    $tests[] = array($file, var_export($expected, true), $test['yaml'], $test['test']);
-                }
-            }
-        }
-
-        return $tests;
-    }
-
-    public function testTabsInYaml()
-    {
-        // test tabs in YAML
-        $yamls = array(
-            "foo:\n	bar",
-            "foo:\n 	bar",
-            "foo:\n	 bar",
-            "foo:\n 	 bar",
-        );
-
-        foreach ($yamls as $yaml) {
-            try {
-                $content = $this->parser->parse($yaml);
-
-                $this->fail('YAML files must not contain tabs');
-            } catch (\Exception $e) {
-                $this->assertInstanceOf('\Exception', $e, 'YAML files must not contain tabs');
-                $this->assertEquals('A YAML file cannot contain tabs as indentation at line 2 (near "'.strpbrk($yaml, "\t").'").', $e->getMessage(), 'YAML files must not contain tabs');
-            }
-        }
-    }
-
-    public function testEndOfTheDocumentMarker()
-    {
-        $yaml = <<<EOF
---- %YAML:1.0
-foo
-...
-EOF;
-
-        $this->assertEquals('foo', $this->parser->parse($yaml));
-    }
-
-    public function getBlockChompingTests()
-    {
-        $tests = array();
-
-        $yaml = <<<'EOF'
-foo: |-
-    one
-    two
-bar: |-
-    one
-    two
-
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo",
-            'bar' => "one\ntwo",
-        );
-        $tests['Literal block chomping strip with single trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |-
-    one
-    two
-
-bar: |-
-    one
-    two
-
-
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo",
-            'bar' => "one\ntwo",
-        );
-        $tests['Literal block chomping strip with multiple trailing newlines'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-{}
-
-
-EOF;
-        $expected = array();
-        $tests['Literal block chomping strip with multiple trailing newlines after a 1-liner'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |-
-    one
-    two
-bar: |-
-    one
-    two
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo",
-            'bar' => "one\ntwo",
-        );
-        $tests['Literal block chomping strip without trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |
-    one
-    two
-bar: |
-    one
-    two
-
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo\n",
-            'bar' => "one\ntwo\n",
-        );
-        $tests['Literal block chomping clip with single trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |
-    one
-    two
-
-bar: |
-    one
-    two
-
-
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo\n",
-            'bar' => "one\ntwo\n",
-        );
-        $tests['Literal block chomping clip with multiple trailing newlines'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |
-    one
-    two
-bar: |
-    one
-    two
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo\n",
-            'bar' => "one\ntwo",
-        );
-        $tests['Literal block chomping clip without trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |+
-    one
-    two
-bar: |+
-    one
-    two
-
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo\n",
-            'bar' => "one\ntwo\n",
-        );
-        $tests['Literal block chomping keep with single trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |+
-    one
-    two
-
-bar: |+
-    one
-    two
-
-
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo\n\n",
-            'bar' => "one\ntwo\n\n",
-        );
-        $tests['Literal block chomping keep with multiple trailing newlines'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: |+
-    one
-    two
-bar: |+
-    one
-    two
-EOF;
-        $expected = array(
-            'foo' => "one\ntwo\n",
-            'bar' => "one\ntwo",
-        );
-        $tests['Literal block chomping keep without trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >-
-    one
-    two
-bar: >-
-    one
-    two
-
-EOF;
-        $expected = array(
-            'foo' => 'one two',
-            'bar' => 'one two',
-        );
-        $tests['Folded block chomping strip with single trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >-
-    one
-    two
-
-bar: >-
-    one
-    two
-
-
-EOF;
-        $expected = array(
-            'foo' => 'one two',
-            'bar' => 'one two',
-        );
-        $tests['Folded block chomping strip with multiple trailing newlines'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >-
-    one
-    two
-bar: >-
-    one
-    two
-EOF;
-        $expected = array(
-            'foo' => 'one two',
-            'bar' => 'one two',
-        );
-        $tests['Folded block chomping strip without trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >
-    one
-    two
-bar: >
-    one
-    two
-
-EOF;
-        $expected = array(
-            'foo' => "one two\n",
-            'bar' => "one two\n",
-        );
-        $tests['Folded block chomping clip with single trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >
-    one
-    two
-
-bar: >
-    one
-    two
-
-
-EOF;
-        $expected = array(
-            'foo' => "one two\n",
-            'bar' => "one two\n",
-        );
-        $tests['Folded block chomping clip with multiple trailing newlines'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >
-    one
-    two
-bar: >
-    one
-    two
-EOF;
-        $expected = array(
-            'foo' => "one two\n",
-            'bar' => 'one two',
-        );
-        $tests['Folded block chomping clip without trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >+
-    one
-    two
-bar: >+
-    one
-    two
-
-EOF;
-        $expected = array(
-            'foo' => "one two\n",
-            'bar' => "one two\n",
-        );
-        $tests['Folded block chomping keep with single trailing newline'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >+
-    one
-    two
-
-bar: >+
-    one
-    two
-
-
-EOF;
-        $expected = array(
-            'foo' => "one two\n\n",
-            'bar' => "one two\n\n",
-        );
-        $tests['Folded block chomping keep with multiple trailing newlines'] = array($expected, $yaml);
-
-        $yaml = <<<'EOF'
-foo: >+
-    one
-    two
-bar: >+
-    one
-    two
-EOF;
-        $expected = array(
-            'foo' => "one two\n",
-            'bar' => 'one two',
-        );
-        $tests['Folded block chomping keep without trailing newline'] = array($expected, $yaml);
-
-        return $tests;
-    }
-
-    /**
-     * @dataProvider getBlockChompingTests
-     */
-    public function testBlockChomping($expected, $yaml)
-    {
-        $this->assertSame($expected, $this->parser->parse($yaml));
-    }
-
-    /**
-     * Regression test for issue #7989.
-     *
-     * @see https://github.com/symfony/symfony/issues/7989
-     */
-    public function testBlockLiteralWithLeadingNewlines()
-    {
-        $yaml = <<<'EOF'
-foo: |-
-
-
-    bar
-
-EOF;
-        $expected = array(
-            'foo' => "\n\nbar",
-        );
-
-        $this->assertSame($expected, $this->parser->parse($yaml));
-    }
-
-    public function testObjectSupportEnabled()
-    {
-        $input = <<<EOF
-foo: !!php/object:O:30:"Symfony\Component\Yaml\Tests\B":1:{s:1:"b";s:3:"foo";}
-bar: 1
-EOF;
-        $this->assertEquals(array('foo' => new B(), 'bar' => 1), $this->parser->parse($input, false, true), '->parse() is able to parse objects');
-    }
-
-    public function testObjectSupportDisabledButNoExceptions()
-    {
-        $input = <<<EOF
-foo: !!php/object:O:30:"Symfony\Tests\Component\Yaml\B":1:{s:1:"b";s:3:"foo";}
-bar: 1
-EOF;
-
-        $this->assertEquals(array('foo' => null, 'bar' => 1), $this->parser->parse($input), '->parse() does not parse objects');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testObjectsSupportDisabledWithExceptions()
-    {
-        $this->parser->parse('foo: !!php/object:O:30:"Symfony\Tests\Component\Yaml\B":1:{s:1:"b";s:3:"foo";}', true, false);
-    }
-
-    public function testNonUtf8Exception()
-    {
-        if (!function_exists('iconv')) {
-            $this->markTestSkipped('Exceptions for non-utf8 charsets require the iconv() function.');
-
-            return;
-        }
-
-        $yamls = array(
-            iconv('UTF-8', 'ISO-8859-1', "foo: 'äöüß'"),
-            iconv('UTF-8', 'ISO-8859-15', "euro: '€'"),
-            iconv('UTF-8', 'CP1252', "cp1252: '©ÉÇáñ'"),
-        );
-
-        foreach ($yamls as $yaml) {
-            try {
-                $this->parser->parse($yaml);
-
-                $this->fail('charsets other than UTF-8 are rejected.');
-            } catch (\Exception $e) {
-                $this->assertInstanceOf('Symfony\Component\Yaml\Exception\ParseException', $e, 'charsets other than UTF-8 are rejected.');
-            }
-        }
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testUnindentedCollectionException()
-    {
-        $yaml = <<<EOF
-
-collection:
--item1
--item2
--item3
-
-EOF;
-
-        $this->parser->parse($yaml);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testShortcutKeyUnindentedCollectionException()
-    {
-        $yaml = <<<EOF
-
-collection:
--  key: foo
-  foo: bar
-
-EOF;
-
-        $this->parser->parse($yaml);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     * @expectedExceptionMessage Multiple documents are not supported.
-     */
-    public function testMultipleDocumentsNotSupportedException()
-    {
-        Yaml::parse(<<<EOL
-# Ranking of 1998 home runs
----
-- Mark McGwire
-- Sammy Sosa
-- Ken Griffey
-
-# Team ranking
----
-- Chicago Cubs
-- St Louis Cardinals
-EOL
-        );
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testSequenceInAMapping()
-    {
-        Yaml::parse(<<<EOF
-yaml:
-  hash: me
-  - array stuff
-EOF
-        );
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testMappingInASequence()
-    {
-        Yaml::parse(<<<EOF
-yaml:
-  - array stuff
-  hash: me
-EOF
-        );
-    }
-
-    /**
-     * > It is an error for two equal keys to appear in the same mapping node.
-     * > In such a case the YAML processor may continue, ignoring the second
-     * > `key: value` pair and issuing an appropriate warning. This strategy
-     * > preserves a consistent information model for one-pass and random access
-     * > applications.
-     *
-     * @see http://yaml.org/spec/1.2/spec.html#id2759572
-     * @see http://yaml.org/spec/1.1/#id932806
-     *
-     * @covers \Symfony\Component\Yaml\Parser::parse
-     */
-    public function testMappingDuplicateKeyBlock()
-    {
-        $input = <<<EOD
-parent:
-    child: first
-    child: duplicate
-parent:
-    child: duplicate
-    child: duplicate
-EOD;
-        $expected = array(
-            'parent' => array(
-                'child' => 'first',
-            ),
-        );
-        $this->assertSame($expected, Yaml::parse($input));
-    }
-
-    /**
-     * @covers \Symfony\Component\Yaml\Inline::parseMapping
-     */
-    public function testMappingDuplicateKeyFlow()
-    {
-        $input = <<<EOD
-parent: { child: first, child: duplicate }
-parent: { child: duplicate, child: duplicate }
-EOD;
-        $expected = array(
-            'parent' => array(
-                'child' => 'first',
-            ),
-        );
-        $this->assertSame($expected, Yaml::parse($input));
-    }
-
-    public function testEmptyValue()
-    {
-        $input = <<<EOF
-hash:
-EOF;
-
-        $this->assertEquals(array('hash' => null), Yaml::parse($input));
-    }
-
-    public function testStringBlockWithComments()
-    {
-        $this->assertEquals(array('content' => <<<EOT
-# comment 1
-header
-
-    # comment 2
-    <body>
-        <h1>title</h1>
-    </body>
-
-footer # comment3
-EOT
-        ), Yaml::parse(<<<EOF
-content: |
-    # comment 1
-    header
-
-        # comment 2
-        <body>
-            <h1>title</h1>
-        </body>
-
-    footer # comment3
-EOF
-        ));
-    }
-
-    public function testFoldedStringBlockWithComments()
-    {
-        $this->assertEquals(array(array('content' => <<<EOT
-# comment 1
-header
-
-    # comment 2
-    <body>
-        <h1>title</h1>
-    </body>
-
-footer # comment3
-EOT
-        )), Yaml::parse(<<<EOF
--
-    content: |
-        # comment 1
-        header
-
-            # comment 2
-            <body>
-                <h1>title</h1>
-            </body>
-
-        footer # comment3
-EOF
-        ));
-    }
-
-    public function testNestedFoldedStringBlockWithComments()
-    {
-        $this->assertEquals(array(array(
-            'title' => 'some title',
-            'content' => <<<EOT
-# comment 1
-header
-
-    # comment 2
-    <body>
-        <h1>title</h1>
-    </body>
-
-footer # comment3
-EOT
-        )), Yaml::parse(<<<EOF
--
-    title: some title
-    content: |
-        # comment 1
-        header
-
-            # comment 2
-            <body>
-                <h1>title</h1>
-            </body>
-
-        footer # comment3
-EOF
-        ));
-    }
-
-    public function testReferenceResolvingInInlineStrings()
-    {
-        $this->assertEquals(array(
-            'var' => 'var-value',
-            'scalar' => 'var-value',
-            'list' => array('var-value'),
-            'list_in_list' => array(array('var-value')),
-            'map_in_list' => array(array('key' => 'var-value')),
-            'embedded_mapping' => array(array('key' => 'var-value')),
-            'map' => array('key' => 'var-value'),
-            'list_in_map' => array('key' => array('var-value')),
-            'map_in_map' => array('foo' => array('bar' => 'var-value')),
-        ), Yaml::parse(<<<EOF
-var:  &var var-value
-scalar: *var
-list: [ *var ]
-list_in_list: [[ *var ]]
-map_in_list: [ { key: *var } ]
-embedded_mapping: [ key: *var ]
-map: { key: *var }
-list_in_map: { key: [*var] }
-map_in_map: { foo: { bar: *var } }
-EOF
-        ));
-    }
-
-    public function testYamlDirective()
-    {
-        $yaml = <<<EOF
-%YAML 1.2
----
-foo: 1
-bar: 2
-EOF;
-        $this->assertEquals(array('foo' => 1, 'bar' => 2), $this->parser->parse($yaml));
-    }
-}
-
-class B
-{
-    public $b = 'foo';
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php
deleted file mode 100644
index 633978d..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Yaml;
-
-class YamlTest extends \PHPUnit_Framework_TestCase
-{
-    public function testParseAndDump()
-    {
-        $data = array('lorem' => 'ipsum', 'dolor' => 'sit');
-        $yml = Yaml::dump($data);
-        $parsed = Yaml::parse($yml);
-        $this->assertEquals($data, $parsed);
-
-        $filename = __DIR__.'/Fixtures/index.yml';
-        $contents = file_get_contents($filename);
-        $parsedByFilename = Yaml::parse($filename);
-        $parsedByContents = Yaml::parse($contents);
-        $this->assertEquals($parsedByFilename, $parsedByContents);
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php
deleted file mode 100644
index ffddd95..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-/**
- * Unescaper encapsulates unescaping rules for single and double-quoted
- * YAML strings.
- *
- * @author Matthew Lewinski <matthew@lewinski.org>
- */
-class Unescaper
-{
-    // Parser and Inline assume UTF-8 encoding, so escaped Unicode characters
-    // must be converted to that encoding.
-    // @deprecated since 2.5, to be removed in 3.0
-    const ENCODING = 'UTF-8';
-
-    // Regex fragment that matches an escaped character in a double quoted
-    // string.
-    const REGEX_ESCAPED_CHARACTER = "\\\\([0abt\tnvfre \\\"\\/\\\\N_LP]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})";
-
-    /**
-     * Unescapes a single quoted string.
-     *
-     * @param string $value A single quoted string.
-     *
-     * @return string The unescaped string.
-     */
-    public function unescapeSingleQuotedString($value)
-    {
-        return str_replace('\'\'', '\'', $value);
-    }
-
-    /**
-     * Unescapes a double quoted string.
-     *
-     * @param string $value A double quoted string.
-     *
-     * @return string The unescaped string.
-     */
-    public function unescapeDoubleQuotedString($value)
-    {
-        $self = $this;
-        $callback = function ($match) use ($self) {
-            return $self->unescapeCharacter($match[0]);
-        };
-
-        // evaluate the string
-        return preg_replace_callback('/'.self::REGEX_ESCAPED_CHARACTER.'/u', $callback, $value);
-    }
-
-    /**
-     * Unescapes a character that was found in a double-quoted string.
-     *
-     * @param string $value An escaped character
-     *
-     * @return string The unescaped character
-     */
-    public function unescapeCharacter($value)
-    {
-        switch ($value{1}) {
-            case '0':
-                return "\x0";
-            case 'a':
-                return "\x7";
-            case 'b':
-                return "\x8";
-            case 't':
-                return "\t";
-            case "\t":
-                return "\t";
-            case 'n':
-                return "\n";
-            case 'v':
-                return "\xB";
-            case 'f':
-                return "\xC";
-            case 'r':
-                return "\r";
-            case 'e':
-                return "\x1B";
-            case ' ':
-                return ' ';
-            case '"':
-                return '"';
-            case '/':
-                return '/';
-            case '\\':
-                return '\\';
-            case 'N':
-                // U+0085 NEXT LINE
-                return "\xC2\x85";
-            case '_':
-                // U+00A0 NO-BREAK SPACE
-                return "\xC2\xA0";
-            case 'L':
-                // U+2028 LINE SEPARATOR
-                return "\xE2\x80\xA8";
-            case 'P':
-                // U+2029 PARAGRAPH SEPARATOR
-                return "\xE2\x80\xA9";
-            case 'x':
-                return self::utf8chr(hexdec(substr($value, 2, 2)));
-            case 'u':
-                return self::utf8chr(hexdec(substr($value, 2, 4)));
-            case 'U':
-                return self::utf8chr(hexdec(substr($value, 2, 8)));
-        }
-    }
-
-    /**
-     * Get the UTF-8 character for the given code point.
-     *
-     * @param int $c The unicode code point
-     *
-     * @return string The corresponding UTF-8 character
-     */
-    private static function utf8chr($c)
-    {
-        if (0x80 > $c %= 0x200000) {
-            return chr($c);
-        }
-        if (0x800 > $c) {
-            return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F);
-        }
-        if (0x10000 > $c) {
-            return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
-        }
-
-        return chr(0xF0 | $c >> 18).chr(0x80 | $c >> 12 & 0x3F).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
deleted file mode 100644
index 419226a..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-
-/**
- * Yaml offers convenience methods to load and dump YAML.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @api
- */
-class Yaml
-{
-    /**
-     * Parses YAML into a PHP array.
-     *
-     * The parse method, when supplied with a YAML stream (string or file),
-     * will do its best to convert YAML in a file into a PHP array.
-     *
-     *  Usage:
-     *  <code>
-     *   $array = Yaml::parse('config.yml');
-     *   print_r($array);
-     *  </code>
-     *
-     * As this method accepts both plain strings and file names as an input,
-     * you must validate the input before calling this method. Passing a file
-     * as an input is a deprecated feature and will be removed in 3.0.
-     *
-     * @param string $input                  Path to a YAML file or a string containing YAML
-     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
-     * @param bool   $objectSupport          True if object support is enabled, false otherwise
-     *
-     * @return array The YAML converted to a PHP array
-     *
-     * @throws ParseException If the YAML is not valid
-     *
-     * @api
-     */
-    public static function parse($input, $exceptionOnInvalidType = false, $objectSupport = false)
-    {
-        // if input is a file, process it
-        $file = '';
-        if (strpos($input, "\n") === false && is_file($input)) {
-            if (false === is_readable($input)) {
-                throw new ParseException(sprintf('Unable to parse "%s" as the file is not readable.', $input));
-            }
-
-            $file = $input;
-            $input = file_get_contents($file);
-        }
-
-        $yaml = new Parser();
-
-        try {
-            return $yaml->parse($input, $exceptionOnInvalidType, $objectSupport);
-        } catch (ParseException $e) {
-            if ($file) {
-                $e->setParsedFile($file);
-            }
-
-            throw $e;
-        }
-    }
-
-    /**
-     * Dumps a PHP array to a YAML string.
-     *
-     * The dump method, when supplied with an array, will do its best
-     * to convert the array into friendly YAML.
-     *
-     * @param array $array                  PHP array
-     * @param int   $inline                 The level where you switch to inline YAML
-     * @param int   $indent                 The amount of spaces to use for indentation of nested nodes.
-     * @param bool  $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param bool  $objectSupport          true if object support is enabled, false otherwise
-     *
-     * @return string A YAML string representing the original PHP array
-     *
-     * @api
-     */
-    public static function dump($array, $inline = 2, $indent = 4, $exceptionOnInvalidType = false, $objectSupport = false)
-    {
-        $yaml = new Dumper();
-        $yaml->setIndentation($indent);
-
-        return $yaml->dump($array, $inline, 0, $exceptionOnInvalidType, $objectSupport);
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json b/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
deleted file mode 100644
index b38eec2..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-    "name": "symfony/yaml",
-    "type": "library",
-    "description": "Symfony Yaml Component",
-    "keywords": [],
-    "homepage": "http://symfony.com",
-    "license": "MIT",
-    "authors": [
-        {
-            "name": "Fabien Potencier",
-            "email": "fabien@symfony.com"
-        },
-        {
-            "name": "Symfony Community",
-            "homepage": "http://symfony.com/contributors"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "symfony/phpunit-bridge": "~2.7"
-    },
-    "autoload": {
-        "psr-0": { "Symfony\\Component\\Yaml\\": "" }
-    },
-    "target-dir": "Symfony/Component/Yaml",
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev"
-        }
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist b/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist
deleted file mode 100644
index 8f7741f..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist
+++ /dev/null
@@ -1,27 +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"
-         backupGlobals="false"
-         colors="true"
-         bootstrap="vendor/autoload.php"
->
-    <php>
-        <ini name="error_reporting" value="-1" />
-    </php>
-    <testsuites>
-        <testsuite name="Symfony Yaml Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./vendor</directory>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
