From 6b401c77228458630ba87eeaba330390012d9586 Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Thu, 21 Feb 2013 10:26:05 -0500
Subject: [PATCH] Upgrade to ZF 2.1.2.

---
 vendor/ZF2/bin/check-cs.sh                    |  17 +
 .../Adapter/AbstractAdapter.php               |   2 +-
 .../Zend/Authentication/Adapter/DbTable.php   |   4 +-
 .../ZF2/library/Zend/Authentication/README.md |  14 +
 .../Validator/Authentication.php              |  12 +-
 .../library/Zend/Authentication/composer.json |   6 +
 .../Zend/Barcode/ObjectPluginManager.php      |   5 +
 vendor/ZF2/library/Zend/Barcode/README.md     |  14 +
 .../Zend/Barcode/RendererPluginManager.php    |   5 +
 vendor/ZF2/library/Zend/Barcode/composer.json |   8 +-
 vendor/ZF2/library/Zend/Cache/README.md       |  14 +
 vendor/ZF2/library/Zend/Cache/composer.json   |   6 +
 vendor/ZF2/library/Zend/Captcha/README.md     |  15 +
 vendor/ZF2/library/Zend/Captcha/composer.json |   8 +-
 .../Zend/Code/Generator/DocBlockGenerator.php |  30 +-
 .../Zend/Code/Generator/PropertyGenerator.php |  18 +-
 .../ZF2/library/Zend/Code/NameInformation.php |   2 +
 vendor/ZF2/library/Zend/Code/README.md        |  15 +
 vendor/ZF2/library/Zend/Code/composer.json    |   6 +
 vendor/ZF2/library/Zend/Config/README.md      |  15 +
 vendor/ZF2/library/Zend/Config/composer.json  |   8 +-
 vendor/ZF2/library/Zend/Console/README.md     |  15 +
 vendor/ZF2/library/Zend/Console/composer.json |   8 +-
 vendor/ZF2/library/Zend/Crypt/BlockCipher.php |   2 +-
 .../library/Zend/Crypt/Password/Bcrypt.php    |   1 +
 .../ZF2/library/Zend/Crypt/PublicKey/Rsa.php  |  18 +-
 vendor/ZF2/library/Zend/Crypt/README.md       |  15 +
 vendor/ZF2/library/Zend/Crypt/composer.json   |   8 +-
 .../Db/Adapter/Driver/IbmDb2/Connection.php   |   4 +-
 .../Db/Adapter/Driver/Mysqli/Connection.php   |   5 +-
 .../Zend/Db/Adapter/Driver/Oci8/Oci8.php      |   2 +
 .../Zend/Db/Adapter/Driver/Oci8/Statement.php |   2 +
 .../Db/Adapter/Driver/Pgsql/Connection.php    |   6 +-
 .../Db/Adapter/Driver/Sqlsrv/Connection.php   |   4 +-
 vendor/ZF2/library/Zend/Db/README.md          |  15 +
 vendor/ZF2/library/Zend/Db/Sql/Literal.php    |   2 +-
 .../Zend/Db/Sql/Predicate/Predicate.php       |  26 +-
 vendor/ZF2/library/Zend/Db/Sql/Select.php     |   6 +
 .../Feature/MasterSlaveFeature.php            |   2 +-
 .../TableGateway/Feature/SequenceFeature.php  |   4 +-
 .../Zend/Db/TableGateway/TableGateway.php     |   2 +-
 vendor/ZF2/library/Zend/Db/composer.json      |   8 +-
 vendor/ZF2/library/Zend/Debug/Debug.php       |   2 +-
 vendor/ZF2/library/Zend/Debug/README.md       |  15 +
 vendor/ZF2/library/Zend/Debug/composer.json   |   6 +
 vendor/ZF2/library/Zend/Di/Di.php             |  11 +-
 vendor/ZF2/library/Zend/Di/README.md          |  15 +
 vendor/ZF2/library/Zend/Di/composer.json      |   8 +-
 vendor/ZF2/library/Zend/Dom/README.md         |  15 +
 vendor/ZF2/library/Zend/Dom/composer.json     |   6 +
 vendor/ZF2/library/Zend/Escaper/README.md     |  15 +
 vendor/ZF2/library/Zend/Escaper/composer.json |   8 +-
 .../ZF2/library/Zend/EventManager/README.md   |  15 +
 .../library/Zend/EventManager/composer.json   |   8 +-
 vendor/ZF2/library/Zend/Feed/README.md        |  15 +
 vendor/ZF2/library/Zend/Feed/Writer/Entry.php |   4 +-
 vendor/ZF2/library/Zend/Feed/composer.json    |   6 +
 vendor/ZF2/library/Zend/File/README.md        |  15 +
 .../File/Transfer/Adapter/AbstractAdapter.php |   3 -
 .../Transfer/Adapter/FilterPluginManager.php  |   3 -
 .../Zend/File/Transfer/Adapter/Http.php       |   3 -
 .../Adapter/ValidatorPluginManager.php        |   5 -
 .../Exception/BadMethodCallException.php      |   5 -
 .../Transfer/Exception/ExceptionInterface.php |   3 -
 .../Exception/InvalidArgumentException.php    |   5 -
 .../Exception/PhpEnvironmentException.php     |   5 -
 .../Transfer/Exception/RuntimeException.php   |   5 -
 .../library/Zend/File/Transfer/Transfer.php   |   3 -
 vendor/ZF2/library/Zend/File/composer.json    |   6 +
 .../Zend/Filter/Encrypt/BlockCipher.php       |   2 -
 .../library/Zend/Filter/File/RenameUpload.php |  41 ++-
 .../ZF2/library/Zend/Filter/PregReplace.php   |   1 +
 vendor/ZF2/library/Zend/Filter/README.md      |  15 +
 vendor/ZF2/library/Zend/Filter/composer.json  |   6 +
 .../Annotation/ElementAnnotationsListener.php |   6 +-
 .../library/Zend/Form/Element/DateSelect.php  |   2 +-
 .../Zend/Form/Element/DateTimeSelect.php      |   3 +
 .../library/Zend/Form/Element/MonthSelect.php |  30 ++
 vendor/ZF2/library/Zend/Form/Form.php         |   8 +-
 .../library/Zend/Form/FormElementManager.php  |   3 +-
 vendor/ZF2/library/Zend/Form/README.md        |  15 +
 .../Zend/Form/View/Helper/FormDateSelect.php  |  27 +-
 .../Form/View/Helper/FormDateTimeSelect.php   |  85 ++---
 .../Zend/Form/View/Helper/FormMonthSelect.php |  38 +-
 vendor/ZF2/library/Zend/Form/composer.json    |   8 +-
 vendor/ZF2/library/Zend/Http/Client.php       |   2 +-
 .../Zend/Http/Header/AbstractAccept.php       |  17 +-
 .../library/Zend/Http/Header/SetCookie.php    |   5 +-
 vendor/ZF2/library/Zend/Http/README.md        |  15 +
 vendor/ZF2/library/Zend/Http/composer.json    |   8 +-
 vendor/ZF2/library/Zend/I18n/README.md        |  15 +
 vendor/ZF2/library/Zend/I18n/composer.json    |   6 +
 vendor/ZF2/library/Zend/InputFilter/Input.php |  12 +-
 vendor/ZF2/library/Zend/InputFilter/README.md |  15 +
 .../library/Zend/InputFilter/composer.json    |   8 +-
 vendor/ZF2/library/Zend/Json/Json.php         |   2 +-
 vendor/ZF2/library/Zend/Json/README.md        |  15 +
 vendor/ZF2/library/Zend/Json/composer.json    |   6 +
 vendor/ZF2/library/Zend/Ldap/README.md        |  15 +
 vendor/ZF2/library/Zend/Ldap/composer.json    |   6 +
 .../library/Zend/Loader/ModuleAutoloader.php  |   2 +-
 vendor/ZF2/library/Zend/Loader/README.md      |  15 +
 vendor/ZF2/library/Zend/Loader/composer.json  |   8 +-
 .../Zend/Log/Filter/SuppressFilter.php        |   1 +
 .../Zend/Log/Processor/ProcessorInterface.php |   2 +-
 vendor/ZF2/library/Zend/Log/README.md         |  15 +
 .../Zend/Log/Writer/AbstractWriter.php        |   2 +-
 .../Zend/Log/Writer/FingersCrossed.php        |   4 +-
 .../ZF2/library/Zend/Log/Writer/MongoDB.php   |   4 +-
 vendor/ZF2/library/Zend/Log/composer.json     |   6 +
 .../Zend/Mail/Header/AbstractAddressList.php  |   4 +-
 vendor/ZF2/library/Zend/Mail/README.md        |  15 +
 .../library/Zend/Mail/Transport/Sendmail.php  |   9 +
 vendor/ZF2/library/Zend/Mail/composer.json    |   6 +
 vendor/ZF2/library/Zend/Math/README.md        |  15 +
 vendor/ZF2/library/Zend/Math/composer.json    |   8 +-
 vendor/ZF2/library/Zend/Memory/README.md      |  15 +
 vendor/ZF2/library/Zend/Memory/composer.json  |   8 +-
 vendor/ZF2/library/Zend/Mime/README.md        |  15 +
 vendor/ZF2/library/Zend/Mime/composer.json    |   6 +
 .../ZF2/library/Zend/ModuleManager/README.md  |  16 +-
 .../library/Zend/ModuleManager/composer.json  |   8 +-
 vendor/ZF2/library/Zend/Mvc/Application.php   |   1 -
 .../Mvc/Controller/AbstractController.php     |   1 +
 .../Controller/Plugin/FilePostRedirectGet.php |   2 +-
 .../Mvc/Controller/Plugin/PostRedirectGet.php |   4 +-
 .../Zend/Mvc/Controller/Plugin/Url.php        |   2 +-
 vendor/ZF2/library/Zend/Mvc/README.md         |  15 +
 .../ResponseSenderInterface.php               |   2 +-
 vendor/ZF2/library/Zend/Mvc/RouteListener.php |   3 +-
 .../Zend/Mvc/Router/Console/Catchall.php      |   6 +-
 .../Zend/Mvc/Router/Console/Simple.php        |  68 ++--
 .../Mvc/Router/Console/SimpleRouteStack.php   |   6 +-
 .../library/Zend/Mvc/Router/Http/Hostname.php | 234 +++++++++---
 .../library/Zend/Mvc/Router/Http/Literal.php  |   8 +-
 .../library/Zend/Mvc/Router/Http/Method.php   |   8 +-
 .../ZF2/library/Zend/Mvc/Router/Http/Part.php |  30 +-
 .../library/Zend/Mvc/Router/Http/Query.php    |   9 +-
 .../library/Zend/Mvc/Router/Http/Regex.php    |   6 +-
 .../library/Zend/Mvc/Router/Http/Scheme.php   |   8 +-
 .../library/Zend/Mvc/Router/Http/Segment.php  |   8 +-
 .../Zend/Mvc/Router/Http/TreeRouteStack.php   |  10 +-
 .../library/Zend/Mvc/Router/Http/Wildcard.php |   8 +-
 .../Zend/Mvc/Router/SimpleRouteStack.php      |  12 +-
 .../Zend/Mvc/Service/FilterManagerFactory.php |   2 +-
 .../Service/PaginatorPluginManagerFactory.php |   2 +-
 .../Zend/Mvc/Service/ServiceManagerConfig.php |  12 +-
 .../Mvc/Service/ValidatorManagerFactory.php   |   2 +-
 vendor/ZF2/library/Zend/Mvc/composer.json     |   7 +
 vendor/ZF2/library/Zend/Navigation/README.md  |  15 +
 .../ZF2/library/Zend/Navigation/composer.json |   6 +
 .../Zend/Paginator/Adapter/DbSelect.php       |   8 +
 .../Zend/Paginator/AdapterPluginManager.php   |   2 +-
 vendor/ZF2/library/Zend/Paginator/README.md   |  15 +
 .../ZF2/library/Zend/Paginator/composer.json  |   8 +-
 .../library/Zend/Permissions/Acl/README.md    |  15 +
 .../Zend/Permissions/Acl/composer.json        |   6 +
 .../library/Zend/Permissions/Rbac/README.md   |  15 +
 .../library/Zend/Permissions/Rbac/Rbac.php    |   5 +-
 .../Zend/Permissions/Rbac/composer.json       |   6 +
 vendor/ZF2/library/Zend/ProgressBar/README.md |  15 +
 .../library/Zend/ProgressBar/composer.json    |   6 +
 vendor/ZF2/library/Zend/Serializer/README.md  |  15 +
 .../ZF2/library/Zend/Serializer/composer.json |   8 +-
 vendor/ZF2/library/Zend/Server/README.md      |  15 +
 vendor/ZF2/library/Zend/Server/composer.json  |   6 +
 .../ZF2/library/Zend/ServiceManager/README.md |  15 +
 .../Zend/ServiceManager/ServiceManager.php    |   6 +-
 .../library/Zend/ServiceManager/composer.json |   8 +-
 .../Zend/Session/AbstractContainer.php        |  13 +-
 vendor/ZF2/library/Zend/Session/Container.php |  12 -
 vendor/ZF2/library/Zend/Session/README.md     |  15 +
 .../Session/SaveHandler/MongoDBOptions.php    |  12 +-
 .../Session/Storage/SessionArrayStorage.php   |  12 +-
 .../Zend/Session/compatibility/Container.php  |  11 -
 .../Zend/Session/compatibility/autoload.php   |   2 +-
 vendor/ZF2/library/Zend/Session/composer.json |   8 +-
 vendor/ZF2/library/Zend/Soap/README.md        |  15 +
 vendor/ZF2/library/Zend/Soap/composer.json    |   8 +-
 .../ZF2/library/Zend/Stdlib/ArrayObject.php   |  17 +-
 .../Zend/Stdlib/Hydrator/AbstractHydrator.php |   2 +-
 .../Filter/NumberOfParameterFilter.php        |   1 +
 .../Strategy/SerializableStrategy.php         |   2 +-
 vendor/ZF2/library/Zend/Stdlib/README.md      |  15 +
 .../StringWrapper/AbstractStringWrapper.php   |   5 +-
 .../Zend/Stdlib/StringWrapper/Native.php      |   5 +-
 .../Zend/Stdlib/compatibility/autoload.php    |   2 +-
 vendor/ZF2/library/Zend/Stdlib/composer.json  |   8 +-
 vendor/ZF2/library/Zend/Tag/README.md         |  15 +
 vendor/ZF2/library/Zend/Tag/composer.json     |   6 +
 .../Controller/AbstractControllerTestCase.php |   1 +
 .../AbstractHttpControllerTestCase.php        |   2 +-
 vendor/ZF2/library/Zend/Test/README.md        |  15 +
 vendor/ZF2/library/Zend/Test/composer.json    |   6 +
 vendor/ZF2/library/Zend/Text/README.md        |  15 +
 vendor/ZF2/library/Zend/Text/composer.json    |   6 +
 vendor/ZF2/library/Zend/Uri/README.md         |  15 +
 vendor/ZF2/library/Zend/Uri/composer.json     |   6 +
 .../Zend/Validator/Barcode/Code128.php        |   2 +-
 .../ZF2/library/Zend/Validator/CreditCard.php |   2 +-
 .../ZF2/library/Zend/Validator/File/Count.php |   3 -
 .../ZF2/library/Zend/Validator/File/Crc32.php |   9 +-
 .../Zend/Validator/File/ExcludeExtension.php  |   9 +-
 .../Zend/Validator/File/ExcludeMimeType.php   |  10 +-
 .../library/Zend/Validator/File/Exists.php    |  10 +-
 .../library/Zend/Validator/File/Extension.php |   9 +-
 .../library/Zend/Validator/File/FilesSize.php |   3 -
 .../ZF2/library/Zend/Validator/File/Hash.php  |   9 +-
 .../library/Zend/Validator/File/ImageSize.php |   9 +-
 .../Zend/Validator/File/IsCompressed.php      |   8 +-
 .../library/Zend/Validator/File/IsImage.php   |   8 +-
 .../ZF2/library/Zend/Validator/File/Md5.php   |  11 +-
 .../library/Zend/Validator/File/MimeType.php  |  10 +-
 .../library/Zend/Validator/File/NotExists.php |  10 +-
 .../ZF2/library/Zend/Validator/File/Sha1.php  |   9 +-
 .../ZF2/library/Zend/Validator/File/Size.php  |   9 +-
 .../library/Zend/Validator/File/Upload.php    |   3 -
 .../Zend/Validator/File/UploadFile.php        |  16 +-
 .../library/Zend/Validator/File/WordCount.php |  13 +-
 .../ZF2/library/Zend/Validator/Identical.php  |  36 +-
 vendor/ZF2/library/Zend/Validator/README.md   |  15 +
 .../ZF2/library/Zend/Validator/composer.json  |   6 +
 vendor/ZF2/library/Zend/Version/README.md     |  15 +
 vendor/ZF2/library/Zend/Version/Version.php   |   2 +-
 vendor/ZF2/library/Zend/Version/composer.json |   8 +-
 .../Zend/View/Helper/FlashMessenger.php       |   2 +-
 .../library/Zend/View/Helper/Navigation.php   |  10 +-
 vendor/ZF2/library/Zend/View/README.md        |  15 +
 .../Zend/View/Renderer/JsonRenderer.php       |  32 +-
 vendor/ZF2/library/Zend/View/composer.json    |   8 +-
 vendor/ZF2/library/Zend/XmlRpc/README.md      |  15 +
 vendor/ZF2/library/Zend/XmlRpc/composer.json  |   6 +
 .../resources/languages/ar/Zend_Captcha.php   |   3 -
 .../resources/languages/ar/Zend_Validate.php  |   3 -
 .../resources/languages/bg/Zend_Captcha.php   |   3 -
 .../resources/languages/bg/Zend_Validate.php  |   3 -
 .../resources/languages/cs/Zend_Captcha.php   |   3 -
 .../resources/languages/cs/Zend_Validate.php  |   3 -
 .../resources/languages/de/Zend_Captcha.php   |   3 -
 .../resources/languages/de/Zend_Validate.php  |   3 -
 .../resources/languages/en/Zend_Captcha.php   |   3 -
 .../resources/languages/en/Zend_Validate.php  |   3 -
 .../resources/languages/es/Zend_Validate.php  |   3 -
 .../resources/languages/fi/Zend_Validate.php  |   3 -
 .../resources/languages/fr/Zend_Captcha.php   |   3 -
 .../resources/languages/fr/Zend_Validate.php  |   3 -
 .../resources/languages/hr/Zend_Validate.php  |   3 -
 .../resources/languages/it/Zend_Captcha.php   |   3 -
 .../resources/languages/it/Zend_Validate.php  |   3 -
 .../resources/languages/ja/Zend_Validate.php  |   3 -
 .../resources/languages/nl/Zend_Validate.php  |   3 -
 .../resources/languages/no/Zend_Captcha.php   |   3 -
 .../resources/languages/no/Zend_Validate.php  |   5 +-
 .../resources/languages/pl/Zend_Validate.php  |   3 -
 .../languages/pt_BR/Zend_Captcha.php          |  32 ++
 .../languages/pt_BR/Zend_Validate.php         | 333 ++++++++++--------
 .../resources/languages/ru/Zend_Validate.php  |   3 -
 .../resources/languages/se/Zend_Captcha.php   |   3 -
 .../resources/languages/se/Zend_Validate.php  |   3 -
 .../resources/languages/sk/Zend_Captcha.php   |   3 -
 .../resources/languages/sk/Zend_Validate.php  |   3 -
 .../resources/languages/sl/Zend_Captcha.php   |   3 -
 .../resources/languages/sl/Zend_Validate.php  |   3 -
 .../resources/languages/sr/Zend_Validate.php  |   3 -
 .../resources/languages/tr/Zend_Captcha.php   |   3 -
 .../resources/languages/tr/Zend_Validate.php  |   3 -
 .../resources/languages/uk/Zend_Validate.php  |   3 -
 .../resources/languages/zh/Zend_Captcha.php   |   3 -
 .../resources/languages/zh/Zend_Validate.php  |   3 -
 269 files changed, 2194 insertions(+), 753 deletions(-)
 create mode 100644 vendor/ZF2/bin/check-cs.sh
 create mode 100644 vendor/ZF2/library/Zend/Authentication/README.md
 create mode 100644 vendor/ZF2/library/Zend/Barcode/README.md
 create mode 100644 vendor/ZF2/library/Zend/Cache/README.md
 create mode 100644 vendor/ZF2/library/Zend/Captcha/README.md
 create mode 100644 vendor/ZF2/library/Zend/Code/README.md
 create mode 100644 vendor/ZF2/library/Zend/Config/README.md
 create mode 100644 vendor/ZF2/library/Zend/Console/README.md
 create mode 100644 vendor/ZF2/library/Zend/Crypt/README.md
 create mode 100644 vendor/ZF2/library/Zend/Db/README.md
 create mode 100644 vendor/ZF2/library/Zend/Debug/README.md
 create mode 100644 vendor/ZF2/library/Zend/Di/README.md
 create mode 100644 vendor/ZF2/library/Zend/Dom/README.md
 create mode 100644 vendor/ZF2/library/Zend/Escaper/README.md
 create mode 100644 vendor/ZF2/library/Zend/EventManager/README.md
 create mode 100644 vendor/ZF2/library/Zend/Feed/README.md
 create mode 100644 vendor/ZF2/library/Zend/File/README.md
 create mode 100644 vendor/ZF2/library/Zend/Filter/README.md
 create mode 100644 vendor/ZF2/library/Zend/Form/README.md
 create mode 100644 vendor/ZF2/library/Zend/Http/README.md
 create mode 100644 vendor/ZF2/library/Zend/I18n/README.md
 create mode 100644 vendor/ZF2/library/Zend/InputFilter/README.md
 create mode 100644 vendor/ZF2/library/Zend/Json/README.md
 create mode 100644 vendor/ZF2/library/Zend/Ldap/README.md
 create mode 100644 vendor/ZF2/library/Zend/Loader/README.md
 create mode 100644 vendor/ZF2/library/Zend/Log/README.md
 create mode 100644 vendor/ZF2/library/Zend/Mail/README.md
 create mode 100644 vendor/ZF2/library/Zend/Math/README.md
 create mode 100644 vendor/ZF2/library/Zend/Memory/README.md
 create mode 100644 vendor/ZF2/library/Zend/Mime/README.md
 create mode 100644 vendor/ZF2/library/Zend/Mvc/README.md
 create mode 100644 vendor/ZF2/library/Zend/Navigation/README.md
 create mode 100644 vendor/ZF2/library/Zend/Paginator/README.md
 create mode 100644 vendor/ZF2/library/Zend/Permissions/Acl/README.md
 create mode 100644 vendor/ZF2/library/Zend/Permissions/Rbac/README.md
 create mode 100644 vendor/ZF2/library/Zend/ProgressBar/README.md
 create mode 100644 vendor/ZF2/library/Zend/Serializer/README.md
 create mode 100644 vendor/ZF2/library/Zend/Server/README.md
 create mode 100644 vendor/ZF2/library/Zend/ServiceManager/README.md
 create mode 100644 vendor/ZF2/library/Zend/Session/README.md
 create mode 100644 vendor/ZF2/library/Zend/Soap/README.md
 create mode 100644 vendor/ZF2/library/Zend/Stdlib/README.md
 create mode 100644 vendor/ZF2/library/Zend/Tag/README.md
 create mode 100644 vendor/ZF2/library/Zend/Test/README.md
 create mode 100644 vendor/ZF2/library/Zend/Text/README.md
 create mode 100644 vendor/ZF2/library/Zend/Uri/README.md
 create mode 100644 vendor/ZF2/library/Zend/Validator/README.md
 create mode 100644 vendor/ZF2/library/Zend/Version/README.md
 create mode 100644 vendor/ZF2/library/Zend/View/README.md
 create mode 100644 vendor/ZF2/library/Zend/XmlRpc/README.md
 create mode 100644 vendor/ZF2/resources/languages/pt_BR/Zend_Captcha.php

diff --git a/vendor/ZF2/bin/check-cs.sh b/vendor/ZF2/bin/check-cs.sh
new file mode 100644
index 00000000000..6cc200f780e
--- /dev/null
+++ b/vendor/ZF2/bin/check-cs.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+cd "$(dirname $(dirname "$0"))"
+
+output=$(php php-cs-fixer.phar fix -v --dry-run --level=psr2 .)
+echo $output
+cs=0
+if [[ "$output" -ne "" ]];then
+    cs=2
+fi
+echo "Coding standards exited with status $cs"
+
+if [[ "$cs" -eq "2" ]];then
+    echo "Exiting with status 2 due to CS";
+    exit 2;
+fi
+
+exit 0
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php
index 4fe904e90b0..6671a40f594 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php
@@ -61,7 +61,7 @@ abstract class AbstractAdapter implements ValidatableAdapterInterface
      * Sets the identity for binding
      *
      * @param  mixed          $identity
-     * @return AbstractAdpter
+     * @return AbstractAdapter
      */
     public function setIdentity($identity)
     {
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
index 446f803113d..3b4113528f9 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
@@ -330,7 +330,7 @@ class DbTable extends AbstractAdapter
      * _authenticateCreateSelect() - This method creates a Zend\Db\Sql\Select object that
      * is completely configured to be queried against the database.
      *
-     * @return DbSelect
+     * @return Sql\Select
      */
     protected function _authenticateCreateSelect()
     {
@@ -358,7 +358,7 @@ class DbTable extends AbstractAdapter
      * _authenticateQuerySelect() - This method accepts a Zend\Db\Sql\Select object and
      * performs a query against the database with that object.
      *
-     * @param  DbSelect $dbSelect
+     * @param  Sql\Select $dbSelect
      * @throws Exception\RuntimeException when an invalid select object is encountered
      * @return array
      */
diff --git a/vendor/ZF2/library/Zend/Authentication/README.md b/vendor/ZF2/library/Zend/Authentication/README.md
new file mode 100644
index 00000000000..4ed7b06b76e
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Authentication/README.md
@@ -0,0 +1,14 @@
+Authentication Component from ZF2
+=================================
+
+This is the Authentication component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
diff --git a/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php b/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php
index 533c2126296..906841e9af2 100644
--- a/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php
+++ b/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php
@@ -46,7 +46,7 @@ class Authentication extends AbstractValidator
 
     /**
      * Authentication Adapter
-     * @var Zend\Authentication\Adapter\Adapter
+     * @var ValidatableAdapterInterface
      */
     protected $adapter;
 
@@ -64,7 +64,7 @@ class Authentication extends AbstractValidator
 
     /**
      * Authentication Service
-     * @var Zend\Authentication\AuthenticationService
+     * @var AuthenticationService
      */
     protected $service;
 
@@ -99,7 +99,7 @@ class Authentication extends AbstractValidator
     /**
      * Get Adapter
      *
-     * @return Zend\Authentication\Adapter\ValidatableAdapterInterface
+     * @return ValidatableAdapterInterface
      */
     public function getAdapter()
     {
@@ -109,7 +109,7 @@ class Authentication extends AbstractValidator
     /**
      * Set Adapter
      *
-     * @param  Zend\Authentication\Adapter\ValidatableAdapterInterface $adapter
+     * @param  ValidatableAdapterInterface $adapter
      * @return Authentication
      */
     public function setAdapter(ValidatableAdapterInterface $adapter)
@@ -168,7 +168,7 @@ class Authentication extends AbstractValidator
     /**
      * Get Service
      *
-     * @return Zend\Authentication\AuthenticationService
+     * @return AuthenticationService
      */
     public function getService()
     {
@@ -178,7 +178,7 @@ class Authentication extends AbstractValidator
     /**
      * Set Service
      *
-     * @param  Zend\Authentication\AuthenticationService $service
+     * @param  AuthenticationService $service
      * @return Authentication
      */
     public function setService(AuthenticationService $service)
diff --git a/vendor/ZF2/library/Zend/Authentication/composer.json b/vendor/ZF2/library/Zend/Authentication/composer.json
index 4304fb7c9c5..c8fab06210b 100644
--- a/vendor/ZF2/library/Zend/Authentication/composer.json
+++ b/vendor/ZF2/library/Zend/Authentication/composer.json
@@ -20,5 +20,11 @@
         "zendframework/zend-db": "Zend\\Db component",
         "zendframework/zend-uri": "Zend\\Uri component",
         "zendframework/zend-session": "Zend\\Session component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php b/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php
index d06da4dce75..991c4b5f60a 100644
--- a/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php
+++ b/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php
@@ -20,6 +20,11 @@ use Zend\ServiceManager\AbstractPluginManager;
  */
 class ObjectPluginManager extends AbstractPluginManager
 {
+    /**
+     * @var bool Ensure services are not shared
+     */
+    protected $shareByDefault = false;
+
     /**
      * Default set of barcode parsers
      *
diff --git a/vendor/ZF2/library/Zend/Barcode/README.md b/vendor/ZF2/library/Zend/Barcode/README.md
new file mode 100644
index 00000000000..2dc1c0895f7
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Barcode/README.md
@@ -0,0 +1,14 @@
+Barcode Component from ZF2
+==========================
+
+This is the Barcode component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
diff --git a/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php b/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php
index d34dd00f819..93258e46a4b 100644
--- a/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php
+++ b/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php
@@ -20,6 +20,11 @@ use Zend\ServiceManager\AbstractPluginManager;
  */
 class RendererPluginManager extends AbstractPluginManager
 {
+    /**
+     * @var bool Ensure services are not shared
+     */
+    protected $shareByDefault = false;
+
     /**
      * Default set of barcode renderers
      *
diff --git a/vendor/ZF2/library/Zend/Barcode/composer.json b/vendor/ZF2/library/Zend/Barcode/composer.json
index c107f08b685..f9f8002d993 100644
--- a/vendor/ZF2/library/Zend/Barcode/composer.json
+++ b/vendor/ZF2/library/Zend/Barcode/composer.json
@@ -22,5 +22,11 @@
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zendpdf": "ZendPdf component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Cache/README.md b/vendor/ZF2/library/Zend/Cache/README.md
new file mode 100644
index 00000000000..62aa9e0e0cd
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Cache/README.md
@@ -0,0 +1,14 @@
+Cache Component from ZF2
+========================
+
+This is the Cache component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
diff --git a/vendor/ZF2/library/Zend/Cache/composer.json b/vendor/ZF2/library/Zend/Cache/composer.json
index 8d06a2bf0c3..0dd7cc51d90 100644
--- a/vendor/ZF2/library/Zend/Cache/composer.json
+++ b/vendor/ZF2/library/Zend/Cache/composer.json
@@ -28,5 +28,11 @@
         "ext-dba": "DBA, to use the DBA storage adapter",
         "ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter",
         "ext-wincache": "WinCache, to use the WinCache storage adapter"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Captcha/README.md b/vendor/ZF2/library/Zend/Captcha/README.md
new file mode 100644
index 00000000000..1240158c596
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Captcha/README.md
@@ -0,0 +1,15 @@
+Captcha Component from ZF2
+==========================
+
+This is the Captcha component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Captcha/composer.json b/vendor/ZF2/library/Zend/Captcha/composer.json
index 0f5c81c67c8..6b504d0d82a 100644
--- a/vendor/ZF2/library/Zend/Captcha/composer.json
+++ b/vendor/ZF2/library/Zend/Captcha/composer.json
@@ -22,5 +22,11 @@
     },
     "suggest": {
         "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php b/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php
index 0c693928267..ce6073bc5d6 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php
@@ -34,6 +34,11 @@ class DocBlockGenerator extends AbstractGenerator
      */
     protected $indentation = '';
 
+    /**
+     * @var boolean
+     */
+    protected $wordwrap = true;
+
     /**
      * Build a DocBlock generator object from a reflection object
      *
@@ -188,6 +193,29 @@ class DocBlockGenerator extends AbstractGenerator
         return $this->tags;
     }
 
+    /**
+     * Set the word wrap
+     *
+     * @param boolean $value
+     * @return \Zend\Code\Generator\DocBlockGenerator
+     */
+    public function setWordWrap($value)
+    {
+        $this->wordwrap = (boolean) $value;
+
+        return $this;
+    }
+
+    /**
+     * Get the word wrap
+     *
+     * @return boolean
+     */
+    public function getWordWrap()
+    {
+        return $this->wordwrap;
+    }
+
     /**
      * @return string
      */
@@ -220,7 +248,7 @@ class DocBlockGenerator extends AbstractGenerator
     {
         $indent  = $this->getIndentation();
         $output  = $indent . '/**' . self::LINE_FEED;
-        $content = wordwrap($content, 80, self::LINE_FEED);
+        $content = $this->getWordWrap() == true ? wordwrap($content, 80, self::LINE_FEED) : $content;
         $lines   = explode(self::LINE_FEED, $content);
         foreach ($lines as $line) {
             $output .= $indent . ' *';
diff --git a/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php b/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php
index 9e16cd44757..1e9ad3aa690 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php
@@ -162,21 +162,17 @@ class PropertyGenerator extends AbstractMemberGenerator
     }
 
     /**
-     * @param  PropertyValueGenerator|string|array $defaultValue
+     * @param PropertyValueGenerator|mixed $defaultValue
+     * @param string                       $defaultValueType
+     * @param string                       $defaultValueOutputMode
+     *
      * @return PropertyGenerator
      */
-    public function setDefaultValue($defaultValue)
+    public function setDefaultValue($defaultValue, $defaultValueType = PropertyValueGenerator::TYPE_AUTO, $defaultValueOutputMode = PropertyValueGenerator::OUTPUT_MULTIPLE_LINE)
     {
-        // if it looks like
-        if (is_array($defaultValue)
-            && isset($defaultValue['value'])
-            && isset($defaultValue['type'])
-        ) {
-            $defaultValue = new PropertyValueGenerator($defaultValue);
-        }
-
         if (!($defaultValue instanceof PropertyValueGenerator)) {
-            $defaultValue = new PropertyValueGenerator($defaultValue);
+
+            $defaultValue = new PropertyValueGenerator($defaultValue, $defaultValueType, $defaultValueOutputMode);
         }
 
         $this->defaultValue = $defaultValue;
diff --git a/vendor/ZF2/library/Zend/Code/NameInformation.php b/vendor/ZF2/library/Zend/Code/NameInformation.php
index 0913e226f2e..2270398a242 100644
--- a/vendor/ZF2/library/Zend/Code/NameInformation.php
+++ b/vendor/ZF2/library/Zend/Code/NameInformation.php
@@ -63,6 +63,7 @@ class NameInformation
 
     /**
      * @param  array $uses
+     * @return NameInformation
      */
     public function setUses(array $uses)
     {
@@ -74,6 +75,7 @@ class NameInformation
 
     /**
      * @param  array $uses
+     * @return NameInformation
      */
     public function addUses(array $uses)
     {
diff --git a/vendor/ZF2/library/Zend/Code/README.md b/vendor/ZF2/library/Zend/Code/README.md
new file mode 100644
index 00000000000..640084b572f
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Code/README.md
@@ -0,0 +1,15 @@
+Code Component from ZF2
+=======================
+
+This is the Code component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Code/composer.json b/vendor/ZF2/library/Zend/Code/composer.json
index 8b0354fa8fa..d56f6b7a90c 100644
--- a/vendor/ZF2/library/Zend/Code/composer.json
+++ b/vendor/ZF2/library/Zend/Code/composer.json
@@ -21,5 +21,11 @@
     },
     "suggest": {
         "doctrine/common": "Doctrine\\Common >=2.1 for annotation features"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Config/README.md b/vendor/ZF2/library/Zend/Config/README.md
new file mode 100644
index 00000000000..650ba568d84
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Config/README.md
@@ -0,0 +1,15 @@
+Config Component from ZF2
+=========================
+
+This is the Config component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Config/composer.json b/vendor/ZF2/library/Zend/Config/composer.json
index 2dc3a644030..d15e7c1a212 100644
--- a/vendor/ZF2/library/Zend/Config/composer.json
+++ b/vendor/ZF2/library/Zend/Config/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Console/README.md b/vendor/ZF2/library/Zend/Console/README.md
new file mode 100644
index 00000000000..eb8566c0f21
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Console/README.md
@@ -0,0 +1,15 @@
+Console Component from ZF2
+==========================
+
+This is the Console component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Console/composer.json b/vendor/ZF2/library/Zend/Console/composer.json
index 73bf97d479b..c85e9e9a38f 100644
--- a/vendor/ZF2/library/Zend/Console/composer.json
+++ b/vendor/ZF2/library/Zend/Console/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Crypt/BlockCipher.php b/vendor/ZF2/library/Zend/Crypt/BlockCipher.php
index 34ab0de8595..6aa55f30fab 100644
--- a/vendor/ZF2/library/Zend/Crypt/BlockCipher.php
+++ b/vendor/ZF2/library/Zend/Crypt/BlockCipher.php
@@ -214,7 +214,7 @@ class BlockCipher
     /**
      * Get the original salt value
      *
-     * @return type
+     * @return string
      */
     public function getOriginalSalt()
     {
diff --git a/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php b/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
index 8552d983a2a..4e4dbfe41f0 100644
--- a/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
+++ b/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
@@ -178,6 +178,7 @@ class Bcrypt implements PasswordInterface
      * Set the backward compatibility $2a$ instead of $2y$ for PHP 5.3.7+
      *
      * @param boolean $value
+     * @return Bcrypt
      */
     public function setBackwardCompatibility($value)
     {
diff --git a/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php b/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php
index 67bb57f1d4f..873ca3f0513 100644
--- a/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php
+++ b/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php
@@ -135,6 +135,20 @@ class Rsa
         return $this->options;
     }
 
+    /**
+     * Return last openssl error(s)
+     *
+     * @return string
+     */
+    public function getOpensslErrorString()
+    {
+        $message = '';
+        while (false !== ($error = openssl_error_string())) {
+            $message .= $error . "\n";
+        }
+        return trim($message);
+    }
+
     /**
      * Sign with private key
      *
@@ -158,7 +172,7 @@ class Rsa
         );
         if (false === $result) {
             throw new Exception\RuntimeException(
-                'Can not generate signature; openssl ' . openssl_error_string()
+                'Can not generate signature; openssl ' . $this->getOpensslErrorString()
             );
         }
 
@@ -221,7 +235,7 @@ class Rsa
         );
         if (-1 === $result) {
             throw new Exception\RuntimeException(
-                'Can not verify signature; openssl ' . openssl_error_string()
+                'Can not verify signature; openssl ' . $this->getOpensslErrorString()
             );
         }
 
diff --git a/vendor/ZF2/library/Zend/Crypt/README.md b/vendor/ZF2/library/Zend/Crypt/README.md
new file mode 100644
index 00000000000..1e2e5af9197
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Crypt/README.md
@@ -0,0 +1,15 @@
+Crypt Component from ZF2
+========================
+
+This is the Crypt component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Crypt/composer.json b/vendor/ZF2/library/Zend/Crypt/composer.json
index 375161199fe..9e718313973 100644
--- a/vendor/ZF2/library/Zend/Crypt/composer.json
+++ b/vendor/ZF2/library/Zend/Crypt/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-math": "self.version",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-servicemanager": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
index 73d5736bcc6..2c9dbd9b279 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
@@ -146,7 +146,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
     public function connect()
     {
         if (is_resource($this->resource)) {
-            return;
+            return $this;
         }
 
         // localize
@@ -242,7 +242,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
      * Execute
      *
      * @param  string $sql
-     * @return ResultInterface
+     * @return Result
      */
     public function execute($sql)
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
index 7ad6e1047fc..e4fe97f5201 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
@@ -156,12 +156,12 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
      * Connect
      *
      * @throws Exception\RuntimeException
-     * @return void
+     * @return Connection
      */
     public function connect()
     {
         if ($this->resource instanceof \mysqli) {
-            return;
+            return $this;
         }
 
         // localize
@@ -214,6 +214,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
             $this->resource->set_charset($p['charset']);
         }
 
+        return $this;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php
index 5a3593be2e8..e4c8318f079 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php
@@ -103,6 +103,7 @@ class Oci8 implements DriverInterface, Profiler\ProfilerAwareInterface
      * Register statement prototype
      *
      * @param Statement $statementPrototype
+     * @return Oci8
      */
     public function registerStatementPrototype(Statement $statementPrototype)
     {
@@ -123,6 +124,7 @@ class Oci8 implements DriverInterface, Profiler\ProfilerAwareInterface
      * Register result prototype
      *
      * @param Result $resultPrototype
+     * @return Oci8
      */
     public function registerResultPrototype(Result $resultPrototype)
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php
index c26064102f3..ead25cfd7d7 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php
@@ -119,6 +119,7 @@ class Statement implements StatementInterface, Profiler\ProfilerAwareInterface
      * Set Parameter container
      *
      * @param ParameterContainer $parameterContainer
+     * @return Statement
      */
     public function setParameterContainer(ParameterContainer $parameterContainer)
     {
@@ -184,6 +185,7 @@ class Statement implements StatementInterface, Profiler\ProfilerAwareInterface
 
     /**
      * @param string $sql
+     * @return Statement
      */
     public function prepare($sql = null)
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
index aa46c6e84ea..feac1c666be 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
@@ -143,13 +143,13 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
     /**
      * Connect to the database
      *
-     * @return void
+     * @return Connection
      * @throws Exception\RuntimeException on failure
      */
     public function connect()
     {
         if (is_resource($this->resource)) {
-            return;
+            return $this;
         }
 
         // localize
@@ -184,6 +184,8 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
                 __METHOD__
             ));
         }
+
+        return $this;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
index fd69c1adaf9..7b785d9ebff 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
@@ -154,12 +154,12 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
      * Connect
      *
      * @throws Exception\RuntimeException
-     * @return null
+     * @return Connection
      */
     public function connect()
     {
         if ($this->resource) {
-            return;
+            return $this;
         }
 
         $serverName = '.';
diff --git a/vendor/ZF2/library/Zend/Db/README.md b/vendor/ZF2/library/Zend/Db/README.md
new file mode 100644
index 00000000000..5c67884071b
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Db/README.md
@@ -0,0 +1,15 @@
+DB Component from ZF2
+=====================
+
+This is the DB component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Literal.php b/vendor/ZF2/library/Zend/Db/Sql/Literal.php
index a6323aebf50..48722b1bcb7 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Literal.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Literal.php
@@ -41,7 +41,7 @@ class Literal implements ExpressionInterface
     public function getExpressionData()
     {
         return array(array(
-            $this->literal,
+            str_replace('%', '%%', $this->literal),
             array(),
             array()
         ));
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php b/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php
index bdc7fc7e89e..7581e2a7b55 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php
@@ -215,6 +215,13 @@ class Predicate extends PredicateSet
         return $this;
     }
 
+    /**
+     * Create an expression, with parameter placeholders
+     *
+     * @param $expression
+     * @param $parameters
+     * @return $this
+     */
     public function expression($expression, $parameters)
     {
         $this->addPredicate(
@@ -229,19 +236,24 @@ class Predicate extends PredicateSet
     /**
      * Create "Literal" predicate
      *
-     * Utilizes Like predicate
+     * Literal predicate, for parameters, use expression()
      *
      * @param  string $literal
-     * @param  int|float|bool|string|array $parameter
      * @return Predicate
      */
-    public function literal($literal, $expressionParameters = null)
+    public function literal($literal)
     {
-        if ($expressionParameters) {
-            $predicate = new Expression($literal, $expressionParameters);
-        } else {
+        // process deprecated parameters from previous literal($literal, $parameters = null) signature
+        if (func_num_args() >= 2) {
+            $parameters = func_get_arg(1);
+            $predicate = new Expression($literal, $parameters);
+        }
+
+        // normal workflow for "Literals" here
+        if (!isset($predicate)) {
             $predicate = new Literal($literal);
         }
+
         $this->addPredicate(
             $predicate,
             ($this->nextPredicateCombineOperator) ?: $this->defaultCombination
@@ -295,7 +307,7 @@ class Predicate extends PredicateSet
      * Utilizes In predicate
      *
      * @param  string $identifier
-     * @param  array|Select $valueSet
+     * @param  array|\Zend\Db\Sql\Select $valueSet
      * @return Predicate
      */
     public function in($identifier, $valueSet = null)
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Select.php b/vendor/ZF2/library/Zend/Db/Sql/Select.php
index 50554347c03..e083d25c8a3 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Select.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Select.php
@@ -260,6 +260,7 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
      *
      * @param  Where|\Closure|string|array|Predicate\PredicateInterface $predicate
      * @param  string $combination One of the OP_* constants from Predicate\PredicateSet
+     * @throws Exception\InvalidArgumentException
      * @return Select
      */
     public function where($predicate, $combination = Predicate\PredicateSet::OP_AND)
@@ -295,6 +296,11 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
                         } elseif (is_array($pvalue)) {
                             // if the value is an array, assume IN() is desired
                             $predicate = new Predicate\In($pkey, $pvalue);
+                        } elseif ($pvalue instanceof Predicate\PredicateInterface) {
+                            // 
+                            throw new Exception\InvalidArgumentException(
+                                'Using Predicate must not use string keys'
+                            ); 
                         } else {
                             // otherwise assume that array('foo' => 'bar') means "foo" = 'bar'
                             $predicate = new Predicate\Operator($pkey, Predicate\Operator::OP_EQ, $pvalue);
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php
index dd64c6081d0..571adf25d2a 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php
@@ -33,7 +33,7 @@ class MasterSlaveFeature extends AbstractFeature
     /**
      * Constructor
      *
-     * @param Adapter $slaveAdapter
+     * @param AdapterInterface $slaveAdapter
      */
     public function __construct(AdapterInterface $slaveAdapter, Sql $slaveSql = null)
     {
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php
index 1d2b084eec8..175fc211a08 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php
@@ -83,7 +83,7 @@ class SequenceFeature extends AbstractFeature
                 $sql = 'SELECT ' . $platform->quoteIdentifier($this->sequenceName) . '.NEXTVAL FROM dual';
                 break;
             case 'PostgreSQL':
-                $sql = 'SELECT NEXTVAL(' . $platform->quoteIdentifier($this->sequenceName) . ')';
+                $sql = 'SELECT NEXTVAL(\'' . $this->sequenceName . '\')';
                 break;
             default :
                 return null;
@@ -112,7 +112,7 @@ class SequenceFeature extends AbstractFeature
                 $sql = 'SELECT ' . $platform->quoteIdentifier($this->sequenceName) . '.CURRVAL FROM dual';
                 break;
             case 'PostgreSQL':
-                $sql = 'SELECT CURRVAL(' . $platform->quoteIdentifier($this->sequenceName) . ')';
+                $sql = 'SELECT CURRVAL(\'' . $this->sequenceName . '\')';
                 break;
             default :
                 return null;
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php b/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
index 4fd31e622d6..781646f2f98 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
@@ -22,7 +22,7 @@ class TableGateway extends AbstractTableGateway
      * Constructor
      *
      * @param string $table
-     * @param Adapter $adapter
+     * @param AdapterInterface $adapter
      * @param Feature\AbstractFeature|Feature\FeatureSet|Feature\AbstractFeature[] $features
      * @param ResultSetInterface $resultSetPrototype
      * @param Sql $sql
diff --git a/vendor/ZF2/library/Zend/Db/composer.json b/vendor/ZF2/library/Zend/Db/composer.json
index d2740a04918..098156a3658 100644
--- a/vendor/ZF2/library/Zend/Db/composer.json
+++ b/vendor/ZF2/library/Zend/Db/composer.json
@@ -17,5 +17,11 @@
     },
     "suggest": {
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Debug/Debug.php b/vendor/ZF2/library/Zend/Debug/Debug.php
index 673afc264f7..e20c500b21f 100644
--- a/vendor/ZF2/library/Zend/Debug/Debug.php
+++ b/vendor/ZF2/library/Zend/Debug/Debug.php
@@ -87,7 +87,7 @@ class Debug
      * @param  bool   $echo  OPTIONAL Echo output if true.
      * @return string
      */
-    public static function dump($var, $label=null, $echo=true)
+    public static function dump($var, $label = null, $echo = true)
     {
         // format the label
         $label = ($label===null) ? '' : rtrim($label) . ' ';
diff --git a/vendor/ZF2/library/Zend/Debug/README.md b/vendor/ZF2/library/Zend/Debug/README.md
new file mode 100644
index 00000000000..8797b8e2165
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Debug/README.md
@@ -0,0 +1,15 @@
+Debug Component from ZF2
+========================
+
+This is the Debug component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Debug/composer.json b/vendor/ZF2/library/Zend/Debug/composer.json
index b045cbf22ca..9f62c7e0c10 100644
--- a/vendor/ZF2/library/Zend/Debug/composer.json
+++ b/vendor/ZF2/library/Zend/Debug/composer.json
@@ -18,5 +18,11 @@
     },
     "suggest": {
         "ext/xdebug": "XDebug, for better backtrace output"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Di/Di.php b/vendor/ZF2/library/Zend/Di/Di.php
index a476391d3f5..b2404b27e37 100644
--- a/vendor/ZF2/library/Zend/Di/Di.php
+++ b/vendor/ZF2/library/Zend/Di/Di.php
@@ -163,13 +163,14 @@ class Di implements DependencyInjectionInterface
                 array_pop($this->instanceContext);
                 return $im->getSharedInstanceWithParameters(null, array(), $fastHash);
             }
-        } else {
-            if ($im->hasSharedInstance($name, $callParameters)) {
-                array_pop($this->instanceContext);
-                return $im->getSharedInstance($name, $callParameters);
-            }
         }
 
+        if ($im->hasSharedInstance($name, $callParameters)) {
+            array_pop($this->instanceContext);
+            return $im->getSharedInstance($name, $callParameters);
+        }
+
+
         $config   = $im->getConfig($name);
         $instance = $this->newInstance($name, $params, $config['shared']);
         array_pop($this->instanceContext);
diff --git a/vendor/ZF2/library/Zend/Di/README.md b/vendor/ZF2/library/Zend/Di/README.md
new file mode 100644
index 00000000000..4485999f265
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Di/README.md
@@ -0,0 +1,15 @@
+Di Component from ZF2
+=====================
+
+This is the Di component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Di/composer.json b/vendor/ZF2/library/Zend/Di/composer.json
index 3fe67f8bc34..fc3b5839c33 100644
--- a/vendor/ZF2/library/Zend/Di/composer.json
+++ b/vendor/ZF2/library/Zend/Di/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-code": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Dom/README.md b/vendor/ZF2/library/Zend/Dom/README.md
new file mode 100644
index 00000000000..b82c2b9ffc2
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Dom/README.md
@@ -0,0 +1,15 @@
+DOM Component from ZF2
+======================
+
+This is the DOM component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Dom/composer.json b/vendor/ZF2/library/Zend/Dom/composer.json
index b6124abfd6f..47d4ac327e6 100644
--- a/vendor/ZF2/library/Zend/Dom/composer.json
+++ b/vendor/ZF2/library/Zend/Dom/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Escaper/README.md b/vendor/ZF2/library/Zend/Escaper/README.md
new file mode 100644
index 00000000000..83bd9162805
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Escaper/README.md
@@ -0,0 +1,15 @@
+Escaper Component from ZF2
+==========================
+
+This is the Escaper component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Escaper/composer.json b/vendor/ZF2/library/Zend/Escaper/composer.json
index 4aff32b6763..c30c3f7cdc1 100644
--- a/vendor/ZF2/library/Zend/Escaper/composer.json
+++ b/vendor/ZF2/library/Zend/Escaper/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Escaper",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/EventManager/README.md b/vendor/ZF2/library/Zend/EventManager/README.md
new file mode 100644
index 00000000000..474b103d7be
--- /dev/null
+++ b/vendor/ZF2/library/Zend/EventManager/README.md
@@ -0,0 +1,15 @@
+EventManager Component from ZF2
+===============================
+
+This is the EventManager component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/EventManager/composer.json b/vendor/ZF2/library/Zend/EventManager/composer.json
index 115c88252f3..577b7697eff 100644
--- a/vendor/ZF2/library/Zend/EventManager/composer.json
+++ b/vendor/ZF2/library/Zend/EventManager/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Feed/README.md b/vendor/ZF2/library/Zend/Feed/README.md
new file mode 100644
index 00000000000..ffc73a9c262
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Feed/README.md
@@ -0,0 +1,15 @@
+Feed Component from ZF2
+=======================
+
+This is the Feed component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
index 1df24456db2..ea62bddfa38 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
@@ -177,7 +177,7 @@ class Entry
     /**
      * Set the feed creation date
      *
-     * @param string|null|DateTime $date
+     * @param null|integer|DateTime $date
      * @throws Exception\InvalidArgumentException
      * @return Entry
      */
@@ -198,7 +198,7 @@ class Entry
     /**
      * Set the feed modification date
      *
-     * @param string|null|DateTime $date
+     * @param null|integer|DateTime $date
      * @throws Exception\InvalidArgumentException
      * @return Entry
      */
diff --git a/vendor/ZF2/library/Zend/Feed/composer.json b/vendor/ZF2/library/Zend/Feed/composer.json
index cf0646db120..4dabb6b97b2 100644
--- a/vendor/ZF2/library/Zend/Feed/composer.json
+++ b/vendor/ZF2/library/Zend/Feed/composer.json
@@ -22,5 +22,11 @@
     },
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/File/README.md b/vendor/ZF2/library/Zend/File/README.md
new file mode 100644
index 00000000000..8e1ab787f52
--- /dev/null
+++ b/vendor/ZF2/library/Zend/File/README.md
@@ -0,0 +1,15 @@
+File Component from ZF2
+=======================
+
+This is the File component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
index a699c813ca5..002e958d230 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Adapter;
@@ -30,8 +29,6 @@ use Zend\Validator;
  * and filter chains instead.
  *
  * @todo      Rewrite
- * @category  Zend
- * @package   Zend_File_Transfer
  */
 abstract class AbstractAdapter implements TranslatorAwareInterface
 {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php
index 91e0a57e23d..0f2107ae14e 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File_Transfer
  */
 
 namespace Zend\File\Transfer\Adapter;
@@ -18,8 +17,6 @@ use Zend\Filter\FilterPluginManager as BaseManager;
  * Enforces that filters retrieved are instances of
  * FilterInterface. Additionally, it registers a number of default filters.
  *
- * @category   Zend
- * @package    Zend_File_Transfer
  */
 class FilterPluginManager extends BaseManager
 {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
index e6fa968b28d..082f012f825 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Adapter;
@@ -18,8 +17,6 @@ use Zend\ProgressBar\Adapter;
 /**
  * File transfer adapter class for the HTTP protocol
  *
- * @category  Zend
- * @package   Zend_File_Transfer
  */
 class Http extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php
index ff68e5ad975..22fe78ca3b2 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File_Transfer
  */
 
 namespace Zend\File\Transfer\Adapter;
 
 use Zend\Validator\ValidatorPluginManager as BaseManager;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class ValidatorPluginManager extends BaseManager
 {
     protected $aliases = array(
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php
index c5e7a063846..9bf2917d198 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
 use Zend\File\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class BadMethodCallException extends Exception\BadMethodCallException implements
     ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php
index e6efefeec9f..283cf3b6609 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
@@ -15,8 +14,6 @@ use Zend\File\Exception\ExceptionInterface as FileException;
 /**
  * Exception class for Zend\File\Transfer
  *
- * @category   Zend
- * @package    Zend_File_Transfer
  */
 interface ExceptionInterface
     extends FileException
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php
index c84807a3327..993a00d936e 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
 use Zend\File\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class InvalidArgumentException extends Exception\InvalidArgumentException implements
     ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php
index b7218fa3935..c7ca44ee163 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php
@@ -5,14 +5,9 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class PhpEnvironmentException extends RuntimeException
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php
index a6f46741994..1fa150ff9ae 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
 use Zend\File\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class RuntimeException extends Exception\RuntimeException implements
     ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Transfer.php b/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
index 02a4f9b1a93..92bf86d2ec0 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer;
@@ -13,8 +12,6 @@ namespace Zend\File\Transfer;
 /**
  * Base class for all protocols supporting file transfers
  *
- * @category  Zend
- * @package   Zend_File_Transfer
  */
 class Transfer
 {
diff --git a/vendor/ZF2/library/Zend/File/composer.json b/vendor/ZF2/library/Zend/File/composer.json
index 620194d3d91..ffa232e3972 100644
--- a/vendor/ZF2/library/Zend/File/composer.json
+++ b/vendor/ZF2/library/Zend/File/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php b/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
index 576987f73c1..2de6461aa76 100644
--- a/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
+++ b/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
@@ -251,8 +251,6 @@ class BlockCipher implements EncryptionAlgorithmInterface
             $encrypted = $this->blockCipher->encrypt($value);
         } catch (CryptException\InvalidArgumentException $e) {
             throw new Exception\InvalidArgumentException($e->getMessage());
-        } catch (SymmetricException\InvalidArgumentException $e) {
-            throw new Exception\InvalidArgumentException($e->getMessage());
         }
         return $encrypted;
     }
diff --git a/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php b/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php
index d453e40975f..ce1772f6ee6 100644
--- a/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php
+++ b/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php
@@ -25,6 +25,15 @@ class RenameUpload extends AbstractFilter
         'randomize'       => false,
     );
 
+    /**
+     * Store already filtered values, so we can filter multiple
+     * times the same file without being block by move_uploaded_file
+     * internal checks
+     *
+     * @var array
+     */
+    protected $alreadyFiltered = array();
+
     /**
      * Constructor
      *
@@ -143,28 +152,48 @@ class RenameUpload extends AbstractFilter
             $sourceFile = $value;
         }
 
+        if (isset($this->alreadyFiltered[$sourceFile])) {
+            return $this->alreadyFiltered[$sourceFile];
+        }
+
         $targetFile = $this->getFinalTarget($uploadData);
         if (!file_exists($sourceFile) || $sourceFile == $targetFile) {
             return $value;
         }
 
         $this->checkFileExists($targetFile);
+        $this->moveUploadedFile($sourceFile, $targetFile);
+
+        $return = $targetFile;
+        if ($isFileUpload) {
+            $return = $uploadData;
+            $return['tmp_name'] = $targetFile;
+        }
 
+        $this->alreadyFiltered[$sourceFile] = $return;
+
+        return $return;
+    }
+
+    /**
+     * @param  string $sourceFile Source file path
+     * @param  string $targetFile Target file path
+     * @throws \Zend\Filter\Exception\RuntimeException
+     * @return boolean
+     */
+    protected function moveUploadedFile($sourceFile, $targetFile)
+    {
         ErrorHandler::start();
         $result = move_uploaded_file($sourceFile, $targetFile);
         $warningException = ErrorHandler::stop();
         if (!$result || null !== $warningException) {
             throw new Exception\RuntimeException(
-                sprintf("File '%s' could not be renamed. An error occurred while processing the file.", $value),
+                sprintf("File '%s' could not be renamed. An error occurred while processing the file.", $sourceFile),
                 0, $warningException
             );
         }
 
-        if ($isFileUpload) {
-            $uploadData['tmp_name'] = $targetFile;
-            return $uploadData;
-        }
-        return $targetFile;
+        return $result;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Filter/PregReplace.php b/vendor/ZF2/library/Zend/Filter/PregReplace.php
index 43df0da2305..2c595d6fe3d 100644
--- a/vendor/ZF2/library/Zend/Filter/PregReplace.php
+++ b/vendor/ZF2/library/Zend/Filter/PregReplace.php
@@ -143,6 +143,7 @@ class PregReplace extends AbstractFilter
      * Validate a pattern and ensure it does not contain the "e" modifier
      *
      * @param  string $pattern
+     * @return bool
      * @throws Exception\InvalidArgumentException
      */
     protected function validatePattern($pattern)
diff --git a/vendor/ZF2/library/Zend/Filter/README.md b/vendor/ZF2/library/Zend/Filter/README.md
new file mode 100644
index 00000000000..2aeb60bf215
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Filter/README.md
@@ -0,0 +1,15 @@
+Filter Component from ZF2
+=========================
+
+This is the Filter component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Filter/composer.json b/vendor/ZF2/library/Zend/Filter/composer.json
index 40edff1d0f2..646cd51cd74 100644
--- a/vendor/ZF2/library/Zend/Filter/composer.json
+++ b/vendor/ZF2/library/Zend/Filter/composer.json
@@ -25,5 +25,11 @@
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zend-crypt": "Zend\\Crypt component",
         "zendframework/zend-stdlib": "Zend\\Stdlib component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php b/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php
index b7eb5697a01..df8fa91400b 100644
--- a/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php
+++ b/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php
@@ -234,8 +234,8 @@ class ElementAnnotationsListener extends AbstractAnnotationsListener
             return;
         }
 
-        $elementSpec = $e->getParam('element');
-        $elementSpec['hydrator'] = $annotation->getHydrator();
+        $elementSpec = $e->getParam('elementSpec');
+        $elementSpec['spec']['hydrator'] = $annotation->getHydrator();
     }
 
     /**
@@ -275,7 +275,7 @@ class ElementAnnotationsListener extends AbstractAnnotationsListener
         }
 
         $elementSpec = $e->getParam('elementSpec');
-        $elementSpec['object'] = $annotation->getObject();
+        $elementSpec['spec']['object'] = $annotation->getObject();
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Form/Element/DateSelect.php b/vendor/ZF2/library/Zend/Form/Element/DateSelect.php
index c4ca3d0cdca..c1afb1600c2 100644
--- a/vendor/ZF2/library/Zend/Form/Element/DateSelect.php
+++ b/vendor/ZF2/library/Zend/Form/Element/DateSelect.php
@@ -87,7 +87,7 @@ class DateSelect extends MonthSelect
     }
 
     /**
-     * @param  string|array|ArrayAccess|PhpDateTime $value
+     * @param  string|array|\ArrayAccess|PhpDateTime $value
      * @throws \Zend\Form\Exception\InvalidArgumentException
      * @return void|\Zend\Form\Element
      */
diff --git a/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php b/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php
index 09441052f9d..c2c16004f36 100644
--- a/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php
+++ b/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php
@@ -291,6 +291,9 @@ class DateTimeSelect extends DateSelect
                         'callback' => function($date) {
                             // Convert the date to a specific format
                             if (is_array($date)) {
+                                if (!isset($date['second'])) {
+                                    $date['second'] = '00';
+                                }
                                 $date = sprintf('%s-%s-%s %s:%s:%s',
                                     $date['year'], $date['month'], $date['day'],
                                     $date['hour'], $date['minute'], $date['second']
diff --git a/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php b/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php
index 1daf1e92225..6ab28de442e 100644
--- a/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php
+++ b/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php
@@ -55,6 +55,14 @@ class MonthSelect extends Element implements InputProviderInterface, ElementPrep
      */
     protected $createEmptyOption = false;
 
+    /**
+     * If set to true, view helpers will render delimiters between <select> elements, according to the
+     * specified locale
+     *
+     * @var bool
+     */
+    protected $renderDelimiters = true;
+
     /**
      * @var ValidatorInterface
      */
@@ -112,6 +120,10 @@ class MonthSelect extends Element implements InputProviderInterface, ElementPrep
             $this->setShouldCreateEmptyOption($options['create_empty_option']);
         }
 
+        if (isset($options['render_delimiters'])) {
+            $this->setShouldRenderDelimiters($options['render_delimiters']);
+        }
+
         return $this;
     }
 
@@ -229,6 +241,24 @@ class MonthSelect extends Element implements InputProviderInterface, ElementPrep
         return $this->createEmptyOption;
     }
 
+    /**
+     * @param  bool $renderDelimiters
+     * @return MonthSelect
+     */
+    public function setShouldRenderDelimiters($renderDelimiters)
+    {
+        $this->renderDelimiters = (bool) $renderDelimiters;
+        return $this;
+    }
+
+    /**
+     * @return bool
+     */
+    public function shouldRenderDelimiters()
+    {
+        return $this->renderDelimiters;
+    }
+
     /**
      * @param mixed $value
      * @return void|\Zend\Form\Element
diff --git a/vendor/ZF2/library/Zend/Form/Form.php b/vendor/ZF2/library/Zend/Form/Form.php
index 02b9f3c3c61..f650023fcfb 100644
--- a/vendor/ZF2/library/Zend/Form/Form.php
+++ b/vendor/ZF2/library/Zend/Form/Form.php
@@ -321,7 +321,7 @@ class Form extends Fieldset implements FormInterface
                 continue;
             }
 
-            if (is_array($value)) {
+            if (is_array($value) && is_array($match[$name])) {
                 $data[$name] = $this->prepareBindData($value, $match[$name]);
             } else {
                 $data[$name] = $value;
@@ -558,10 +558,8 @@ class Form extends Fieldset implements FormInterface
                 $values = array();
 
                 if (isset($data[$key])) {
-                    $count = count($data[$key]);
-
-                    for ($i = 0; $i != $count; ++$i) {
-                        $values[] = $value;
+                    foreach(array_keys($data[$key]) as $cKey) {
+                        $values[$cKey] = $value;
                     }
                 }
 
diff --git a/vendor/ZF2/library/Zend/Form/FormElementManager.php b/vendor/ZF2/library/Zend/Form/FormElementManager.php
index 3e38b3c6913..da30fd94324 100644
--- a/vendor/ZF2/library/Zend/Form/FormElementManager.php
+++ b/vendor/ZF2/library/Zend/Form/FormElementManager.php
@@ -36,6 +36,7 @@ class FormElementManager extends AbstractPluginManager
         'dateselect'    => 'Zend\Form\Element\DateSelect',
         'datetime'      => 'Zend\Form\Element\DateTime',
         'datetimelocal' => 'Zend\Form\Element\DateTimeLocal',
+        'datetimeselect' => 'Zend\Form\Element\DateTimeSelect',
         'element'       => 'Zend\Form\Element',
         'email'         => 'Zend\Form\Element\Email',
         'fieldset'      => 'Zend\Form\Fieldset',
@@ -84,7 +85,7 @@ class FormElementManager extends AbstractPluginManager
     public function injectFactory($element)
     {
         if ($element instanceof FormFactoryAwareInterface) {
-            $element->setFormFactory(new Factory($this));
+            $element->getFormFactory()->setFormElementManager($this);
         }
     }
 
diff --git a/vendor/ZF2/library/Zend/Form/README.md b/vendor/ZF2/library/Zend/Form/README.md
new file mode 100644
index 00000000000..25786c2e9d4
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Form/README.md
@@ -0,0 +1,15 @@
+Form Component from ZF2
+=======================
+
+This is the Form component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php
index 2ca13638ae9..21bc4f45863 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php
@@ -44,7 +44,7 @@ class FormDateSelect extends FormMonthSelectHelper
         }
 
         $selectHelper = $this->getSelectElementHelper();
-        $pattern      = $this->parsePattern();
+        $pattern      = $this->parsePattern($element->shouldRenderDelimiters());
 
         $daysOptions   = $this->getDaysOptions($pattern['day']);
         $monthsOptions = $this->getMonthsOptions($pattern['month']);
@@ -60,19 +60,20 @@ class FormDateSelect extends FormMonthSelectHelper
             $monthElement->setEmptyOption('');
         }
 
-        $markup = array();
-        $markup[$pattern['day']]   = $selectHelper->render($dayElement);
-        $markup[$pattern['month']] = $selectHelper->render($monthElement);
-        $markup[$pattern['year']]  = $selectHelper->render($yearElement);
+        $data = array();
+        $data[$pattern['day']]   = $selectHelper->render($dayElement);
+        $data[$pattern['month']] = $selectHelper->render($monthElement);
+        $data[$pattern['year']]  = $selectHelper->render($yearElement);
 
-        $markup = sprintf(
-            '%s %s %s %s %s',
-            $markup[array_shift($pattern)],
-            array_shift($pattern), // Delimiter
-            $markup[array_shift($pattern)],
-            array_shift($pattern), // Delimiter
-            $markup[array_shift($pattern)]
-        );
+        $markup = '';
+        foreach ($pattern as $key => $value) {
+            // Delimiter
+            if (is_numeric($key)) {
+                $markup .= $value;
+            } else {
+                $markup .= $data[$value];
+            }
+        }
 
         return $markup;
     }
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php
index 3c4281b017a..0815caf7012 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php
@@ -52,7 +52,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         }
 
         $selectHelper = $this->getSelectElementHelper();
-        $pattern      = $this->parsePattern();
+        $pattern      = $this->parsePattern($element->shouldRenderDelimiters());
 
         $daysOptions   = $this->getDaysOptions($pattern['day']);
         $monthsOptions = $this->getMonthsOptions($pattern['month']);
@@ -77,43 +77,27 @@ class FormDateTimeSelect extends FormDateSelectHelper
             $secondElement->setEmptyOption('');
         }
 
-        $markup = array();
-        $markup[$pattern['day']]   = $selectHelper->render($dayElement);
-        $markup[$pattern['month']] = $selectHelper->render($monthElement);
-        $markup[$pattern['year']]  = $selectHelper->render($yearElement);
-        $markup[$pattern['hour']]  = $selectHelper->render($hourElement);
-        $markup[$pattern['minute']]  = $selectHelper->render($minuteElement);
+        $data = array();
+        $data[$pattern['day']]   = $selectHelper->render($dayElement);
+        $data[$pattern['month']] = $selectHelper->render($monthElement);
+        $data[$pattern['year']]  = $selectHelper->render($yearElement);
+        $data[$pattern['hour']]  = $selectHelper->render($hourElement);
+        $data[$pattern['minute']]  = $selectHelper->render($minuteElement);
 
         if ($element->shouldShowSeconds()) {
-            $markup[$pattern['second']]  = $selectHelper->render($secondElement);
-
-            $markup = sprintf(
-                '%s %s %s %s %s %s %s %s %s %s %s',
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)]
-            );
+            $data[$pattern['second']]  = $selectHelper->render($secondElement);
         } else {
-            $markup = sprintf(
-                '%s %s %s %s %s %s %s %s %s',
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)]
-            );
+            unset($pattern['second']);
+        }
+
+        $markup = '';
+        foreach ($pattern as $key => $value) {
+            // Delimiter
+            if (is_numeric($key)) {
+                $markup .= $value;
+            } else {
+                $markup .= $data[$value];
+            }
         }
 
         return $markup;
@@ -183,7 +167,9 @@ class FormDateTimeSelect extends FormDateSelectHelper
     {
         if ($this->pattern === null) {
             $intl           = new IntlDateFormatter($this->getLocale(), $this->dateType, $this->timeType);
-            $this->pattern  = $intl->getPattern();
+            // remove time zone format character
+            $pattern = rtrim($intl->getPattern(), ' z');
+            $this->pattern  = $pattern;
         }
 
         return $this->pattern;
@@ -192,29 +178,30 @@ class FormDateTimeSelect extends FormDateSelectHelper
     /**
      * Parse the pattern
      *
+     * @param  bool $renderDelimiters
      * @return array
      */
-    protected function parsePattern()
+    protected function parsePattern($renderDelimiters = true)
     {
         $pattern    = $this->getPattern();
-        $pregResult = preg_split('/([ -,.:\/]+)/', $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
+        $pregResult = preg_split("/([ -,.:\/]*'.*?'[ -,.:\/]*)|([ -,.:\/]+)/", $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
 
         $result = array();
         foreach ($pregResult as $value) {
-            if (stripos($value, 'd') !== false) {
+            if (stripos($value, "'") === false && stripos($value, 'd') !== false) {
                 $result['day'] = $value;
-            } elseif (strpos($value, 'M') !== false) {
+            } elseif (stripos($value, "'") === false && strpos($value, 'M') !== false) {
                 $result['month'] = $value;
-            } elseif (stripos($value, 'y') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'y') !== false) {
                 $result['year'] = $value;
-            } elseif (stripos($value, 'h') !==  false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'h') !==  false) {
                 $result['hour'] = $value;
-            } elseif (stripos($value, 'm') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'm') !== false) {
                 $result['minute'] = $value;
-            } elseif (strpos($value, 's') !== false) {
+            } elseif (stripos($value, "'") === false && strpos($value, 's') !== false) {
                 $result['second'] = $value;
-            } else {
-                $result[] = $value;
+            } elseif ($renderDelimiters) {
+                $result[] = str_replace("'", '', $value);
             }
         }
 
@@ -234,7 +221,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         $date           = new DateTime('1970-01-01 00:00:00');
 
         $result = array();
-        for ($hour = 1; $hour <= 31; $hour++) {
+        for ($hour = 1; $hour <= 24; $hour++) {
             $key   = $keyFormatter->format($date);
             $value = $valueFormatter->format($date);
             $result[$key] = $value;
@@ -258,7 +245,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         $date           = new DateTime('1970-01-01 00:00:00');
 
         $result = array();
-        for ($hour = 1; $hour <= 31; $hour++) {
+        for ($min = 1; $min <= 60; $min++) {
             $key   = $keyFormatter->format($date);
             $value = $valueFormatter->format($date);
             $result[$key] = $value;
@@ -282,7 +269,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         $date           = new DateTime('1970-01-01 00:00:00');
 
         $result = array();
-        for ($hour = 1; $hour <= 31; $hour++) {
+        for ($sec = 1; $sec <= 60; $sec++) {
             $key   = $keyFormatter->format($date);
             $value = $valueFormatter->format($date);
             $result[$key] = $value;
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php
index 3dbb12e3f67..298aeb0c571 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php
@@ -73,7 +73,7 @@ class FormMonthSelect extends AbstractHelper
         }
 
         $selectHelper = $this->getSelectElementHelper();
-        $pattern      = $this->parsePattern();
+        $pattern      = $this->parsePattern($element->shouldRenderDelimiters());
 
         // The pattern always contains "day" part and the first separator, so we have to remove it
         unset($pattern['day']);
@@ -90,16 +90,19 @@ class FormMonthSelect extends AbstractHelper
             $yearElement->setEmptyOption('');
         }
 
-        $markup = array();
-        $markup[$pattern['month']] = $selectHelper->render($monthElement);
-        $markup[$pattern['year']]  = $selectHelper->render($yearElement);
+        $data = array();
+        $data[$pattern['month']] = $selectHelper->render($monthElement);
+        $data[$pattern['year']]  = $selectHelper->render($yearElement);
 
-        $markup = sprintf(
-            '%s %s %s',
-            $markup[array_shift($pattern)],
-            array_shift($pattern), // Delimiter
-            $markup[array_shift($pattern)]
-        );
+        $markup = '';
+        foreach ($pattern as $key => $value) {
+            // Delimiter
+            if (is_numeric($key)) {
+                $markup .= $value;
+            } else {
+                $markup .= $data[$value];
+            }
+        }
 
         return $markup;
     }
@@ -145,23 +148,24 @@ class FormMonthSelect extends AbstractHelper
     /**
      * Parse the pattern
      *
+     * @param  bool $renderDelimiters
      * @return array
      */
-    protected function parsePattern()
+    protected function parsePattern($renderDelimiters = true)
     {
         $pattern    = $this->getPattern();
-        $pregResult = preg_split('/([ -,.\/]+)/', $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
+        $pregResult = preg_split("/([ -,.\/]*(?:'[a-zA-Z]+')*[ -,.\/]+)/", $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
 
         $result = array();
         foreach ($pregResult as $value) {
-            if (stripos($value, 'd') !== false) {
+            if (stripos($value, "'") === false && stripos($value, 'd') !== false) {
                 $result['day'] = $value;
-            } elseif (stripos($value, 'm') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'm') !== false) {
                 $result['month'] = $value;
-            } elseif (stripos($value, 'y') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'y') !== false) {
                 $result['year'] = $value;
-            } else {
-                $result[] = $value;
+            } elseif ($renderDelimiters) {
+                $result[] = str_replace("'", '', $value);
             }
         }
 
diff --git a/vendor/ZF2/library/Zend/Form/composer.json b/vendor/ZF2/library/Zend/Form/composer.json
index 44c07539288..3bc8941e61e 100644
--- a/vendor/ZF2/library/Zend/Form/composer.json
+++ b/vendor/ZF2/library/Zend/Form/composer.json
@@ -22,5 +22,11 @@
     },
     "suggest": {
         "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Http/Client.php b/vendor/ZF2/library/Zend/Http/Client.php
index 6236f24d8e9..ce76e1eb07a 100644
--- a/vendor/ZF2/library/Zend/Http/Client.php
+++ b/vendor/ZF2/library/Zend/Http/Client.php
@@ -1334,7 +1334,7 @@ class Client implements Stdlib\DispatchableInterface
      * @param string $password
      * @param string $type
      * @return string
-     * @throws Zend\Http\Client\Exception\InvalidArgumentException
+     * @throws Client\Exception\InvalidArgumentException
      */
     public static function encodeAuthHeader($user, $password, $type = self::AUTH_BASIC)
     {
diff --git a/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php b/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
index bac9c7839dc..ed518b277ca 100644
--- a/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
+++ b/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
@@ -168,7 +168,7 @@ abstract class AbstractAccept implements HeaderInterface
                 $explode = explode('=', $param, 2);
 
                 $value = trim($explode[1]);
-                if ($value[0] == '"' && substr($value, -1) == '"') {
+                if (isset($value[0]) && $value[0] == '"' && substr($value, -1) == '"') {
                     $value = substr(substr($value, 1), 0, -1);
                 }
 
@@ -341,10 +341,17 @@ abstract class AbstractAccept implements HeaderInterface
         foreach ($match2->params as $key => $value) {
             if (isset($match1->params[$key])) {
                 if (strpos($value, '-')) {
-                    $values = explode('-', $value, 2);
-                    if ($values[0] > $match1->params[$key] ||
-                            $values[1] < $match1->params[$key])
-                    {
+                    preg_match(
+                        '/^(?|([^"-]*)|"([^"]*)")-(?|([^"-]*)|"([^"]*)")\z/',
+                        $value,
+                        $pieces
+                    );
+
+                    if (count($pieces) == 3 &&
+                        (version_compare($pieces[1], $match1->params[$key], '<=')  xor
+                         version_compare($pieces[2], $match1->params[$key], '>=')
+                        )
+                    ) {
                         return false;
                     }
                 } elseif (strpos($value, '|')) {
diff --git a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
index fde66b9b558..4c24fdc6962 100644
--- a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
+++ b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
@@ -132,7 +132,8 @@ class SetCookie implements MultipleHeaderInterface
             };
         }
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = explode(':', $headerLine, 2);
+        $value = ltrim($value);
 
         // some sites return set-cookie::value, this is to get rid of the second :
         $name = (strtolower($name) =='set-cookie:') ? 'set-cookie' : $name;
@@ -227,7 +228,7 @@ class SetCookie implements MultipleHeaderInterface
     public function getFieldValue()
     {
         if ($this->getName() == '') {
-            throw new Exception\RuntimeException('A cookie name is required to generate a field value for this cookie');
+            return '';
         }
 
         $value = $this->getValue();
diff --git a/vendor/ZF2/library/Zend/Http/README.md b/vendor/ZF2/library/Zend/Http/README.md
new file mode 100644
index 00000000000..64b4436f813
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Http/README.md
@@ -0,0 +1,15 @@
+HTTP Component from ZF2
+=======================
+
+This is the HTTP component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Http/composer.json b/vendor/ZF2/library/Zend/Http/composer.json
index ae276fbce33..d4017f0cc37 100644
--- a/vendor/ZF2/library/Zend/Http/composer.json
+++ b/vendor/ZF2/library/Zend/Http/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-loader": "self.version",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-uri": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/I18n/README.md b/vendor/ZF2/library/Zend/I18n/README.md
new file mode 100644
index 00000000000..56711765fe8
--- /dev/null
+++ b/vendor/ZF2/library/Zend/I18n/README.md
@@ -0,0 +1,15 @@
+i18n Component from ZF2
+=======================
+
+This is the i18n component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/I18n/composer.json b/vendor/ZF2/library/Zend/I18n/composer.json
index 09aa2c98ce5..85cad1b9847 100644
--- a/vendor/ZF2/library/Zend/I18n/composer.json
+++ b/vendor/ZF2/library/Zend/I18n/composer.json
@@ -17,5 +17,11 @@
         "ext-intl": "*",
         "zendframework/zend-filter": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/InputFilter/Input.php b/vendor/ZF2/library/Zend/InputFilter/Input.php
index dbd23cc2cdf..277340be139 100644
--- a/vendor/ZF2/library/Zend/InputFilter/Input.php
+++ b/vendor/ZF2/library/Zend/InputFilter/Input.php
@@ -313,13 +313,13 @@ class Input implements InputInterface
         }
         $chain = $this->getValidatorChain();
 
-        // Check if NotEmpty validator is already first in chain
+        // Check if NotEmpty validator is already in chain
         $validators = $chain->getValidators();
-        if (isset($validators[0]['instance'])
-            && $validators[0]['instance'] instanceof NotEmpty
-        ) {
-            $this->notEmptyValidator = true;
-            return;
+        foreach ($validators as $validator) {
+            if ($validator['instance'] instanceof NotEmpty) {
+                $this->notEmptyValidator = true;
+                return;
+            }
         }
 
         $chain->prependByName('NotEmpty', array(), true);
diff --git a/vendor/ZF2/library/Zend/InputFilter/README.md b/vendor/ZF2/library/Zend/InputFilter/README.md
new file mode 100644
index 00000000000..9971f883c1b
--- /dev/null
+++ b/vendor/ZF2/library/Zend/InputFilter/README.md
@@ -0,0 +1,15 @@
+InputFilter Component from ZF2
+==============================
+
+This is the InputFilter component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/InputFilter/composer.json b/vendor/ZF2/library/Zend/InputFilter/composer.json
index 9c11e421776..d64678fd8ae 100644
--- a/vendor/ZF2/library/Zend/InputFilter/composer.json
+++ b/vendor/ZF2/library/Zend/InputFilter/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-filter": "self.version",
         "zendframework/zend-validator": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Json/Json.php b/vendor/ZF2/library/Zend/Json/Json.php
index bd873933e0e..68190ebc8a9 100644
--- a/vendor/ZF2/library/Zend/Json/Json.php
+++ b/vendor/ZF2/library/Zend/Json/Json.php
@@ -306,7 +306,7 @@ class Json
      * @return mixed - JSON formatted string on success
      * @throws \Zend\Json\Exception\RuntimeException if the input not a XML formatted string
      */
-    public static function fromXml ($xmlStringContents, $ignoreXmlAttributes=true)
+    public static function fromXml($xmlStringContents, $ignoreXmlAttributes = true)
     {
         // Load the XML formatted string into a Simple XML Element object.
         $simpleXmlElementObject = simplexml_load_string($xmlStringContents);
diff --git a/vendor/ZF2/library/Zend/Json/README.md b/vendor/ZF2/library/Zend/Json/README.md
new file mode 100644
index 00000000000..59676a452a2
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Json/README.md
@@ -0,0 +1,15 @@
+JSON Component from ZF2
+=======================
+
+This is the JSON component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Json/composer.json b/vendor/ZF2/library/Zend/Json/composer.json
index dcfcc0f4d13..f9af106f119 100644
--- a/vendor/ZF2/library/Zend/Json/composer.json
+++ b/vendor/ZF2/library/Zend/Json/composer.json
@@ -18,5 +18,11 @@
     },
     "suggest": {
         "zendframework/zend-server": "Zend\\Server component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Ldap/README.md b/vendor/ZF2/library/Zend/Ldap/README.md
new file mode 100644
index 00000000000..5f85fb78101
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Ldap/README.md
@@ -0,0 +1,15 @@
+LDAP Component from ZF2
+=======================
+
+This is the LDAP component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Ldap/composer.json b/vendor/ZF2/library/Zend/Ldap/composer.json
index 33038d0a7c7..d9c838f6055 100644
--- a/vendor/ZF2/library/Zend/Ldap/composer.json
+++ b/vendor/ZF2/library/Zend/Ldap/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
index cd88954c9b3..1c691a5e456 100644
--- a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
@@ -111,7 +111,7 @@ class ModuleAutoloader implements SplAutoloader
      * Sets the class map used to speed up the module autoloading.
      *
      * @param  array $classmap
-     * @return ModuleLoader
+     * @return ModuleAutoloader
      */
     public function setModuleClassMap(array $classmap)
     {
diff --git a/vendor/ZF2/library/Zend/Loader/README.md b/vendor/ZF2/library/Zend/Loader/README.md
new file mode 100644
index 00000000000..87e954df5e8
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Loader/README.md
@@ -0,0 +1,15 @@
+Loader Component from ZF2
+=========================
+
+This is the Loader component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Loader/composer.json b/vendor/ZF2/library/Zend/Loader/composer.json
index 9a91a0fa1e0..c7bd13ac7ca 100644
--- a/vendor/ZF2/library/Zend/Loader/composer.json
+++ b/vendor/ZF2/library/Zend/Loader/composer.json
@@ -17,5 +17,11 @@
     },
     "suggest": {
         "zendframework/zend-stdlib": "Zend\\Stdlib component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php b/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
index c7f637f4451..419154f589d 100644
--- a/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
+++ b/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
@@ -9,6 +9,7 @@
 
 namespace Zend\Log\Filter;
 
+use Traversable;
 use Zend\Log\Exception;
 
 class SuppressFilter implements FilterInterface
diff --git a/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php b/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php
index ef0c045e503..af97e2754d6 100644
--- a/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php
+++ b/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php
@@ -15,7 +15,7 @@ interface ProcessorInterface
      * Processes a log message before it is given to the writers
      *
      * @param  array $event
-     * @return WriterInterface
+     * @return array
      */
     public function process(array $event);
 
diff --git a/vendor/ZF2/library/Zend/Log/README.md b/vendor/ZF2/library/Zend/Log/README.md
new file mode 100644
index 00000000000..3e224cfe5b5
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Log/README.md
@@ -0,0 +1,15 @@
+Log Component from ZF2
+======================
+
+This is the Log component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php b/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
index e5ea4429d1a..8a10475a452 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
@@ -41,7 +41,7 @@ abstract class AbstractWriter implements WriterInterface
     /**
      * Formats the log message before writing
      *
-     * @var Formatter
+     * @var Formatter\FormatterInterface
      */
     protected $formatter;
 
diff --git a/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php b/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php
index 6c2dd378418..a9228ec30a2 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php
@@ -166,7 +166,7 @@ class FingersCrossed extends AbstractWriter
      *
      * @param string $name
      * @param array|null $options
-     * @return Writer\WriterInterface
+     * @return WriterInterface
      */
     public function writerPlugin($name, array $options = null)
     {
@@ -243,7 +243,7 @@ class FingersCrossed extends AbstractWriter
      * Stub in accordance to parent method signature.
      * Fomatters must be set on the wrapped writer.
      *
-     * @param string|Formatter\FormatterInterface $formatter
+     * @param string|FormatterInterface $formatter
      * @return WriterInterface
      */
     public function setFormatter($formatter)
diff --git a/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php b/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
index a75f37dc53b..7366398ae41 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
@@ -87,7 +87,7 @@ class MongoDB extends AbstractWriter
     /**
      * This writer does not support formatting.
      *
-     * @param string|Zend\Log\Formatter\FormatterInterface $formatter
+     * @param string|FormatterInterface $formatter
      * @return WriterInterface
      */
     public function setFormatter($formatter)
@@ -100,7 +100,7 @@ class MongoDB extends AbstractWriter
      *
      * @param array $event Event data
      * @return void
-     * @throws Zend\Log\Exception\RuntimeException
+     * @throws Exception\RuntimeException
      */
     protected function doWrite(array $event)
     {
diff --git a/vendor/ZF2/library/Zend/Log/composer.json b/vendor/ZF2/library/Zend/Log/composer.json
index f6932482fa8..5dfe65b8626 100644
--- a/vendor/ZF2/library/Zend/Log/composer.json
+++ b/vendor/ZF2/library/Zend/Log/composer.json
@@ -23,5 +23,11 @@
         "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML formatter",
         "zendframework/zend-mail": "Zend\\Mail component",
         "zendframework/zend-validator": "Zend\\Validator component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php b/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php
index 97cbd5f1e6b..6f801933a3c 100644
--- a/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php
+++ b/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php
@@ -43,7 +43,9 @@ abstract class AbstractAddressList implements HeaderInterface
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
         // split into name/value
-        list($fieldName, $fieldValue) = explode(': ', $decodedLine, 2);
+        list($fieldName, $fieldValue) = explode(':', $decodedLine, 2);
+        $fieldName  = trim($fieldName);
+        $fieldValue = trim($fieldValue);
 
         if (strtolower($fieldName) !== static::$type) {
             throw new Exception\InvalidArgumentException(sprintf(
diff --git a/vendor/ZF2/library/Zend/Mail/README.md b/vendor/ZF2/library/Zend/Mail/README.md
new file mode 100644
index 00000000000..21c97e554af
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Mail/README.md
@@ -0,0 +1,15 @@
+Mail Component from ZF2
+=======================
+
+This is the Mail component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php b/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
index d5d607cf972..fbe8583fd01 100644
--- a/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
+++ b/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
@@ -127,6 +127,15 @@ class Sendmail implements TransportInterface
         $headers = $this->prepareHeaders($message);
         $params  = $this->prepareParameters($message);
 
+        // On *nix platforms, we need to replace \r\n with \n
+        // sendmail is not an SMTP server, it is a unix command - it expects LF
+        if (!$this->isWindowsOs()) {
+            $to      = str_replace("\r\n", "\n", $to);
+            $subject = str_replace("\r\n", "\n", $subject);
+            $body    = str_replace("\r\n", "\n", $body);
+            $headers = str_replace("\r\n", "\n", $headers);
+        }
+
         call_user_func($this->callable, $to, $subject, $body, $headers, $params);
     }
 
diff --git a/vendor/ZF2/library/Zend/Mail/composer.json b/vendor/ZF2/library/Zend/Mail/composer.json
index 77aa2aef6e7..326bf6e0487 100644
--- a/vendor/ZF2/library/Zend/Mail/composer.json
+++ b/vendor/ZF2/library/Zend/Mail/composer.json
@@ -21,5 +21,11 @@
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zend-servicemanager": "Zend\\ServiceManager component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Math/README.md b/vendor/ZF2/library/Zend/Math/README.md
new file mode 100644
index 00000000000..e3a5e851a6e
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Math/README.md
@@ -0,0 +1,15 @@
+Math Component from ZF2
+=======================
+
+This is the Math component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Math/composer.json b/vendor/ZF2/library/Zend/Math/composer.json
index 60b59dd8e73..2cd6a86462d 100644
--- a/vendor/ZF2/library/Zend/Math/composer.json
+++ b/vendor/ZF2/library/Zend/Math/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Math",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Memory/README.md b/vendor/ZF2/library/Zend/Memory/README.md
new file mode 100644
index 00000000000..a896e735318
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Memory/README.md
@@ -0,0 +1,15 @@
+Memory Component from ZF2
+=========================
+
+This is the Memory component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Memory/composer.json b/vendor/ZF2/library/Zend/Memory/composer.json
index dd0e7b18ec5..c430d5f9c7d 100644
--- a/vendor/ZF2/library/Zend/Memory/composer.json
+++ b/vendor/ZF2/library/Zend/Memory/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Memory",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Mime/README.md b/vendor/ZF2/library/Zend/Mime/README.md
new file mode 100644
index 00000000000..9dcacb16629
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Mime/README.md
@@ -0,0 +1,15 @@
+MIME Component from ZF2
+=======================
+
+This is the MIME component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Mime/composer.json b/vendor/ZF2/library/Zend/Mime/composer.json
index 57ebcde3ff3..ee08a3bf7c3 100644
--- a/vendor/ZF2/library/Zend/Mime/composer.json
+++ b/vendor/ZF2/library/Zend/Mime/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/ModuleManager/README.md b/vendor/ZF2/library/Zend/ModuleManager/README.md
index ff200e30ae9..5e710bd7cb5 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/README.md
+++ b/vendor/ZF2/library/Zend/ModuleManager/README.md
@@ -1,5 +1,17 @@
-ZF2 Module Manager
-==================
+ModuleManager Component from ZF2
+================================
+
+This is the ModuleManager component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
 
 Description
 -----------
diff --git a/vendor/ZF2/library/Zend/ModuleManager/composer.json b/vendor/ZF2/library/Zend/ModuleManager/composer.json
index 2b74f5e18b5..6c6236cf4fb 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/composer.json
+++ b/vendor/ZF2/library/Zend/ModuleManager/composer.json
@@ -21,5 +21,11 @@
         "zendframework/zend-config": "Zend\\Config component",
         "zendframework/zend-loader": "Zend\\Loader component",
         "zendframework/zend-servicemanager": "Zend\\ServiceManager component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Mvc/Application.php b/vendor/ZF2/library/Zend/Mvc/Application.php
index fc49693fe09..7d42a849618 100644
--- a/vendor/ZF2/library/Zend/Mvc/Application.php
+++ b/vendor/ZF2/library/Zend/Mvc/Application.php
@@ -13,7 +13,6 @@ use Zend\EventManager\EventManagerAwareInterface;
 use Zend\EventManager\EventManagerInterface;
 use Zend\ServiceManager\ServiceManager;
 use Zend\Stdlib\ResponseInterface;
-use Zend\Stdlib\Nop;
 
 /**
  * Main application class for invoking applications
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
index 5198a541c0f..a8275b5a13e 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
@@ -255,6 +255,7 @@ abstract class AbstractController implements
             $this->setPluginManager(new PluginManager());
         }
 
+        $this->plugins->setController($this);
         return $this->plugins;
     }
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
index 91d5ba0ff57..521c22538ef 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
@@ -178,7 +178,7 @@ class FilePostRedirectGet extends AbstractPlugin
      */
     public function setSessionContainer(Container $container)
     {
-        $this->sessionContainer = container;
+        $this->sessionContainer = $container;
         return $this;
     }
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
index 96daa2bc3a1..ce038a47539 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
@@ -39,7 +39,7 @@ class PostRedirectGet extends AbstractPlugin
      *
      * @param  null|string $redirect
      * @param  bool $redirectToUrl
-     * @return \Zend\Http\Response|array|Traversable|false
+     * @return \Zend\Http\Response|array|\Traversable|false
      */
     public function __invoke($redirect = null, $redirectToUrl = false)
     {
@@ -88,7 +88,7 @@ class PostRedirectGet extends AbstractPlugin
      *
      * @param  string  $redirect
      * @param  boolean $redirectToUrl
-     * @return Response
+     * @return \Zend\Http\Response
      * @throws \Zend\Mvc\Exception\RuntimeException
      */
     protected function redirect($redirect, $redirectToUrl)
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
index 48b114ce380..f2660ff93f9 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
@@ -39,7 +39,7 @@ class Url extends AbstractPlugin
 
         $event   = $controller->getEvent();
         $router  = null;
-        $matches =null;
+        $matches = null;
         if ($event instanceof MvcEvent) {
             $router  = $event->getRouter();
             $matches = $event->getRouteMatch();
diff --git a/vendor/ZF2/library/Zend/Mvc/README.md b/vendor/ZF2/library/Zend/Mvc/README.md
new file mode 100644
index 00000000000..c337188ce5c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Mvc/README.md
@@ -0,0 +1,15 @@
+MVC Component from ZF2
+======================
+
+This is the MVC component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php b/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php
index 65b89e89ad6..7ede12dff84 100644
--- a/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php
+++ b/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php
@@ -9,7 +9,7 @@
 
 namespace Zend\Mvc\ResponseSender;
 
-use Zend\Mvc\ResponseSender\SendResponseEvent;;
+use Zend\Mvc\ResponseSender\SendResponseEvent;
 
 interface ResponseSenderInterface
 {
diff --git a/vendor/ZF2/library/Zend/Mvc/RouteListener.php b/vendor/ZF2/library/Zend/Mvc/RouteListener.php
index 7f12a4f1a32..71ee3bf8cfb 100644
--- a/vendor/ZF2/library/Zend/Mvc/RouteListener.php
+++ b/vendor/ZF2/library/Zend/Mvc/RouteListener.php
@@ -11,6 +11,7 @@ namespace Zend\Mvc;
 
 use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
+use Zend\Mvc\Application;
 
 class RouteListener implements ListenerAggregateInterface
 {
@@ -64,7 +65,7 @@ class RouteListener implements ListenerAggregateInterface
         $routeMatch = $router->match($request);
 
         if (!$routeMatch instanceof Router\RouteMatch) {
-            $e->setError($target::ERROR_ROUTER_NO_MATCH);
+            $e->setError(Application::ERROR_ROUTER_NO_MATCH);
 
             $results = $target->getEventManager()->trigger(MvcEvent::EVENT_DISPATCH_ERROR, $e);
             if (count($results)) {
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
index fcbeeb78778..fadcafb6c28 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
@@ -90,7 +90,7 @@ class Catchall implements RouteInterface
     /**
      * factory(): defined by Route interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @return Simple
      */
@@ -118,7 +118,7 @@ class Catchall implements RouteInterface
     /**
      * assemble(): Defined by Route interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -131,7 +131,7 @@ class Catchall implements RouteInterface
     /**
      * getAssembledParams(): defined by Route interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
index 90ed22d5be6..15428dc7817 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
@@ -136,7 +136,7 @@ class Simple implements RouteInterface
     /**
      * factory(): defined by Route interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Simple
@@ -203,7 +203,7 @@ class Simple implements RouteInterface
              *    --param=
              *    --param=whatever
              */
-            if (preg_match( '/\G--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+)(?<hasValue>=\S*?)?(?: +|$)/s', $def, $m, 0, $pos )) {
+            if (preg_match('/\G--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+)(?<hasValue>=\S*?)?(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'short'      => false,
@@ -213,6 +213,22 @@ class Simple implements RouteInterface
                     'hasValue'   => !empty($m['hasValue']),
                 );
             }
+            /**
+             * Optional long flag
+             *    [--param]
+             */
+            elseif (preg_match(
+                '/\G\[ *?--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+) *?\](?: +|$)/s', $def, $m, 0, $pos
+            )) {
+                $item = array(
+                    'name'       => strtolower($m['name']),
+                    'short'      => false,
+                    'literal'    => false,
+                    'required'   => false,
+                    'positional' => false,
+                    'hasValue'   => false,
+                );
+            }
             /**
              * Optional long param
              *    [--param=]
@@ -237,9 +253,9 @@ class Simple implements RouteInterface
              *    -a=s
              *    -a=w
              */
-            elseif (preg_match( '/\G-(?<name>[a-zA-Z0-9])(?:=(?<type>[ns]))?(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G-(?<name>[a-zA-Z0-9])(?:=(?<type>[ns]))?(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
-                    'name'       => strtolower( $m['name'] ),
+                    'name'       => strtolower($m['name']),
                     'short'      => true,
                     'literal'    => false,
                     'required'   => true,
@@ -268,7 +284,7 @@ class Simple implements RouteInterface
              *    [ something | somethingElse | anotherOne ]
              *    [ something | somethingElse | anotherOne ]:namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \[
                     (?<options>
@@ -308,7 +324,7 @@ class Simple implements RouteInterface
              *    ( something | somethingElse | anotherOne )
              *    ( something | somethingElse | anotherOne ):namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \(
                     (?<options>
@@ -346,7 +362,7 @@ class Simple implements RouteInterface
              *    ( --something | --somethingElse | --anotherOne | -s | -a )
              *    ( --something | --somethingElse | --anotherOne | -s | -a ):namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \(
                     (?<options>
@@ -389,7 +405,7 @@ class Simple implements RouteInterface
              *    [ --something | --somethingElse | --anotherOne | -s | -a ]
              *    [ --something | --somethingElse | --anotherOne | -s | -a ]:namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \[
                     (?<options>
@@ -431,7 +447,7 @@ class Simple implements RouteInterface
              * Optional literal param, i.e.
              *    [something]
              */
-            elseif (preg_match( '/\G\[ *?(?<name>[a-z0-9][a-zA-Z0-9\_]*?) *?\](?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\[ *?(?<name>[a-z0-9][a-zA-Z0-9\_]*?) *?\](?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => $m['name'],
                     'literal'    => true,
@@ -444,7 +460,7 @@ class Simple implements RouteInterface
              * Optional value param, i.e.
              *    [SOMETHING]
              */
-            elseif (preg_match( '/\G\[(?<name>[A-Z0-9\_]+)\](?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\[(?<name>[A-Z0-9\_]+)\](?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'literal'    => false,
@@ -457,7 +473,7 @@ class Simple implements RouteInterface
              * Optional value param, syntax 2, i.e.
              *    [<SOMETHING>]
              */
-            elseif (preg_match( '/\G\[ *\<(?<name>[a-zA-Z0-9\_]+)\> *\](?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\[ *\<(?<name>[a-zA-Z0-9\_]+)\> *\](?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'literal'    => false,
@@ -470,7 +486,7 @@ class Simple implements RouteInterface
              * Mandatory value param, i.e.
              *    <something>
              */
-            elseif (preg_match( '/\G\< *(?<name>[a-zA-Z0-9\_]+) *\>(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\< *(?<name>[a-zA-Z0-9\_]+) *\>(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => $m['name'],
                     'literal'    => false,
@@ -483,7 +499,7 @@ class Simple implements RouteInterface
              * Mandatory value param, i.e.
              *   SOMETHING
              */
-            elseif (preg_match( '/\G(?<name>[A-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G(?<name>[A-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'literal'    => false,
@@ -496,7 +512,7 @@ class Simple implements RouteInterface
              * Mandatory literal param, i.e.
              *   something
              */
-            elseif (preg_match( '/\G(?<name>[a-z0-9][a-zA-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G(?<name>[a-z0-9][a-zA-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => $m['name'],
                     'literal'    => true,
@@ -510,7 +526,7 @@ class Simple implements RouteInterface
                 );
             }
 
-            $pos += strlen( $m[0] );
+            $pos += strlen($m[0]);
             $parts[] = $item;
         }
 
@@ -613,7 +629,7 @@ class Simple implements RouteInterface
                  * Drop out if that was a mandatory param
                  */
                 if ($part['required']) {
-                    return;
+                    return null;
                 }
 
                 /**
@@ -644,7 +660,7 @@ class Simple implements RouteInterface
                     array_splice($params, $x, 1);
                 } else {
                     // there are no more params available
-                    return;
+                    return null;
                 }
             }
 
@@ -656,7 +672,7 @@ class Simple implements RouteInterface
                     !preg_match($this->constraints[$part['name']], $value)
                 ) {
                     // constraint failed
-                    return;
+                    return null;
                 }
             }
 
@@ -698,7 +714,7 @@ class Simple implements RouteInterface
          */
         foreach ($params as $param) {
             if (preg_match('#^\-+#', $param)) {
-                return; // there is an unrecognized flag
+                return null; // there is an unrecognized flag
             }
         }
 
@@ -713,7 +729,7 @@ class Simple implements RouteInterface
             if (!isset($params[$argPos])) {
                 if ($part['required']) {
                     // cannot find required positional param
-                    return;
+                    return null;
                 } else {
                     // stop matching
                     break;
@@ -730,7 +746,7 @@ class Simple implements RouteInterface
                     (isset($part['alternatives']) && !in_array($value, $part['alternatives'])) ||
                     (!isset($part['alternatives']) && $value != $part['name'])
                 ) {
-                    return;
+                    return null;
                 }
             }
 
@@ -742,7 +758,7 @@ class Simple implements RouteInterface
                     !preg_match($this->constraints[$part['name']], $value)
                 ) {
                     // constraint failed
-                    return;
+                    return null;
                 }
             }
 
@@ -777,18 +793,16 @@ class Simple implements RouteInterface
          * Check if we have consumed all positional parameters
          */
         if ($argPos < count($params)) {
-            return; // there are extraneous params that were not consumed
+            return null; // there are extraneous params that were not consumed
         }
 
-
-
         return new RouteMatch(array_merge($this->defaults, $matches));
     }
 
     /**
      * assemble(): Defined by Route interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -801,7 +815,7 @@ class Simple implements RouteInterface
     /**
      * getAssembledParams(): defined by Route interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
index 5874e79cc54..fd4f55ce75e 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
@@ -22,7 +22,7 @@ class SimpleRouteStack extends BaseSimpleRouteStack
     /**
      * init(): defined by SimpleRouteStack.
      *
-     * @see    SimpleRouteStack::init()
+     * @see    BaseSimpleRouteStack::init()
      */
     protected function init()
     {
@@ -39,7 +39,7 @@ class SimpleRouteStack extends BaseSimpleRouteStack
     /**
      * addRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoute()
+     * @see    RouteStackInterface::addRoute()
      * @param  string  $name
      * @param  mixed   $route
      * @param  integer $priority
@@ -57,7 +57,7 @@ class SimpleRouteStack extends BaseSimpleRouteStack
     /**
      * routeFromArray(): defined by SimpleRouteStack.
      *
-     * @see    SimpleRouteStack::routeFromArray()
+     * @see    BaseSimpleRouteStack::routeFromArray()
      * @param  array|Traversable $specs
      * @return RouteInterface
      * @throws Exception\InvalidArgumentException
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php
index 68e9bcbbb89..de5ca8df44d 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php
@@ -22,18 +22,25 @@ use Zend\Stdlib\RequestInterface as Request;
 class Hostname implements RouteInterface
 {
     /**
-     * RouteInterface to match.
+     * Parts of the route.
      *
      * @var array
      */
-    protected $route;
+    protected $parts;
 
     /**
-     * Constraints for parameters.
+     * Regex used for matching the route.
+     *
+     * @var string
+     */
+    protected $regex;
+
+    /**
+     * Map from regex groups to parameter names.
      *
      * @var array
      */
-    protected $constraints;
+    protected $paramMap = array();
 
     /**
      * Default values.
@@ -58,15 +65,15 @@ class Hostname implements RouteInterface
      */
     public function __construct($route, array $constraints = array(), array $defaults = array())
     {
-        $this->route       = explode('.', $route);
-        $this->constraints = $constraints;
-        $this->defaults    = $defaults;
+        $this->defaults = $defaults;
+        $this->parts    = $this->parseRouteDefinition($route);
+        $this->regex    = $this->buildRegex($this->parts, $constraints);
     }
 
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Hostname
@@ -94,10 +101,168 @@ class Hostname implements RouteInterface
         return new static($options['route'], $options['constraints'], $options['defaults']);
     }
 
+    /**
+     * Parse a route definition.
+     *
+     * @param  string $def
+     * @return array
+     * @throws Exception\RuntimeException
+     */
+    protected function parseRouteDefinition($def)
+    {
+        $currentPos = 0;
+        $length     = strlen($def);
+        $parts      = array();
+        $levelParts = array(&$parts);
+        $level      = 0;
+
+        while ($currentPos < $length) {
+            preg_match('(\G(?P<literal>[a-z0-9-.]*)(?P<token>[:{\[\]]|$))', $def, $matches, 0, $currentPos);
+
+            $currentPos += strlen($matches[0]);
+
+            if (!empty($matches['literal'])) {
+                $levelParts[$level][] = array('literal', $matches['literal']);
+            }
+
+            if ($matches['token'] === ':') {
+                if (!preg_match('(\G(?P<name>[^:.{\[\]]+)(?:{(?P<delimiters>[^}]+)})?:?)', $def, $matches, 0, $currentPos)) {
+                    throw new Exception\RuntimeException('Found empty parameter name');
+                }
+
+                $levelParts[$level][] = array('parameter', $matches['name'], isset($matches['delimiters']) ? $matches['delimiters'] : null);
+
+                $currentPos += strlen($matches[0]);
+            } elseif ($matches['token'] === '[') {
+                $levelParts[$level][] = array('optional', array());
+                $levelParts[$level + 1] = &$levelParts[$level][count($levelParts[$level]) - 1][1];
+
+                $level++;
+            } elseif ($matches['token'] === ']') {
+                unset($levelParts[$level]);
+                $level--;
+
+                if ($level < 0) {
+                    throw new Exception\RuntimeException('Found closing bracket without matching opening bracket');
+                }
+            } else {
+                break;
+            }
+        }
+
+        if ($level > 0) {
+            throw new Exception\RuntimeException('Found unbalanced brackets');
+        }
+
+        return $parts;
+    }
+
+    /**
+     * Build the matching regex from parsed parts.
+     *
+     * @param  array   $parts
+     * @param  array   $constraints
+     * @param  integer $groupIndex
+     * @return string
+     * @throws Exception\RuntimeException
+     */
+    protected function buildRegex(array $parts, array $constraints, &$groupIndex = 1)
+    {
+        $regex = '';
+
+        // Reverse the parts to build the regex in reverse
+        foreach (array_reverse($parts) as $part) {
+            switch ($part[0]) {
+                case 'literal':
+                    $regex .= preg_quote(strrev($part[1]));
+                    break;
+
+                case 'parameter':
+                    $groupName = '?P<param' . $groupIndex . '>';
+
+                    if (isset($constraints[$part[1]])) {
+                        $regex .= '(' . $groupName . $constraints[$part[1]] . ')';
+                    } elseif ($part[2] === null) {
+                        $regex .= '(' . $groupName . '[^.]+)';
+                    } else {
+                        $regex .= '(' . $groupName . '[^' . $part[2] . ']+)';
+                    }
+
+                    $this->paramMap['param' . $groupIndex++] = $part[1];
+                    break;
+
+                case 'optional':
+                    $regex .= '(?:' . $this->buildRegex($part[1], $constraints, $groupIndex) . ')?';
+                    break;
+            }
+        }
+
+        return $regex;
+    }
+
+    /**
+     * Build host.
+     *
+     * @param  array   $parts
+     * @param  array   $mergedParams
+     * @param  bool $isOptional
+     * @return string
+     * @throws Exception\RuntimeException
+     * @throws Exception\InvalidArgumentException
+     */
+    protected function buildHost(array $parts, array $mergedParams, $isOptional)
+    {
+        $host      = '';
+        $skip      = true;
+        $skippable = false;
+
+        foreach ($parts as $part) {
+            switch ($part[0]) {
+                case 'literal':
+                    $host .= $part[1];
+                    break;
+
+                case 'parameter':
+                    $skippable = true;
+
+                    if (!isset($mergedParams[$part[1]])) {
+                        if (!$isOptional) {
+                            throw new Exception\InvalidArgumentException(sprintf('Missing parameter "%s"', $part[1]));
+                        }
+
+                        return '';
+                    } elseif (!$isOptional || !isset($this->defaults[$part[1]]) || $this->defaults[$part[1]] !== $mergedParams[$part[1]]) {
+                        $skip = false;
+                    }
+
+                    $host .= $mergedParams[$part[1]];
+
+                    $this->assembledParams[] = $part[1];
+                    break;
+
+                case 'optional':
+                    $skippable    = true;
+                    $optionalPart = $this->buildHost($part[1], $mergedParams, true);
+
+                    if ($optionalPart !== '') {
+                        $host .= $optionalPart;
+                        $skip  = false;
+                    }
+                    break;
+            }
+        }
+
+        if ($isOptional && $skippable && $skip) {
+            return '';
+        }
+
+        return $host;
+    }
+
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch
      */
@@ -107,23 +272,22 @@ class Hostname implements RouteInterface
             return null;
         }
 
-        $uri      = $request->getUri();
-        $hostname = explode('.', $uri->getHost());
-        $params   = array();
+        $uri  = $request->getUri();
+        $host = $uri->getHost();
 
-        if (count($hostname) !== count($this->route)) {
+        // reverse the host as the regex was built backwards
+        $result = preg_match('(^' . $this->regex . '$)', strrev($host), $matches);
+
+        if (!$result) {
             return null;
         }
 
-        foreach ($this->route as $index => $routePart) {
-            if (preg_match('(^:(?P<name>.+)$)', $routePart, $matches)) {
-                if (isset($this->constraints[$matches['name']]) && !preg_match('(^' . $this->constraints[$matches['name']] . '$)', $hostname[$index])) {
-                    return null;
-                }
+        $params        = array();
 
-                $params[$matches['name']] = $hostname[$index];
-            } elseif ($hostname[$index] !== $routePart) {
-                return null;
+        foreach ($this->paramMap as $index => $name) {
+            if (isset($matches[$index]) && $matches[$index] !== '') {
+                // reverse the param as the preg_match was done on reverse host
+                $params[$name] = strrev($matches[$index]);
             }
         }
 
@@ -133,35 +297,23 @@ class Hostname implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
-     * @throws Exception\InvalidArgumentException
      */
     public function assemble(array $params = array(), array $options = array())
     {
-        $mergedParams          = array_merge($this->defaults, $params);
         $this->assembledParams = array();
 
         if (isset($options['uri'])) {
-            $parts = array();
-
-            foreach ($this->route as $routePart) {
-                if (preg_match('(^:(?P<name>.+)$)', $routePart, $matches)) {
-                    if (!isset($mergedParams[$matches['name']])) {
-                        throw new Exception\InvalidArgumentException(sprintf('Missing parameter "%s"', $matches['name']));
-                    }
-
-                    $parts[] = $mergedParams[$matches['name']];
-
-                    $this->assembledParams[] = $matches['name'];
-                } else {
-                    $parts[] = $routePart;
-                }
-            }
+            $host = $this->buildHost(
+                $this->parts,
+                array_merge($this->defaults, $params),
+                false
+            );
 
-            $options['uri']->setHost(implode('.', $parts));
+            $options['uri']->setHost($host);
         }
 
         // A hostname does not contribute to the path, thus nothing is returned.
@@ -171,7 +323,7 @@ class Hostname implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php
index d42fffbeb03..302628e64b1 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php
@@ -50,7 +50,7 @@ class Literal implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws Exception\InvalidArgumentException
      * @return Literal
@@ -77,7 +77,7 @@ class Literal implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request  $request
      * @param  int|null $pathOffset
      * @return RouteMatch|null
@@ -111,7 +111,7 @@ class Literal implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -124,7 +124,7 @@ class Literal implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php
index 6efd25d8863..1791c9bffd0 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php
@@ -48,7 +48,7 @@ class Method implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws Exception\InvalidArgumentException
      * @return Method
@@ -75,7 +75,7 @@ class Method implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch|null
      */
@@ -99,7 +99,7 @@ class Method implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -113,7 +113,7 @@ class Method implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php
index 0e2310e541f..1f66a83f582 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php
@@ -74,7 +74,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  mixed $options
      * @throws Exception\InvalidArgumentException
      * @return Part
@@ -112,7 +112,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request  $request
      * @param  int|null $pathOffset
      * @return RouteMatch|null
@@ -136,8 +136,11 @@ class Part extends TreeRouteStack implements RouteInterface
             $uri        = $request->getUri();
             $pathLength = strlen($uri->getPath());
 
-            if ($this->mayTerminate && $nextOffset === $pathLength && trim($uri->getQuery()) == "") {
-                return $match;
+            if ($this->mayTerminate && $nextOffset === $pathLength) {
+                $query = $uri->getQuery();
+                if ('' == trim($query) || !$this->hasQueryChild()) {
+                    return $match;
+                }
             }
 
             foreach ($this->routes as $name => $route) {
@@ -155,7 +158,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -191,7 +194,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
@@ -200,4 +203,19 @@ class Part extends TreeRouteStack implements RouteInterface
         // don't have to return anything here.
         return array();
     }
+
+    /**
+     * Is one of the child routes a query route?
+     *
+     * @return bool
+     */
+    protected function hasQueryChild()
+    {
+        foreach ($this->routes as $route) {
+            if ($route instanceof Query) {
+                return true;
+            }
+        }
+        return false;
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php
index a937bf1df89..a807e966c05 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php
@@ -19,6 +19,7 @@ use Zend\Stdlib\RequestInterface as Request;
  * Query route.
  *
  * @see        http://guides.rubyonrails.org/routing.html
+ * @deprecated
  */
 class Query implements RouteInterface
 {
@@ -50,7 +51,7 @@ class Query implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws Exception\InvalidArgumentException
      * @return Query
@@ -74,7 +75,7 @@ class Query implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @param  int|null $pathOffset
      * @return RouteMatch
@@ -111,7 +112,7 @@ class Query implements RouteInterface
 
     /**
      * assemble(): Defined by RouteInterface interface.
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      *
      * @param  array $params
      * @param  array $options
@@ -137,7 +138,7 @@ class Query implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php
index 4155305e3dc..8b153f089bd 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php
@@ -68,7 +68,7 @@ class Regex implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Regex
@@ -138,7 +138,7 @@ class Regex implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -165,7 +165,7 @@ class Regex implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php
index 0c9893f9967..a19c67149e2 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php
@@ -50,7 +50,7 @@ class Scheme implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @return Scheme
      * @throws Exception\InvalidArgumentException
@@ -77,7 +77,7 @@ class Scheme implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch
      */
@@ -100,7 +100,7 @@ class Scheme implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -118,7 +118,7 @@ class Scheme implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
index f8b92d514e0..1be9dc2aec9 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
@@ -110,7 +110,7 @@ class Segment implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Segment
@@ -335,7 +335,7 @@ class Segment implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @param  string|null $pathOffset
      * @return RouteMatch
@@ -374,7 +374,7 @@ class Segment implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -394,7 +394,7 @@ class Segment implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
index 33e3c6ca478..1818d9d20dc 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
@@ -62,7 +62,7 @@ class TreeRouteStack extends SimpleRouteStack
     /**
      * addRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoute()
+     * @see    RouteStackInterface::addRoute()
      * @param  string  $name
      * @param  mixed   $route
      * @param  integer $priority
@@ -217,6 +217,14 @@ class TreeRouteStack extends SimpleRouteStack
 
         $path = $this->baseUrl . $route->assemble(array_merge($this->defaultParams, $params), $options);
 
+        if (isset($options['query'])) {
+            $uri->setQuery($options['query']);
+        }
+
+        if (isset($options['fragment'])) {
+            $uri->setFragment($options['fragment']);
+        }
+
         if ((isset($options['force_canonical']) && $options['force_canonical']) || $uri->getHost() !== null) {
             if ($uri->getScheme() === null) {
                 if ($this->requestUri === null) {
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php
index 01b40b7ad0f..eb4e6c1a1e3 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php
@@ -66,7 +66,7 @@ class Wildcard implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Wildcard
@@ -97,7 +97,7 @@ class Wildcard implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @param  int|null $pathOffset
      * @return RouteMatch
@@ -152,7 +152,7 @@ class Wildcard implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -179,7 +179,7 @@ class Wildcard implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
index 822ab31a45a..08625c81fb5 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
@@ -60,7 +60,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @return SimpleRouteStack
      * @throws Exception\InvalidArgumentException
@@ -124,7 +124,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * addRoutes(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoutes()
+     * @see    RouteStackInterface::addRoutes()
      * @param  array|Traversable $routes
      * @return SimpleRouteStack
      * @throws Exception\InvalidArgumentException
@@ -145,7 +145,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * addRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoute()
+     * @see    RouteStackInterface::addRoute()
      * @param  string  $name
      * @param  mixed   $route
      * @param  integer $priority
@@ -169,7 +169,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * removeRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::removeRoute()
+     * @see    RouteStackInterface::removeRoute()
      * @param  string  $name
      * @return SimpleRouteStack
      */
@@ -282,7 +282,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch|null
      */
@@ -308,7 +308,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * assemble(): defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php
index b08f15d25d2..34ffb97dd84 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php
@@ -20,7 +20,7 @@ class FilterManagerFactory extends AbstractPluginManagerFactory
      * Create and return the filter plugin manager
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return FilterPluginManager
+     * @return \Zend\Filter\FilterPluginManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php
index 8537f6f15c1..86fc9cc919a 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php
@@ -19,7 +19,7 @@ class PaginatorPluginManagerFactory extends AbstractPluginManagerFactory
      * Create and return the MVC controller plugin manager
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return ControllerPluginManager
+     * @return \Zend\Paginator\AdapterPluginManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php b/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php
index 614310112be..2514bf2153c 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php
@@ -130,10 +130,14 @@ class ServiceManagerConfig implements ConfigInterface
         }
 
         $serviceManager->addInitializer(function ($instance) use ($serviceManager) {
-            if ($instance instanceof EventManagerAwareInterface
-                && !$instance->getEventManager() instanceof EventManagerInterface
-            ) {
-                $instance->setEventManager($serviceManager->get('EventManager'));
+            if ($instance instanceof EventManagerAwareInterface) {
+                if ($instance->getEventManager() instanceof EventManagerInterface) {
+                    $instance->getEventManager()->setSharedManager(
+                        $serviceManager->get('SharedEventManager')
+                    );
+                } else {
+                    $instance->setEventManager($serviceManager->get('EventManager'));
+                }
             }
         });
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php
index dca8d8693a4..7ee8159099a 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php
@@ -20,7 +20,7 @@ class ValidatorManagerFactory extends AbstractPluginManagerFactory
      * Create and return the validator plugin manager
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return ValidatorPluginManager
+     * @return \Zend\Validator\ValidatorPluginManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/composer.json b/vendor/ZF2/library/Zend/Mvc/composer.json
index 8792ae7f0d7..0020728a7e0 100644
--- a/vendor/ZF2/library/Zend/Mvc/composer.json
+++ b/vendor/ZF2/library/Zend/Mvc/composer.json
@@ -17,6 +17,7 @@
         "zendframework/zend-console": "self.version",
         "zendframework/zend-di": "self.version",
         "zendframework/zend-eventmanager": "self.version",
+        "zendframework/zend-form": "self.version",
         "zendframework/zend-modulemanager": "self.version",
         "zendframework/zend-http": "self.version",
         "zendframework/zend-uri": "self.version",
@@ -24,5 +25,11 @@
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-text": "self.version",
         "zendframework/zend-view": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Navigation/README.md b/vendor/ZF2/library/Zend/Navigation/README.md
new file mode 100644
index 00000000000..60ba2dfc807
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Navigation/README.md
@@ -0,0 +1,15 @@
+Navigation Component from ZF2
+=============================
+
+This is the Navigation component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Navigation/composer.json b/vendor/ZF2/library/Zend/Navigation/composer.json
index cb6d6572c90..7ee10fb64af 100644
--- a/vendor/ZF2/library/Zend/Navigation/composer.json
+++ b/vendor/ZF2/library/Zend/Navigation/composer.json
@@ -20,5 +20,11 @@
         "zendframework/zend-config": "Zend\\Config component",
         "zendframework/zend-mvc": "Zend\\Mvc component",
         "zendframework/zend-view": "Zend\\View component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php b/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
index d4a894e526a..3919de15a91 100644
--- a/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
+++ b/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
@@ -107,7 +107,15 @@ class DbSelect implements AdapterInterface
         $select->reset(Select::LIMIT);
         $select->reset(Select::OFFSET);
         $select->reset(Select::ORDER);
+        $select->reset(Select::GROUP);
 
+        // get join information, clear, and repopulate without columns
+        $joins = $select->getRawState(Select::JOINS);
+        $select->reset(Select::JOINS);
+        foreach ($joins as $join) {
+            $select->join($join['name'], $join['on'], array(), $join['type']);
+        }
+        
         $select->columns(array('c' => new Expression('COUNT(1)')));
 
         $statement = $this->sql->prepareStatementForSqlObject($select);
diff --git a/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php b/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php
index 30a6410c8d9..f7d5315267e 100644
--- a/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php
+++ b/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php
@@ -46,7 +46,7 @@ class AdapterPluginManager extends AbstractPluginManager
      * @param  string $canonicalName
      * @param  string $requestedName
      * @return mixed
-     * @throws Exception\ServiceNotCreatedException If factory is not callable
+     * @throws \Zend\ServiceManager\Exception\ServiceNotCreatedException If factory is not callable
      */
     protected function createFromFactory($canonicalName, $requestedName)
     {
diff --git a/vendor/ZF2/library/Zend/Paginator/README.md b/vendor/ZF2/library/Zend/Paginator/README.md
new file mode 100644
index 00000000000..9fd28086f04
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Paginator/README.md
@@ -0,0 +1,15 @@
+Paginator Component from ZF2
+============================
+
+This is the Paginator component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Paginator/composer.json b/vendor/ZF2/library/Zend/Paginator/composer.json
index 201a51b88b8..abaaf42c84c 100644
--- a/vendor/ZF2/library/Zend/Paginator/composer.json
+++ b/vendor/ZF2/library/Zend/Paginator/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Permissions/Acl/README.md b/vendor/ZF2/library/Zend/Permissions/Acl/README.md
new file mode 100644
index 00000000000..aae630aa3f5
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Permissions/Acl/README.md
@@ -0,0 +1,15 @@
+ACL Component from ZF2
+======================
+
+This is the ACL component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Permissions/Acl/composer.json b/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
index dd3c9eba29a..ff54dc82feb 100644
--- a/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
+++ b/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Permissions/Acl",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Permissions/Rbac/README.md b/vendor/ZF2/library/Zend/Permissions/Rbac/README.md
new file mode 100644
index 00000000000..4d32c610280
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Permissions/Rbac/README.md
@@ -0,0 +1,15 @@
+RBAC Component from ZF2
+=======================
+
+This is the RBAC component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php b/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php
index 9fca9b468ab..d4b00f8bc63 100644
--- a/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php
+++ b/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php
@@ -123,8 +123,9 @@ class Rbac extends AbstractIterator
     /**
      * Determines if access is granted by checking the role and child roles for permission.
      *
-     * @param string                                                  $permission
-     * @param \Zend\Permissions\Rbac\AssertionInterface|Callable|null $assert
+     * @param  string                                                  $permission
+     * @param  \Zend\Permissions\Rbac\AssertionInterface|Callable|null $assert
+     * @return bool
      */
     public function isGranted($role, $permission, $assert = null)
     {
diff --git a/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json b/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json
index f64d23217ae..f210df8d76e 100644
--- a/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json
+++ b/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Permissions/Rbac",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/ProgressBar/README.md b/vendor/ZF2/library/Zend/ProgressBar/README.md
new file mode 100644
index 00000000000..3c2d4283dcd
--- /dev/null
+++ b/vendor/ZF2/library/Zend/ProgressBar/README.md
@@ -0,0 +1,15 @@
+ProgressBar Component from ZF2
+==============================
+
+This is the ProgressBar component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/ProgressBar/composer.json b/vendor/ZF2/library/Zend/ProgressBar/composer.json
index 149ceb7b815..b6e8bc9075f 100644
--- a/vendor/ZF2/library/Zend/ProgressBar/composer.json
+++ b/vendor/ZF2/library/Zend/ProgressBar/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Serializer/README.md b/vendor/ZF2/library/Zend/Serializer/README.md
new file mode 100644
index 00000000000..d44d85463c4
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Serializer/README.md
@@ -0,0 +1,15 @@
+Serializer Component from ZF2
+=============================
+
+This is the Serializer component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Serializer/composer.json b/vendor/ZF2/library/Zend/Serializer/composer.json
index 4243aaa0bd9..947696c46bc 100644
--- a/vendor/ZF2/library/Zend/Serializer/composer.json
+++ b/vendor/ZF2/library/Zend/Serializer/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-json": "self.version",
         "zendframework/zend-math": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Server/README.md b/vendor/ZF2/library/Zend/Server/README.md
new file mode 100644
index 00000000000..4b727c9929a
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Server/README.md
@@ -0,0 +1,15 @@
+Server Component from ZF2
+=========================
+
+This is the Server component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Server/composer.json b/vendor/ZF2/library/Zend/Server/composer.json
index a5d47e89480..f4490e4efb8 100644
--- a/vendor/ZF2/library/Zend/Server/composer.json
+++ b/vendor/ZF2/library/Zend/Server/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-code": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/README.md b/vendor/ZF2/library/Zend/ServiceManager/README.md
new file mode 100644
index 00000000000..9a4ed650716
--- /dev/null
+++ b/vendor/ZF2/library/Zend/ServiceManager/README.md
@@ -0,0 +1,15 @@
+ServiceManager Component from ZF2
+=================================
+
+This is the ServiceManager component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
index b897acbe497..21bb9309ce8 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
@@ -445,7 +445,7 @@ class ServiceManager implements ServiceLocatorInterface
         }
 
         // Still no instance? raise an exception
-        if (!$instance && !is_array($instance)) {
+        if ($instance === null && !is_array($instance)) {
             if ($isAlias) {
                 throw new Exception\ServiceNotFoundException(sprintf(
                     'An alias "%s" was requested but no service could be found.',
@@ -494,11 +494,11 @@ class ServiceManager implements ServiceLocatorInterface
             $instance = $this->createFromFactory($cName, $rName);
         }
 
-        if (!$instance && isset($this->invokableClasses[$cName])) {
+        if ($instance === false && isset($this->invokableClasses[$cName])) {
             $instance = $this->createFromInvokable($cName, $rName);
         }
 
-        if (!$instance && $this->canCreateFromAbstractFactory($cName, $rName)) {
+        if ($instance === false && $this->canCreateFromAbstractFactory($cName, $rName)) {
             $instance = $this->createFromAbstractFactory($cName, $rName);
         }
 
diff --git a/vendor/ZF2/library/Zend/ServiceManager/composer.json b/vendor/ZF2/library/Zend/ServiceManager/composer.json
index 0382d5d5eb1..87028177372 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/composer.json
+++ b/vendor/ZF2/library/Zend/ServiceManager/composer.json
@@ -17,5 +17,11 @@
     },
     "suggest": {
         "zendframework/zend-di": "Zend\\Di component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/AbstractContainer.php b/vendor/ZF2/library/Zend/Session/AbstractContainer.php
index ef9d419a22a..68f8740cc01 100644
--- a/vendor/ZF2/library/Zend/Session/AbstractContainer.php
+++ b/vendor/ZF2/library/Zend/Session/AbstractContainer.php
@@ -198,7 +198,7 @@ abstract class AbstractContainer extends ArrayObject
             }
             $storage[$name] = $this->createContainer();
         }
-        if (!is_array($storage[$name]) && !$storage[$name] instanceof ArrayObject) {
+        if (!is_array($storage[$name]) && !$storage[$name] instanceof Traversable) {
             throw new Exception\RuntimeException('Container cannot write to storage due to type mismatch');
         }
 
@@ -456,8 +456,16 @@ abstract class AbstractContainer extends ArrayObject
      * @return array        Returns the old array
      * @see ArrayObject::exchangeArray()
      */
-    protected function exchangeArrayCompat($input)
+    public function exchangeArray($input)
     {
+        // handle arrayobject, iterators and the like:
+        if (is_object($input) && ($input instanceof ArrayObject || $input instanceof \ArrayObject)) {
+            $input = $input->getArrayCopy();
+        }
+        if (!is_array($input)) {
+            $input = (array) $input;
+        }
+
         $storage = $this->verifyNamespace();
         $name    = $this->getName();
 
@@ -484,6 +492,7 @@ abstract class AbstractContainer extends ArrayObject
         if ($container instanceof Traversable) {
             return $container;
         }
+
         return new ArrayIterator($container);
     }
 
diff --git a/vendor/ZF2/library/Zend/Session/Container.php b/vendor/ZF2/library/Zend/Session/Container.php
index d10c54b5825..ceb28f3a95b 100644
--- a/vendor/ZF2/library/Zend/Session/Container.php
+++ b/vendor/ZF2/library/Zend/Session/Container.php
@@ -19,18 +19,6 @@ namespace Zend\Session;
  */
 class Container extends AbstractContainer
 {
-    /**
-     * Exchange the current array with another array or object.
-     *
-     * @param  array|object $input
-     * @return array        Returns the old array
-     * @see ArrayObject::exchangeArray()
-     */
-    public function exchangeArray(array $input)
-    {
-        return parent::exchangeArrayCompat($input);
-    }
-
     /**
      * Retrieve a specific key in the container
      *
diff --git a/vendor/ZF2/library/Zend/Session/README.md b/vendor/ZF2/library/Zend/Session/README.md
new file mode 100644
index 00000000000..28cde0d5895
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Session/README.md
@@ -0,0 +1,15 @@
+Session Component from ZF2
+==========================
+
+This is the Session component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php b/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php
index 9831d906ba5..aad7dfdbb6a 100644
--- a/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php
+++ b/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php
@@ -73,7 +73,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $database
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setDatabase($database)
     {
@@ -100,7 +100,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $collection
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setCollection($collection)
     {
@@ -150,7 +150,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $nameField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setNameField($nameField)
     {
@@ -177,7 +177,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $dataField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setDataField($dataField)
     {
@@ -204,7 +204,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $lifetimeField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setLifetimeField($lifetimeField)
     {
@@ -231,7 +231,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $modifiedField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setModifiedField($modifiedField)
     {
diff --git a/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php b/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php
index d45141521ff..4efff64a631 100644
--- a/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php
+++ b/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php
@@ -22,11 +22,7 @@ class SessionArrayStorage extends AbstractSessionArrayStorage
      */
     public function &__get($key)
     {
-        if (isset($_SESSION[$key])) {
-            return $_SESSION[$key];
-        }
-
-        return null;
+        return $_SESSION[$key];
     }
 
     /**
@@ -37,10 +33,6 @@ class SessionArrayStorage extends AbstractSessionArrayStorage
      */
     public function &offsetGet($key)
     {
-        if (isset($_SESSION[$key])) {
-            return $_SESSION[$key];
-        }
-
-        return null;
+        return $_SESSION[$key];
     }
 }
diff --git a/vendor/ZF2/library/Zend/Session/compatibility/Container.php b/vendor/ZF2/library/Zend/Session/compatibility/Container.php
index f887b47e631..0ad57524bcb 100644
--- a/vendor/ZF2/library/Zend/Session/compatibility/Container.php
+++ b/vendor/ZF2/library/Zend/Session/compatibility/Container.php
@@ -14,15 +14,4 @@ namespace Zend\Session;
  */
 class Container extends AbstractContainer
 {
-    /**
-     * Exchange the current array with another array or object.
-     *
-     * @param  array|object $input
-     * @return array        Returns the old array
-     * @see ArrayObject::exchangeArray()
-     */
-    public function exchangeArray($input)
-    {
-        return parent::exchangeArrayCompat($input);
-    }
 }
diff --git a/vendor/ZF2/library/Zend/Session/compatibility/autoload.php b/vendor/ZF2/library/Zend/Session/compatibility/autoload.php
index c724caffb6b..9eabad4ec88 100644
--- a/vendor/ZF2/library/Zend/Session/compatibility/autoload.php
+++ b/vendor/ZF2/library/Zend/Session/compatibility/autoload.php
@@ -1,5 +1,5 @@
 <?php
-if (version_compare(PHP_VERSION, '5.3.3', 'le')) {
+if (version_compare(PHP_VERSION, '5.3.4', 'lt')) {
     require_once __DIR__ . '/Container.php';
     require_once __DIR__ . '/Storage/SessionArrayStorage.php';
 }
diff --git a/vendor/ZF2/library/Zend/Session/composer.json b/vendor/ZF2/library/Zend/Session/composer.json
index db4f8b96f61..a6034b3b5bf 100644
--- a/vendor/ZF2/library/Zend/Session/composer.json
+++ b/vendor/ZF2/library/Zend/Session/composer.json
@@ -11,7 +11,7 @@
             "Zend\\Session\\": ""
         },
         "files": [
-            "compatibility/autoload.php"
+            "Zend/Session/compatibility/autoload.php"
         ]
     },
     "target-dir": "Zend/Session",
@@ -22,5 +22,11 @@
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zend-eventmanager": "Zend\\EventManager component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Soap/README.md b/vendor/ZF2/library/Zend/Soap/README.md
new file mode 100644
index 00000000000..63fd42c5e14
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Soap/README.md
@@ -0,0 +1,15 @@
+SOAP Component from ZF2
+=======================
+
+This is the SOAP component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Soap/composer.json b/vendor/ZF2/library/Zend/Soap/composer.json
index 777a0a5e52d..4cce72a7f8c 100644
--- a/vendor/ZF2/library/Zend/Soap/composer.json
+++ b/vendor/ZF2/library/Zend/Soap/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-server": "self.version",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-uri": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php b/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php
index 98f3a09bdb9..1cb37060858 100644
--- a/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php
+++ b/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php
@@ -178,11 +178,22 @@ class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Count
     /**
      * Exchange the array for another one.
      *
-     * @param  array $data
+     * @param  array|ArrayObject $data
      * @return array
      */
-    public function exchangeArray(array $data)
+    public function exchangeArray($data)
     {
+        if (!is_array($data) && !is_object($data)) {
+            throw new Exception\InvalidArgumentException('Passed variable is not an array or object, using empty array instead');
+        }
+
+        if (is_object($data) && ($data instanceof ArrayObject || $data instanceof \ArrayObject)) {
+            $data = $data->getArrayCopy();
+        }
+        if (!is_array($data)) {
+            $data = (array) $data;
+        }
+
         $storage = $this->storage;
 
         $this->storage = $data;
@@ -213,7 +224,7 @@ class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Count
     /**
      * Create a new iterator from an ArrayObject instance
      *
-     * @return Iterator
+     * @return \Iterator
      */
     public function getIterator()
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
index 5d62edc8551..b7af0d2b1eb 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
@@ -158,7 +158,7 @@ abstract class AbstractHydrator implements HydratorInterface, StrategyEnabledInt
      * </code>
      *
      * @param string $name Index in the composite
-     * @param callable|Zend\Stdlib\Hydrator\Filter\FilterInterface $filter
+     * @param callable|Filter\FilterInterface $filter
      * @param int $condition
      * @return Filter\FilterComposite
      */
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php
index 640f6e8e282..c9e2dd5a35a 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php
@@ -32,6 +32,7 @@ class NumberOfParameterFilter implements FilterInterface
 
     /**
      * @param string $property the name of the property
+     * @return bool
      * @throws InvalidArgumentException
      */
     public function filter($property)
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php
index 868fea543eb..d4a90d52131 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php
@@ -65,7 +65,7 @@ class SerializableStrategy implements StrategyInterface
      * Set serializer
      *
      * @param  string|SerializerAdapter $serializer
-     * @return Serializer
+     * @return SerializableStrategy
      */
     public function setSerializer($serializer)
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/README.md b/vendor/ZF2/library/Zend/Stdlib/README.md
new file mode 100644
index 00000000000..a2dcb84191c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Stdlib/README.md
@@ -0,0 +1,15 @@
+Stdlib Component from ZF2
+=========================
+
+This is the Stdlib component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php
index 948b77513c7..ce1b149e3eb 100644
--- a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php
+++ b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php
@@ -30,8 +30,9 @@ abstract class AbstractStringWrapper implements StringWrapperInterface
      * Check if the given character encoding is supported by this wrapper
      * and the character encoding to convert to is also supported.
      *
-     * @param string      $encoding
-     * @param string|null $convertEncoding
+     * @param  string      $encoding
+     * @param  string|null $convertEncoding
+     * @return bool
      */
     public static function isSupported($encoding, $convertEncoding = null)
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php
index 505109880fa..978b731118d 100644
--- a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php
+++ b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php
@@ -26,8 +26,9 @@ class Native extends AbstractStringWrapper
      * Check if the given character encoding is supported by this wrapper
      * and the character encoding to convert to is also supported.
      *
-     * @param string      $encoding
-     * @param string|null $convertEncoding
+     * @param  string      $encoding
+     * @param  string|null $convertEncoding
+     * @return bool
      */
     public static function isSupported($encoding, $convertEncoding = null)
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php b/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php
index e0b13a781c6..8141ab34bc8 100644
--- a/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php
+++ b/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php
@@ -1,4 +1,4 @@
 <?php
-if (version_compare(PHP_VERSION, '5.3.3', 'le')) {
+if (version_compare(PHP_VERSION, '5.3.4', 'lt')) {
     require_once __DIR__ . '/ArrayObject.php';
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/composer.json b/vendor/ZF2/library/Zend/Stdlib/composer.json
index 662aff2a177..017b1ca8254 100644
--- a/vendor/ZF2/library/Zend/Stdlib/composer.json
+++ b/vendor/ZF2/library/Zend/Stdlib/composer.json
@@ -11,7 +11,7 @@
             "Zend\\Stdlib\\": ""
         },
         "files": [
-            "compatibility/autoload.php"
+            "Zend/Stdlib/compatibility/autoload.php"
         ]
     },
     "target-dir": "Zend/Stdlib",
@@ -20,5 +20,11 @@
     },
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Tag/README.md b/vendor/ZF2/library/Zend/Tag/README.md
new file mode 100644
index 00000000000..ca9eb4f3c77
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Tag/README.md
@@ -0,0 +1,15 @@
+Tag Component from ZF2
+======================
+
+This is the Tag component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Tag/composer.json b/vendor/ZF2/library/Zend/Tag/composer.json
index 34e7b51ae44..8f340ad5d28 100644
--- a/vendor/ZF2/library/Zend/Tag/composer.json
+++ b/vendor/ZF2/library/Zend/Tag/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-escaper": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
index 6e7dcbdb2fc..2a0f37d0232 100644
--- a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
+++ b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
@@ -105,6 +105,7 @@ abstract class AbstractControllerTestCase extends PHPUnit_Framework_TestCase
     /**
      * Set the application config
      * @param  array $applicationConfig
+     * @return AbstractControllerTestCase
      * @throws LogicException
      */
     public function setApplicationConfig($applicationConfig)
diff --git a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
index a2fd752ad80..5519277cfac 100644
--- a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
+++ b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
@@ -125,7 +125,7 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
      */
     public function assertResponseHeaderRegex($header, $pattern)
     {
-        $responseHeader = $this->getResponseHeader($header);;
+        $responseHeader = $this->getResponseHeader($header);
         if (!$responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response header, header "%s" do not exists', $header
diff --git a/vendor/ZF2/library/Zend/Test/README.md b/vendor/ZF2/library/Zend/Test/README.md
new file mode 100644
index 00000000000..73f66998282
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Test/README.md
@@ -0,0 +1,15 @@
+Test Component from ZF2
+=======================
+
+This is the Test component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Test/composer.json b/vendor/ZF2/library/Zend/Test/composer.json
index 2ea2af94c9d..3b6e386f6ae 100644
--- a/vendor/ZF2/library/Zend/Test/composer.json
+++ b/vendor/ZF2/library/Zend/Test/composer.json
@@ -23,5 +23,11 @@
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-uri": "self.version",
         "zendframework/zend-view": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Text/README.md b/vendor/ZF2/library/Zend/Text/README.md
new file mode 100644
index 00000000000..d74bb0cb37c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Text/README.md
@@ -0,0 +1,15 @@
+Text Component from ZF2
+=======================
+
+This is the Text component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Text/composer.json b/vendor/ZF2/library/Zend/Text/composer.json
index ed434962b05..21b77a2bc21 100644
--- a/vendor/ZF2/library/Zend/Text/composer.json
+++ b/vendor/ZF2/library/Zend/Text/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-servicemanager": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Uri/README.md b/vendor/ZF2/library/Zend/Uri/README.md
new file mode 100644
index 00000000000..334047d4536
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Uri/README.md
@@ -0,0 +1,15 @@
+URI Component from ZF2
+======================
+
+This is the URI component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Uri/composer.json b/vendor/ZF2/library/Zend/Uri/composer.json
index 82dedad0438..a9bbcd4e5bd 100644
--- a/vendor/ZF2/library/Zend/Uri/composer.json
+++ b/vendor/ZF2/library/Zend/Uri/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-escaper": "self.version",
         "zendframework/zend-validator": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
index be031d50e90..d07213698fb 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
@@ -18,7 +18,7 @@ class Code128 extends AbstractAdapter
     /**
      * The used string wrapper used for basic UTF-8 string functions
      *
-     * @var SrtringWrapperInterface
+     * @var StringWrapperInterface
      */
     protected $utf8StringWrapper;
 
diff --git a/vendor/ZF2/library/Zend/Validator/CreditCard.php b/vendor/ZF2/library/Zend/Validator/CreditCard.php
index aa8458c0a7d..9867e56b62d 100644
--- a/vendor/ZF2/library/Zend/Validator/CreditCard.php
+++ b/vendor/ZF2/library/Zend/Validator/CreditCard.php
@@ -51,7 +51,7 @@ class CreditCard extends AbstractValidator
         self::INVALID        => "Invalid type given. String expected",
         self::LENGTH         => "The input contains an invalid amount of digits",
         self::PREFIX         => "The input is not from an allowed institute",
-        self::SERVICE        => "The input seems to be an invalid creditcard number",
+        self::SERVICE        => "The input seems to be an invalid credit card number.",
         self::SERVICEFAILURE => "An exception has been raised while validating the input",
     );
 
diff --git a/vendor/ZF2/library/Zend/Validator/File/Count.php b/vendor/ZF2/library/Zend/Validator/File/Count.php
index ff4b89d54f4..26a48edf259 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Count.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Count.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_Validator
  */
 
 namespace Zend\Validator\File;
@@ -16,8 +15,6 @@ use Zend\Validator\Exception;
 /**
  * Validator for counting all given files
  *
- * @category  Zend
- * @package   Zend_Validator
  */
 class Count extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Crc32.php b/vendor/ZF2/library/Zend/Validator/File/Crc32.php
index 728f9bd3b6d..32199d38cdf 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Crc32.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Crc32.php
@@ -80,11 +80,16 @@ class Crc32 extends Hash
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string|array $value Filename to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php b/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
index ee69001c48a..d7442921595 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
@@ -35,11 +35,16 @@ class ExcludeExtension extends Extension
      * set extension list
      *
      * @param  string|array $value Real file to check for extension
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php b/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
index 8e86c106d4b..942c7c4f44c 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
@@ -27,11 +27,17 @@ class ExcludeMimeType extends MimeType
      * mime types will not be accepted like "image/gif", "image/jpeg" and so on.
      *
      * @param  string|array $value Real file to check for mimetype
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $filetype = $file['type'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name']) || !isset($value['type'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Exists.php b/vendor/ZF2/library/Zend/Validator/File/Exists.php
index 4c7362a87d2..bd84320ca50 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Exists.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Exists.php
@@ -139,11 +139,17 @@ class Exists extends AbstractValidator
      * Returns true if and only if the file already exists in the set directories
      *
      * @param  string|array $value Real file to check for existence
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+            $this->setValue($filename);
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Extension.php b/vendor/ZF2/library/Zend/Validator/File/Extension.php
index c13286f9b55..6854762c310 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Extension.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Extension.php
@@ -171,11 +171,16 @@ class Extension extends AbstractValidator
      * set extension list
      *
      * @param  string|array $value Real file to check for extension
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/FilesSize.php b/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
index 33fa1c88c8a..84e39145f95 100644
--- a/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
+++ b/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_Validator
  */
 
 namespace Zend\Validator\File;
@@ -18,8 +17,6 @@ use Zend\Validator\Exception;
 /**
  * Validator for the size of all files which will be validated in sum
  *
- * @category  Zend
- * @package   Zend_Validator
  */
 class FilesSize extends Size
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Hash.php b/vendor/ZF2/library/Zend/Validator/File/Hash.php
index fb9dd1abcd1..fff47a92c87 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Hash.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Hash.php
@@ -124,11 +124,16 @@ class Hash extends AbstractValidator
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string|array $value File to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/ImageSize.php b/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
index 570a0c4870d..7788434e52c 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
@@ -319,11 +319,16 @@ class ImageSize extends AbstractValidator
      * not bigger than max
      *
      * @param  string|array $value Real file to check for image size
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php b/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
index 63bb09a1615..d80af4e72e9 100644
--- a/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
+++ b/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
@@ -79,10 +79,14 @@ class IsCompressed extends MimeType
             $options = ArrayUtils::iteratorToArray($options);
         }
 
-        if (empty($options)) {
-            $options = array('mimeType' => $default);
+        if ($options === null) {
+            $options = array();
         }
 
         parent::__construct($options);
+
+        if (!$this->getMimeType()) {
+            $this->setMimeType($default);
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Validator/File/IsImage.php b/vendor/ZF2/library/Zend/Validator/File/IsImage.php
index 7946b1e70e4..0f0e02a6260 100644
--- a/vendor/ZF2/library/Zend/Validator/File/IsImage.php
+++ b/vendor/ZF2/library/Zend/Validator/File/IsImage.php
@@ -104,10 +104,14 @@ class IsImage extends MimeType
             $options = ArrayUtils::iteratorToArray($options);
         }
 
-        if (empty($options)) {
-            $options = array('mimeType' => $default);
+        if ($options === null) {
+            $options = array();
         }
 
         parent::__construct($options);
+
+        if (!$this->getMimeType()) {
+            $this->setMimeType($default);
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Validator/File/Md5.php b/vendor/ZF2/library/Zend/Validator/File/Md5.php
index e5bb29466f9..028a5cf9eab 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Md5.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Md5.php
@@ -28,7 +28,7 @@ class Md5 extends Hash
      */
     protected $messageTemplates = array(
         self::DOES_NOT_MATCH => "File does not match the given md5 hashes",
-        self::NOT_DETECTED   => "A md5 hash could not be evaluated for the given file",
+        self::NOT_DETECTED   => "An md5 hash could not be evaluated for the given file",
         self::NOT_FOUND      => "File is not readable or does not exist",
     );
 
@@ -80,11 +80,16 @@ class Md5 extends Hash
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string|array $value Filename to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/MimeType.php b/vendor/ZF2/library/Zend/Validator/File/MimeType.php
index ee6241c2e51..c565b1e5d44 100644
--- a/vendor/ZF2/library/Zend/Validator/File/MimeType.php
+++ b/vendor/ZF2/library/Zend/Validator/File/MimeType.php
@@ -342,11 +342,17 @@ class MimeType extends AbstractValidator
      * mime types will be accepted like "image/gif", "image/jpeg" and so on.
      *
      * @param  string|array $value Real file to check for mimetype
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $filetype = $file['type'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name']) || !isset($value['type'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/NotExists.php b/vendor/ZF2/library/Zend/Validator/File/NotExists.php
index 5994ff23d45..df13531d8d2 100644
--- a/vendor/ZF2/library/Zend/Validator/File/NotExists.php
+++ b/vendor/ZF2/library/Zend/Validator/File/NotExists.php
@@ -32,11 +32,17 @@ class NotExists extends Exists
      * Returns true if and only if the file does not exist in the set destinations
      *
      * @param  string|array $value Real file to check for existence
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+            $this->setValue($filename);
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Sha1.php b/vendor/ZF2/library/Zend/Validator/File/Sha1.php
index 5f6d30bc871..9f29615640b 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Sha1.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Sha1.php
@@ -80,11 +80,16 @@ class Sha1 extends Hash
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string $value|array Filename to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Size.php b/vendor/ZF2/library/Zend/Validator/File/Size.php
index 8b3a6f4c057..eca157df657 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Size.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Size.php
@@ -229,11 +229,16 @@ class Size extends AbstractValidator
      * not bigger than max (when max is not null).
      *
      * @param  string|array $value File to check for size
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Upload.php b/vendor/ZF2/library/Zend/Validator/File/Upload.php
index b62609b5b34..b3cd005ba97 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Upload.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Upload.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_Validator
  */
 
 namespace Zend\Validator\File;
@@ -16,8 +15,6 @@ use Zend\Validator\Exception;
 /**
  * Validator for the maximum size of a file up to a max of 2GB
  *
- * @category  Zend
- * @package   Zend_Validator
  */
 class Upload extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/UploadFile.php b/vendor/ZF2/library/Zend/Validator/File/UploadFile.php
index 2aa6fa267f9..f5c4e036c4a 100644
--- a/vendor/ZF2/library/Zend/Validator/File/UploadFile.php
+++ b/vendor/ZF2/library/Zend/Validator/File/UploadFile.php
@@ -77,37 +77,37 @@ class UploadFile extends AbstractValidator
         }
 
         switch ($error) {
-            case 0:
+            case UPLOAD_ERR_OK:
                 if (!is_uploaded_file($file)) {
                     $this->error(self::ATTACK);
                 }
                 break;
 
-            case 1:
+            case UPLOAD_ERR_INI_SIZE:
                 $this->error(self::INI_SIZE);
                 break;
 
-            case 2:
+            case UPLOAD_ERR_FORM_SIZE:
                 $this->error(self::FORM_SIZE);
                 break;
 
-            case 3:
+            case UPLOAD_ERR_PARTIAL:
                 $this->error(self::PARTIAL);
                 break;
 
-            case 4:
+            case UPLOAD_ERR_NO_FILE:
                 $this->error(self::NO_FILE);
                 break;
 
-            case 6:
+            case UPLOAD_ERR_NO_TMP_DIR:
                 $this->error(self::NO_TMP_DIR);
                 break;
 
-            case 7:
+            case UPLOAD_ERR_CANT_WRITE:
                 $this->error(self::CANT_WRITE);
                 break;
 
-            case 8:
+            case UPLOAD_ERR_EXTENSION:
                 $this->error(self::EXTENSION);
                 break;
 
diff --git a/vendor/ZF2/library/Zend/Validator/File/WordCount.php b/vendor/ZF2/library/Zend/Validator/File/WordCount.php
index 3e79b5d22d0..2d0223bdcbd 100644
--- a/vendor/ZF2/library/Zend/Validator/File/WordCount.php
+++ b/vendor/ZF2/library/Zend/Validator/File/WordCount.php
@@ -28,7 +28,7 @@ class WordCount extends AbstractValidator
      * @var array Error message templates
      */
     protected $messageTemplates = array(
-        self::TOO_MUCH => "Too much words, maximum '%max%' are allowed but '%count%' were counted",
+        self::TOO_MUCH => "Too many words, maximum '%max%' are allowed but '%count%' were counted.",
         self::TOO_LESS => "Too less words, minimum '%min%' are expected but '%count%' were counted",
         self::NOT_FOUND => "File is not readable or does not exist",
     );
@@ -166,12 +166,17 @@ class WordCount extends AbstractValidator
      * Returns true if and only if the counted words are at least min and
      * not bigger than max (when max is not null).
      *
-     * @param  string $value|array Filename to check for word count
+     * @param  string|array $value Filename to check for word count
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/Identical.php b/vendor/ZF2/library/Zend/Validator/Identical.php
index d4b6300a895..f2cec5ee9ad 100644
--- a/vendor/ZF2/library/Zend/Validator/Identical.php
+++ b/vendor/ZF2/library/Zend/Validator/Identical.php
@@ -87,7 +87,7 @@ class Identical extends AbstractValidator
      */
     public function setToken($token)
     {
-        $this->tokenString = (is_array($token) ? implode($token) : (string) $token);
+        $this->tokenString = (is_array($token) ? var_export($token, true) : (string) $token);
         $this->token       = $token;
         return $this;
     }
@@ -121,15 +121,41 @@ class Identical extends AbstractValidator
      * @param  mixed $value
      * @param  array $context
      * @return bool
+     * @throws Exception\RuntimeException if the token doesn't exist in the context array
      */
     public function isValid($value, $context = null)
     {
         $this->setValue($value);
 
-        if (($context !== null) && isset($context) && array_key_exists($this->getToken(), $context)) {
-            $token = $context[$this->getToken()];
-        } else {
-            $token = $this->getToken();
+        $token = $this->getToken();
+
+        if ($context !== null) {
+            if (!is_array($context)) {
+                throw new Exception\InvalidArgumentException(sprintf(
+                    'Context passed to %s must be an array or null; received "%s"',
+                    __METHOD__,
+                    (is_object($context) ? get_class($context) : gettype($context))
+                ));
+            }
+
+            if (is_array($token)) {
+                while (is_array($token)){
+                    $key = key($token);
+                    if (!isset($context[$key])) {
+                        break;
+                    }
+                    $context = $context[$key];
+                    $token   = $token[$key];
+                }
+            }
+
+            // if $token is an array it means the above loop didn't went all the way down to the leaf,
+            // so the $token structure doesn't match the $context structure
+            if (is_array($token) || !isset($context[$token])) {
+                throw new Exception\RuntimeException("The token doesn't exist in the context");
+            } else {
+                $token = $context[$token];
+            }
         }
 
         if ($token === null) {
diff --git a/vendor/ZF2/library/Zend/Validator/README.md b/vendor/ZF2/library/Zend/Validator/README.md
new file mode 100644
index 00000000000..a402c2e366b
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Validator/README.md
@@ -0,0 +1,15 @@
+Validator Component from ZF2
+============================
+
+This is the Validator component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Validator/composer.json b/vendor/ZF2/library/Zend/Validator/composer.json
index e2a0bffed04..693c1b1912a 100644
--- a/vendor/ZF2/library/Zend/Validator/composer.json
+++ b/vendor/ZF2/library/Zend/Validator/composer.json
@@ -24,5 +24,11 @@
     "suggest": {
         "zendframework/zend-db": "Zend\\Db component",
         "zendframework/zend-math": "Zend\\Math component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Version/README.md b/vendor/ZF2/library/Zend/Version/README.md
new file mode 100644
index 00000000000..98e86bb4656
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Version/README.md
@@ -0,0 +1,15 @@
+Version Component from ZF2
+==========================
+
+This is the Version component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Version/Version.php b/vendor/ZF2/library/Zend/Version/Version.php
index 4ebf7ee94dd..06947637720 100644
--- a/vendor/ZF2/library/Zend/Version/Version.php
+++ b/vendor/ZF2/library/Zend/Version/Version.php
@@ -19,7 +19,7 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.1.1';
+    const VERSION = '2.1.2';
 
     /**
      * Github Service Identifier for version information is retreived from
diff --git a/vendor/ZF2/library/Zend/Version/composer.json b/vendor/ZF2/library/Zend/Version/composer.json
index bb8c3dfd195..7dce27611fc 100644
--- a/vendor/ZF2/library/Zend/Version/composer.json
+++ b/vendor/ZF2/library/Zend/Version/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Version",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php b/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php
index 7500a3ed2fa..9806aac61f8 100644
--- a/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php
+++ b/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php
@@ -56,7 +56,7 @@ class FlashMessenger extends AbstractTranslatorHelper implements ServiceLocatorA
     /**
      * Returns the flash messenger plugin controller
      *
-     * @return FlashMessenger|FlashMessenger\Controller\Plugin\FlashMessenger
+     * @return FlashMessenger|PluginFlashMessenger
      */
     public function __invoke($namespace = null)
     {
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation.php b/vendor/ZF2/library/Zend/View/Helper/Navigation.php
index f77caffca03..b0185427999 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation.php
@@ -182,12 +182,14 @@ class Navigation extends AbstractNavigationHelper
             return false;
         }
 
-        $helper = $plugins->get($proxy);
-        $class  = get_class($helper);
+        $helper    = $plugins->get($proxy);
+        $container = $this->getContainer();
+        $hash      = spl_object_hash($container);
 
-        if (!isset($this->injected[$class])) {
+        if (!isset($this->injected[$hash])) {
+            $helper->setContainer();
             $this->inject($helper);
-            $this->injected[$class] = true;
+            $this->injected[$hash] = true;
         }
 
         return $helper;
diff --git a/vendor/ZF2/library/Zend/View/README.md b/vendor/ZF2/library/Zend/View/README.md
new file mode 100644
index 00000000000..ec19b2c016d
--- /dev/null
+++ b/vendor/ZF2/library/Zend/View/README.md
@@ -0,0 +1,15 @@
+View Component from ZF2
+=======================
+
+This is the View component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php b/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
index b5f88b58e4a..60a1952040e 100644
--- a/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
+++ b/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
@@ -84,7 +84,7 @@ class JsonRenderer implements Renderer, TreeRendererInterface
      * Set the JSONP callback function name
      *
      * @param  string $callback
-     * @return JsonpModel
+     * @return JsonRenderer
      */
     public function setJsonpCallback($callback)
     {
@@ -130,6 +130,8 @@ class JsonRenderer implements Renderer, TreeRendererInterface
         // Serialize variables in view model
         if ($nameOrModel instanceof Model) {
             if ($nameOrModel instanceof JsonModel) {
+                $children = $this->recurseModel($nameOrModel, false);
+                $this->injectChildren($nameOrModel, $children);
                 $values = $nameOrModel->serialize();
             } else {
                 $values = $this->recurseModel($nameOrModel);
@@ -183,11 +185,17 @@ class JsonRenderer implements Renderer, TreeRendererInterface
      * Retrieve values from a model and recurse its children to build a data structure
      *
      * @param  Model $model
+     * @param  bool $mergeWithVariables Whether or not to merge children with
+     *         the variables of the $model
      * @return array
      */
-    protected function recurseModel(Model $model)
+    protected function recurseModel(Model $model, $mergeWithVariables = true)
     {
-        $values = $model->getVariables();
+        $values = array();
+        if ($mergeWithVariables) {
+            $values = $model->getVariables();
+        }
+
         if ($values instanceof Traversable) {
             $values = ArrayUtils::iteratorToArray($values);
         }
@@ -207,7 +215,8 @@ class JsonRenderer implements Renderer, TreeRendererInterface
             $childValues = $this->recurseModel($child);
             if ($captureTo) {
                 // Capturing to a specific key
-                //TODO please complete if append is true. must change old value to array and append to array?
+                // TODO please complete if append is true. must change old
+                // value to array and append to array?
                 $values[$captureTo] = $childValues;
             } elseif ($mergeChildren) {
                 // Merging values with parent
@@ -216,4 +225,19 @@ class JsonRenderer implements Renderer, TreeRendererInterface
         }
         return $values;
     }
+
+    /**
+     * Inject discovered child model values into parent model
+     *
+     * @todo   detect collisions and decide whether to append and/or aggregate?
+     * @param  Model $model
+     * @param  array $children
+     */
+    protected function injectChildren(Model $model, array $children)
+    {
+        foreach ($children as $child => $value) {
+            // TODO detect collisions and decide whether to append and/or aggregate?
+            $model->setVariable($child, $value);
+        }
+    }
 }
diff --git a/vendor/ZF2/library/Zend/View/composer.json b/vendor/ZF2/library/Zend/View/composer.json
index 8f7d523b4e9..bb22db9ebcb 100644
--- a/vendor/ZF2/library/Zend/View/composer.json
+++ b/vendor/ZF2/library/Zend/View/composer.json
@@ -20,5 +20,11 @@
     },
     "suggest": {
         "zendframework/zend-filter": "Zend\\Filter component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/XmlRpc/README.md b/vendor/ZF2/library/Zend/XmlRpc/README.md
new file mode 100644
index 00000000000..f003296a435
--- /dev/null
+++ b/vendor/ZF2/library/Zend/XmlRpc/README.md
@@ -0,0 +1,15 @@
+XML-RPC Component from ZF2
+==========================
+
+This is the XML-RPC component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/XmlRpc/composer.json b/vendor/ZF2/library/Zend/XmlRpc/composer.json
index a0dea8e464c..65aa363c04c 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/composer.json
+++ b/vendor/ZF2/library/Zend/XmlRpc/composer.json
@@ -18,5 +18,11 @@
         "zendframework/zend-math": "self.version",
         "zendframework/zend-server": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/resources/languages/ar/Zend_Captcha.php b/vendor/ZF2/resources/languages/ar/Zend_Captcha.php
index 3bdf2c33f6b..03bb216050a 100644
--- a/vendor/ZF2/resources/languages/ar/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/ar/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/ar/Zend_Validate.php b/vendor/ZF2/resources/languages/ar/Zend_Validate.php
index 8fa2fed4340..93d0b875ef8 100644
--- a/vendor/ZF2/resources/languages/ar/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/ar/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/bg/Zend_Captcha.php b/vendor/ZF2/resources/languages/bg/Zend_Captcha.php
index 0952b26bf94..1395f691d62 100644
--- a/vendor/ZF2/resources/languages/bg/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/bg/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/bg/Zend_Validate.php b/vendor/ZF2/resources/languages/bg/Zend_Validate.php
index 439a4d01764..a6936a0397e 100644
--- a/vendor/ZF2/resources/languages/bg/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/bg/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/cs/Zend_Captcha.php b/vendor/ZF2/resources/languages/cs/Zend_Captcha.php
index b3b6be4ca27..b44a9b7dfe6 100644
--- a/vendor/ZF2/resources/languages/cs/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/cs/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/cs/Zend_Validate.php b/vendor/ZF2/resources/languages/cs/Zend_Validate.php
index a2a7fbc2722..ef7ae698ea3 100644
--- a/vendor/ZF2/resources/languages/cs/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/cs/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/de/Zend_Captcha.php b/vendor/ZF2/resources/languages/de/Zend_Captcha.php
index dd04f68588a..7397cb1e823 100644
--- a/vendor/ZF2/resources/languages/de/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/de/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/de/Zend_Validate.php b/vendor/ZF2/resources/languages/de/Zend_Validate.php
index 6687ceb19ca..1199dd869bb 100644
--- a/vendor/ZF2/resources/languages/de/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/de/Zend_Validate.php
@@ -10,9 +10,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/en/Zend_Captcha.php b/vendor/ZF2/resources/languages/en/Zend_Captcha.php
index 21b5a72bf10..fd5a92a3b14 100644
--- a/vendor/ZF2/resources/languages/en/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/en/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/en/Zend_Validate.php b/vendor/ZF2/resources/languages/en/Zend_Validate.php
index fcd5bbc40ea..45ccfbd6288 100644
--- a/vendor/ZF2/resources/languages/en/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/en/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/es/Zend_Validate.php b/vendor/ZF2/resources/languages/es/Zend_Validate.php
index 725e94e7907..8c5ef6e6607 100644
--- a/vendor/ZF2/resources/languages/es/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/es/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/fi/Zend_Validate.php b/vendor/ZF2/resources/languages/fi/Zend_Validate.php
index c8f36a47bdc..832d9070a54 100644
--- a/vendor/ZF2/resources/languages/fi/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/fi/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/fr/Zend_Captcha.php b/vendor/ZF2/resources/languages/fr/Zend_Captcha.php
index d68819a0856..8e8ef73d7e9 100644
--- a/vendor/ZF2/resources/languages/fr/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/fr/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/fr/Zend_Validate.php b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
index 068452a65fd..08d6a6c0f77 100644
--- a/vendor/ZF2/resources/languages/fr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/hr/Zend_Validate.php b/vendor/ZF2/resources/languages/hr/Zend_Validate.php
index a086e4525fb..a81b2b9c89d 100644
--- a/vendor/ZF2/resources/languages/hr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/hr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/it/Zend_Captcha.php b/vendor/ZF2/resources/languages/it/Zend_Captcha.php
index ad52b93d255..797c1521dba 100644
--- a/vendor/ZF2/resources/languages/it/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/it/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/it/Zend_Validate.php b/vendor/ZF2/resources/languages/it/Zend_Validate.php
index 1d14119ce0e..d8804ef94be 100644
--- a/vendor/ZF2/resources/languages/it/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/it/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/ja/Zend_Validate.php b/vendor/ZF2/resources/languages/ja/Zend_Validate.php
index 6f7f10b7218..fc494368774 100644
--- a/vendor/ZF2/resources/languages/ja/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/ja/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/nl/Zend_Validate.php b/vendor/ZF2/resources/languages/nl/Zend_Validate.php
index f2333fef5f2..92acdb27afb 100644
--- a/vendor/ZF2/resources/languages/nl/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/nl/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/no/Zend_Captcha.php b/vendor/ZF2/resources/languages/no/Zend_Captcha.php
index 4b81ac596d2..9bae46b1f8a 100644
--- a/vendor/ZF2/resources/languages/no/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/no/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/no/Zend_Validate.php b/vendor/ZF2/resources/languages/no/Zend_Validate.php
index f2f3d657dde..6ae35616f0e 100644
--- a/vendor/ZF2/resources/languages/no/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/no/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
@@ -230,7 +227,7 @@ return array(
     "'%value%' is not less than '%max%'" => "'%value%' er ikke mindre enn '%max%'",
 
     // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "Ugyldig type gitt. Forventet streng, heltall, flyt-tall, boolean eller matrise", 
+    "Invalid type given. String, integer, float, boolean or array expected" => "Ugyldig type gitt. Forventet streng, heltall, flyt-tall, boolean eller matrise",
     "Value is required and can't be empty" => "Verdi er påkrevd, og kan ikke være tomt",
 
     // Zend_Validate_PostCode
diff --git a/vendor/ZF2/resources/languages/pl/Zend_Validate.php b/vendor/ZF2/resources/languages/pl/Zend_Validate.php
index 80ea581924f..384442cec49 100644
--- a/vendor/ZF2/resources/languages/pl/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/pl/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/pt_BR/Zend_Captcha.php b/vendor/ZF2/resources/languages/pt_BR/Zend_Captcha.php
new file mode 100644
index 00000000000..06ab6c1ab18
--- /dev/null
+++ b/vendor/ZF2/resources/languages/pt_BR/Zend_Captcha.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+
+/**
+ * EN-Revision: 07.Feb.2013
+ */
+return array(
+    // Zend_Captcha_ReCaptcha
+    "Missing captcha fields" => "Faltando campos do captcha",
+    "Failed to validate captcha" => "A validação do captcha falhou",
+    "Captcha value is wrong: %value%" => "Valor do captcha está errado: %value%",
+
+    // Zend_Captcha_Word
+    "Empty captcha value" => "Valor do captcha vazio",
+    "Captcha ID field is missing" => "Faltando campo ID do captcha",
+    "Captcha value is wrong" => "Valor do captcha está errado",
+);
diff --git a/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php b/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
index 35056b25893..ce925b8d590 100644
--- a/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
@@ -12,156 +12,168 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
 
 /**
- * EN-Revision: 25.Jul.2011
+ * EN-Revision: 06.Feb.2013
  */
 return array(
-    // Zend_Validate_Alnum
+    // Zend_I18n_Validator_Alnum
     "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' contém caracteres que não são alfabéticos e nem dígitos",
-    "'%value%' is an empty string" => "'%value%' é uma string vazia",
+    "The input contains characters which are non alphabetic and no digits" => "O valor de entrada contém caracteres que não são alfabéticos e nem dígitos",
+    "The input is an empty string" => "O valor de entrada é uma string vazia",
 
-    // Zend_Validate_Alpha
+    // Zend_I18n_Validator_Alpha
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' contains non alphabetic characters" => "'%value%' contém caracteres não alfabéticos",
-    "'%value%' is an empty string" => "'%value%' é uma string vazia",
+    "The input contains non alphabetic characters" => "O valor de entrada contém caracteres não alfabéticos",
+    "The input is an empty string" => "O valor de entrada é uma string vazia",
 
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "'%value%' falhou na validação do checksum",
-    "'%value%' contains invalid characters" => "'%value%' contém caracteres inválidos",
-    "'%value%' should have a length of %length% characters" => "'%value%' tem um comprimento de %length% caracteres",
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser string",
-
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' não está entre '%min%' e '%max%', inclusivamente",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' não está exatamente entre '%min%' e '%max%'",
+    // Zend_I18n_Validator_Float
+    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
+    "The input does not appear to be a float" => "O valor de entrada não parece ser to tipo float",
 
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "'%value%' não é válido",
-    "An exception has been raised within the callback" => "Falha na chamada de retorno, exceção retornada",
+    // Zend_I18n_Validator_Int
+    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
+    "The input does not appear to be an integer" => "O valor de entrada não parece ser do tipo inteiro",
 
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' deve conter entre 13 e 19 dígitos",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "O algoritmo de Luhn (checksum de módulo 10) falhou em '%value%'",
+    // Zend_I18n_Validator_PostCode
+    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
+    "The input does not appear to be a postal code" => "O valor de entrada não parece ser um código postal",
+    "An exception has been raised while validating the input" => "Uma exceção foi lançada durante a validação do valor de entrada",
 
-    // Zend_Validate_CreditCard
-    "'%value%' seems to contain an invalid checksum" => "'%value%' contém um checksum inválido",
-    "'%value%' must contain only digits" => "'%value%' deve conter apenas dígitos",
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' contains an invalid amount of digits" => "'%value%' contém uma quantidade inválida de dígitos",
-    "'%value%' is not from an allowed institute" => "'%value%' não vem de uma instituição autorizada",
-    "'%value%' seems to be an invalid creditcard number" => "'%value%' é um número de cartão de crédito inválido",
-    "An exception has been raised while validating '%value%'" => "O serviço devolveu um erro enquanto validava '%value%'",
+    // Zend_Validator_Barcode
+    "The input failed checksum validation" => "O valor de entrada falhou na validação do checksum",
+    "The input contains invalid characters" => "O valor de entrada contém caracteres inválidos",
+    "The input should have a length of %length% characters" => "O valor de entrada deveria ter %length% caracteres de comprimento",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser string",
 
-    // Zend_Validate_Date
-    "Invalid type given. String, integer, array or Zend_Date expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou Zend_Date",
-    "'%value%' does not appear to be a valid date" => "'%value%' não parece ser uma data válida",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' não se encaixa no formato de data '%format%'",
+    // Zend_Validator_Between
+    "The input is not between '%min%' and '%max%', inclusively" => "O valor de entrada não está entre '%min%' e '%max%', inclusivamente",
+    "The input is not strictly between '%min%' and '%max%'" => "O valor de entrada não está exatamente entre '%min%' e '%max%'",
 
-    // Zend_Validate_Db_Abstract
-    "No record matching '%value%' was found" => "Não foram encontrados registros para '%value%'",
-    "A record matching '%value%' was found" => "Um registro foi encontrado para '%value%'",
+    // Zend_Validator_Callback
+    "The input is not valid" => "O valor de entrada não é válido",
+    "An exception has been raised within the callback" => "Uma exceçao foi lançada na chamada de retorno",
 
-    // Zend_Validate_Digits
+    // Zend_Validator_CreditCard
+    "The input seems to contain an invalid checksum" => "O valor de entrada parece conter um checksum inválido",
+    "The input must contain only digits" => "O valor de entrada deve conter apenas dígitos",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser string",
+    "The input contains an invalid amount of digits" => "O valor de entrada contém uma quantidade inválida de dígitos",
+    "The input is not from an allowed institute" => "O valor de entrada não vem de uma instituição autorizada",
+    "The input seems to be an invalid creditcard number" => "O valor de entrada parece ser um número de cartão de crédito inválido",
+    "An exception has been raised while validating the input" => "Uma exceçao foi lançada durante a validação do valor de entrada",
+
+    // Zend_Validator_Csrf
+    "The form submitted did not originate from the expected site" => "O formulário apresentado não se originou a partir do site esperado",
+
+    // Zend_Validator_Date
+    "Invalid type given. String, integer, array or DateTime expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou DateTime",
+    "The input does not appear to be a valid date" => "O valor de entrada não parece ser uma data válida",
+    "The input does not fit the date format '%format%'" => "O valor de entrada não se encaixa no formato de data '%format%'",
+
+    // Zend_Validator_DateStep
+    "Invalid type given. String, integer, array or DateTime expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou DateTime",
+    "The input does not appear to be a valid date" => "O valor de entrada não parece ser uma data válida",
+    "The input is not a valid step" => "O valor de entrada não é um passo válido",
+
+    // Zend_Validator_Db_AbstractDb
+    "No record matching the input was found" => "Não foi encontrado nenhum registro para o valor de entrada",
+    "A record matching the input was found" => "Um registro foi encontrado para o valor de entrada",
+
+    // Zend_Validator_Digits
+    "The input must contain only digits" => "O valor de entrada deve conter apenas dígitos",
+    "The input is an empty string" => "O valor de entrada é uma string vazia",
     "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
-    "'%value%' must contain only digits" => "'%value%' devem conter apenas dígitos",
-    "'%value%' is an empty string" => "'%value%' é uma string vazia",
 
-    // Zend_Validate_EmailAddress
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' não é um endereço de e-mail válido no formato local-part@hostname",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' não é um nome de host válido para o endereço de e-mail '%value%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' não parece ter um registro MX válido para o endereço de e-mail '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network." => "'%hostname%' não é um segmento de rede roteável. O endereço de e-mail '%value%' não deve ser resolvido a partir de um rede pública.",
+    // Zend_Validator_EmailAddress
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser do tipo string",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "O valor de entrada não é um endereço de e-mail válido. Use o formato local-part@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' não é um nome de host válido para o endereço de e-mail",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' não parece ter um registro MX ou A válido para o endereço de e-mail",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' não é um segmento de rede roteável. O endereço de e-mail não deve ser resolvido a partir de uma rede pública.",
     "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' não corresponde com o formato dot-atom",
     "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' não corresponde com o formato quoted-string",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' não é uma parte local válida para o endereço de e-mail '%value%'",
-    "'%value%' exceeds the allowed length" => "'%value%' excede o comprimento permitido",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' não é uma parte local válida para o endereço de e-mail",
+    "The input exceeds the allowed length" => "O valor de entrada excede o comprimento permitido",
 
-    // Zend_Validate_File_Count
+    // Zend_Validator_Explode
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser do tipo string",
+
+    // Zend_Validator_File_Count
     "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Há muitos arquivos, são permitidos no máximo '%max%', mas '%count%' foram fornecidos",
     "Too few files, minimum '%min%' are expected but '%count%' are given" => "Há poucos arquivos, são esperados no mínimo '%min%', mas '%count%' foram fornecidos",
 
-    // Zend_Validate_File_Crc32
-    "File '%value%' does not match the given crc32 hashes" => "O arquivo '%value%' não corresponde ao hash crc32 fornecido",
-    "A crc32 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash crc32 para o arquivo fornecido",
+    // Zend_Validator_File_Crc32
+    "File '%value%' does not match the given crc32 hashes" => "O arquivo '%value%' não corresponde a hash crc32 fornecido",
+    "A crc32 hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash crc32 para o arquivo fornecido",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_ExcludeExtension
-    "File '%value%' has a false extension" => "O arquivo '%value%' possui a extensão incorreta",
-    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
-
-    // Zend_Validate_File_ExcludeMimeType
-    "File '%value%' has a false mimetype of '%type%'" => "O arquivo '%value%' tem o mimetype incorreto: '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
+    // Zend_Validator_File_ExcludeExtension
+    "File '%value%' has a false extension" => "O arquivo '%value%' possui uma extensão incorreta",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Exists
+    // Zend_Validator_File_Exists
     "File '%value%' does not exist" => "O arquivo '%value%' não existe",
 
-    // Zend_Validate_File_Extension
-    "File '%value%' has a false extension" => "O arquivo '%value%' possui a extensão incorreta",
+    // Zend_Validator_File_Extension
+    "File '%value%' has a false extension" => "O arquivo '%value%' possui uma extensão incorreta",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_FilesSize
+    // Zend_Validator_File_FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Todos os arquivos devem ter um tamanho máximo de '%max%', mas um tamanho de '%size%' foi detectado",
     "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Todos os arquivos devem ter um tamanho mínimo de '%min%', mas um tamanho de '%size%' foi detectado",
-    "One or more files can not be read" => "Um ou mais arquivos não puderam ser lidos",
-
-    // Zend_Validate_File_Hash
-    "File '%value%' does not match the given hashes" => "O arquivo '%value%' não corresponde ao hash fornecido",
-    "A hash could not be evaluated for the given file" => "Não foi possível avaliar um hash para o arquivo fornecido",
-    "File '%value%' is not readable or does not exist"  => "O arquivo '%value%' não pode ser encontrado ou não existe",
-
-    // Zend_Validate_File_ImageSize
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "A largura máxima permitida para a imagem '%value%' deve ser '%maxwidth%', mas '%width%' foi detectada",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "A largura mínima esperada para a imagem '%value%' deve ser '%minwidth%', mas '%width%' foi detectada",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "A altura máxima permitida para a imagem '%value%' deve ser '%maxheight%', mas '%height%' foi detectada",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "A altura mínima esperada para a imagem '%value%' deve ser '%minheight%', mas '%height%' foi detectada",
+    "One or more files can not be read" => "Um ou mais arquivos não podem ser lidos",
+
+    // Zend_Validator_File_Hash
+    "File '%value%' does not match the given hashes" => "O arquivo '%value%' não corresponde as hashes fornecidas",
+    "A hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash para o arquivo fornecido",
+    "File '%value%' is not readable or does not exist"  => "O arquivo '%value%' não pode ser lido ou não existe",
+
+    // Zend_Validator_File_ImageSize
+    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "A largura máxima permitida para a imagem '%value%' deveria ser '%maxwidth%', mas '%width%' foi detectada",
+    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "A largura mínima esperada para a imagem '%value%' deveria ser '%minwidth%', mas '%width%' foi detectada",
+    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "A altura máxima permitida para a imagem '%value%' deveria ser '%maxheight%', mas '%height%' foi detectada",
+    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "A altura mínima esperada para a imagem '%value%' deveria ser '%minheight%', mas '%height%' foi detectada",
     "The size of image '%value%' could not be detected" => "O tamanho da imagem '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_IsCompressed
+    // Zend_Validator_File_IsCompressed
     "File '%value%' is not compressed, '%type%' detected" => "O arquivo '%value%' não está compactado: '%type%' detectado",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_IsImage
+    // Zend_Validator_File_IsImage
     "File '%value%' is no image, '%type%' detected" => "O arquivo '%value%' não é uma imagem: '%type%' detectado",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Md5
-    "File '%value%' does not match the given md5 hashes" => "O arquivo '%value%' não corresponde ao hash md5 fornecido",
-    "A md5 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash md5 para o arquivo fornecido",
+    // Zend_Validator_File_Md5
+    "File '%value%' does not match the given md5 hashes" => "O arquivo '%value%' não corresponde as hashes md5 fornecidas",
+    "A md5 hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash md5 para o arquivo fornecido",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_MimeType
+    // Zend_Validator_File_MimeType
     "File '%value%' has a false mimetype of '%type%'" => "O arquivo '%value%' tem o mimetype incorreto: '%type%'",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_NotExists
+    // Zend_Validator_File_NotExists
     "File '%value%' exists" => "O arquivo '%value%' existe",
 
-    // Zend_Validate_File_Sha1
-    "File '%value%' does not match the given sha1 hashes" => "O arquivo '%value%' não corresponde ao hash sha1 fornecido",
-    "A sha1 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash sha1 para o arquivo fornecido",
+    // Zend_Validator_File_Sha1
+    "File '%value%' does not match the given sha1 hashes" => "O arquivo '%value%' não corresponde as hashes sha1 fornecidas",
+    "A sha1 hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash sha1 para o arquivo fornecido",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Size
-    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "O tamanho máximo permitido para o arquivo '%value%' é '%max%', mas '%size%' foram detectados",
-    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "O tamanho mínimo esperado para o arquivo '%value%' é '%min%', mas '%size%' foram detectados",
+    // Zend_Validator_File_Size
+    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "O tamanho máximo permitido para o arquivo '%value%' é '%max%', mas '%size%' foi detectado",
+    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "O tamanho mínimo esperado para o arquivo '%value%' é '%min%', mas '%size%' foi detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Upload
+    // Zend_Validator_File_Upload
     "File '%value%' exceeds the defined ini size" => "O arquivo '%value%' excede o tamanho definido na configuração",
     "File '%value%' exceeds the defined form size" => "O arquivo '%value%' excede o tamanho definido do formulário",
     "File '%value%' was only partially uploaded" => "O arquivo '%value%' foi apenas parcialmente enviado",
@@ -169,97 +181,108 @@ return array(
     "No temporary directory was found for file '%value%'" => "Nenhum diretório temporário foi encontrado para o arquivo '%value%'",
     "File '%value%' can't be written" => "O arquivo '%value%' não pôde ser escrito",
     "A PHP extension returned an error while uploading the file '%value%'" => "Uma extensão do PHP retornou um erro enquanto o arquivo '%value%' era enviado",
-    "File '%value%' was illegally uploaded. This could be a possible attack" => "O arquivo '%value%' foi enviado ilegalmente. Este poderia ser um possível ataque",
+    "File '%value%' was illegally uploaded. This could be a possible attack" => "O arquivo '%value%' foi enviado ilegalmente. Isto poderia ser um possível ataque",
     "File '%value%' was not found" => "O arquivo '%value%' não foi encontrado",
     "Unknown error while uploading file '%value%'" => "Erro desconhecido ao enviar o arquivo '%value%'",
 
-    // Zend_Validate_File_WordCount
+    // Zend_Validator_File_UploadFile
+    "File exceeds the defined ini size" => "O arquivo excede o tamanho definido na configuração",
+    "File exceeds the defined form size" => "O arquivo excede o tamanho definido do formulário",
+    "File was only partially uploaded" => "O arquivo foi apenas parcialmente enviado",
+    "File was not uploaded" => "O arquivo não foi enviado",
+    "No temporary directory was found for file" => "Nenhum diretório temporário foi encontrado para o arquivo",
+    "File can't be written" => "O arquivo não pôde ser escrito",
+    "A PHP extension returned an error while uploading the file" => "Uma extensão do PHP retornou um erro enquanto o arquivo era enviado",
+    "File was illegally uploaded. This could be a possible attack" => "O arquivo foi enviado ilegalmente. Isto poderia ser um possível ataque",
+    "File was not found" => "O arquivo não foi encontrado",
+    "Unknown error while uploading file" => "Erro desconhecido ao enviar o arquivo",
+
+    // Zend_Validator_File_WordCount
     "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Há muitas palavras, são permitidas no máximo '%max%', mas '%count%' foram contadas",
     "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Há poucas palavras, são esperadas no mínimo '%min%', mas '%count%' foram contadas",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_Float
-    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
-    "'%value%' does not appear to be a float" => "'%value%' não parece ser um float",
-
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' não é maior que '%min%'",
-
-    // Zend_Validate_Hex
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' não contém somente caracteres hexadecimais",
-
-    // Zend_Validate_Hostname
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' parece ser um endereço de IP, mas endereços de IP não são permitidos",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' parece ser um hostname de DNS, mas o TLD não corresponde a nenhum TLD conhecido",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' parece ser um hostname de DNS, mas contém um traço em uma posição inválida",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' parece ser um hostname de DNS, mas não corresponde ao esquema de hostname para o TLD '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' parece ser um hostname de DNS, mas o TLD não pôde ser extraído",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' não corresponde com a estrutura esperada para um hostname de DNS",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' não parece ser um nome de rede local válido",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' parece ser um nome de rede local, mas os nomes de rede local não são permitidos",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' parece ser um hostname de DNS, mas a notação punycode fornecida não pode ser decodificada",
-    "'%value%' does not appear to be a valid URI hostname" => "'%value%' não parece ser um URI hostname válido",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "País desconhecido para o IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "'%value%' não é um formato IBAN válido",
-    "'%value%' has failed the IBAN check" => "'%value%' falhou na verificação do IBAN",
-
-    // Zend_Validate_Identical
+    // Zend_Validator_GreaterThan
+    "The input is not greater than '%min%'" => "O valor de entrada não é maior do que '%min%'",
+    "The input is not greater or equal than '%min%'" => "O valor de entrada não é maior ou igual a '%min%'",
+
+    // Zend_Validator_Hex
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser to tipo string",
+    "The input contains non-hexadecimal characters" => "O valor de entrada contém caracteres não-hexadecimais",
+
+    // Zend_Validator_Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "O valor de entrada parece ser um hostname de DNS, mas a notação punycode fornecida não pode ser decodificada",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser do tipo string",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "O valor de entrada parece ser um hostname de DNS, mas contém um traço em uma posição inválida",
+    "The input does not match the expected structure for a DNS hostname" => "O valor de entrada não corresponde com a estrutura esperada para um hostname de DNS",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "O valor de entrada parece ser um hostname de DNS, mas não corresponde ao esquema de hostname para o TLD '%tld%'",
+    "The input does not appear to be a valid local network name" => "O valor de entrada não parece ser um nome de rede local válido",
+    "The input does not appear to be a valid URI hostname" => "O valor de entrada não parece ser um URI hostname válido",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "O valor de entrada parece ser um endereço de IP, mas endereços de IP não são permitidos",
+    "The input appears to be a local network name but local network names are not allowed" => "O valor de entrada parece ser um nome de rede local, mas os nomes de rede local não são permitidos",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "O valor de entrada parece ser um hostname de DNS, mas o TLD não pôde ser extraído",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "O valor de entrada parece ser um hostname de DNS, mas o TLD não corresponde a nenhum TLD conhecido",
+
+    // Zend_Validator_Iban
+    "Unknown country within the IBAN" => "País desconhecido para o IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Países fora da Área Única de Pagamentos em Euros (SEPA) não são suportados",
+    "The input has a false IBAN format" => "O valor de entrada não é um formato IBAN válido",
+    "The input has failed the IBAN check" => "O valor de entrada falhou na verificação do IBAN",
+
+    // Zend_Validator_Identical
     "The two given tokens do not match" => "Os dois tokens fornecidos não combinam",
     "No token was provided to match against" => "Nenhum token foi fornecido para a comparação",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "'%value%' não faz parte dos valores esperados",
-
-    // Zend_Validate_Int
-    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
-    "'%value%' does not appear to be an integer" => "'%value%' não parece ser um número inteiro",
+    // Zend_Validator_InArray
+    "The input was not found in the haystack" => "O valor de entrada não faz parte dos valores esperados",
 
-    // Zend_Validate_Ip
+    // Zend_Validator_Ip
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' não parece ser um endereço de IP válido",
+    "The input does not appear to be a valid IP address" => "O valor de entrada não parece ser um endereço de IP válido",
 
-    // Zend_Validate_Isbn
+    // Zend_Validator_Isbn
     "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
-    "'%value%' is not a valid ISBN number" => "'%value%' não é um número ISBN válido",
+    "The input is not a valid ISBN number" => "O valor de entrada não é um número ISBN válido",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' não é menor que '%max%'",
+    // Zend_Validator_LessThan
+    "The input is not less than '%max%'" => "O valor de entrada não é menor do que '%max%'",
+    "The input is not less or equal than '%max%'" => "O valor de entrada não é menor ou igual a '%max%'",
 
-    // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "O tipo especificado é inválido, o valor deve ser float, string, matriz, booleano ou inteiro",
+    // Zend_Validator_NotEmpty
     "Value is required and can't be empty" => "O valor é obrigatório e não pode estar vazio",
+    "Invalid type given. String, integer, float, boolean or array expected" => "O tipo especificado é inválido, o valor deve ser float, string, matriz, booleano ou inteiro",
 
-    // Zend_Validate_PostCode
-    "Invalid type given. String or integer expected" => "O tipo especificado é inválido. O valor deve ser uma string ou um inteiro",
-    "'%value%' does not appear to be a postal code" => "'%value%' não parece ser um código postal",
-
-    // Zend_Validate_Regex
+    // Zend_Validator_Regex
     "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' não corresponde ao padrão '%pattern%'",
+    "The input does not match against pattern '%pattern%'" => "O valor de entrada não corresponde ao padrão '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Houve um erro interno durante o uso do padrão '%pattern%'",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' não é um changefreq de sitemap válido",
+    // Zend_Validator_Sitemap_Changefreq
+    "The input is not a valid sitemap changefreq" => "O valor de entrada não é um changefreq (frequência de alterações) de sitemap válido",
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' não é um lastmod de sitemap válido",
+    // Zend_Validator_Sitemap_Lastmod
+    "The input is not a valid sitemap lastmod" => "O valor de entrada não é um lastmod (última modificação) de sitemap válido",
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' não é uma localização de sitemap válida",
+    // Zend_Validator_Sitemap_Loc
+    "The input is not a valid sitemap location" => "O valor de entrada não é uma localização de sitemap válida",
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' não é uma prioridade de sitemap válida",
+    // Zend_Validator_Sitemap_Priority
+    "The input is not a valid sitemap priority" => "O valor de entrada não é uma prioridade de sitemap válida",
     "Invalid type given. Numeric string, integer or float expected" => "O tipo especificado é inválido, o valor deve ser um inteiro, um float ou uma string numérica",
 
-    // Zend_Validate_StringLength
+    // Zend_Validator_Step
+    "Invalid value given. Scalar expected" => "O valor especificado é inválido, o valor deve ser escalar",
+    "The input is not a valid step" => "O valor de entrada não é um passo válido",
+
+    // Zend_Validator_StringLength
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "The input is less than %min% characters long" => "O tamanho do valor de entrada é inferior a %min% caracteres",
+    "The input is more than %max% characters long" => "O tamanho do valor de entrada é superior a %max% caracteres",
+
+    // Zend_Validator_Uri
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' is less than %min% characters long" => "O tamanho de '%value%' é inferior a %min% caracteres",
-    "'%value%' is more than %max% characters long" => "O tamanho de '%value%' é superior a %max% caracteres",
+    "The input does not appear to be a valid Uri" => "O valor de entrada não parece ser uma Uri válida",
 );
diff --git a/vendor/ZF2/resources/languages/ru/Zend_Validate.php b/vendor/ZF2/resources/languages/ru/Zend_Validate.php
index 8cd8ccbfe4f..50e15ba28c5 100644
--- a/vendor/ZF2/resources/languages/ru/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/ru/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/se/Zend_Captcha.php b/vendor/ZF2/resources/languages/se/Zend_Captcha.php
index 935aea0ea22..ba51e141b14 100644
--- a/vendor/ZF2/resources/languages/se/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/se/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/se/Zend_Validate.php b/vendor/ZF2/resources/languages/se/Zend_Validate.php
index e50a533eecc..9ae59533044 100644
--- a/vendor/ZF2/resources/languages/se/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/se/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sk/Zend_Captcha.php b/vendor/ZF2/resources/languages/sk/Zend_Captcha.php
index de4e55b64d9..88add819645 100644
--- a/vendor/ZF2/resources/languages/sk/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/sk/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sk/Zend_Validate.php b/vendor/ZF2/resources/languages/sk/Zend_Validate.php
index 13c6869b8cc..4cf8e783fc9 100644
--- a/vendor/ZF2/resources/languages/sk/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/sk/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sl/Zend_Captcha.php b/vendor/ZF2/resources/languages/sl/Zend_Captcha.php
index 1e3ba1057a3..f902185dafa 100644
--- a/vendor/ZF2/resources/languages/sl/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/sl/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sl/Zend_Validate.php b/vendor/ZF2/resources/languages/sl/Zend_Validate.php
index b13a2b6be9f..e9fff19cebf 100644
--- a/vendor/ZF2/resources/languages/sl/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/sl/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sr/Zend_Validate.php b/vendor/ZF2/resources/languages/sr/Zend_Validate.php
index db850685c44..d5971ba963a 100644
--- a/vendor/ZF2/resources/languages/sr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/sr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/tr/Zend_Captcha.php b/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
index 1bb7e6d9903..1243a2c29cc 100644
--- a/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/tr/Zend_Validate.php b/vendor/ZF2/resources/languages/tr/Zend_Validate.php
index 2317a69dade..baa9e202631 100644
--- a/vendor/ZF2/resources/languages/tr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/tr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/uk/Zend_Validate.php b/vendor/ZF2/resources/languages/uk/Zend_Validate.php
index 6d1d51a56e8..ab5445894be 100644
--- a/vendor/ZF2/resources/languages/uk/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/uk/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/zh/Zend_Captcha.php b/vendor/ZF2/resources/languages/zh/Zend_Captcha.php
index 5d7d880341a..e7c0c2560b0 100644
--- a/vendor/ZF2/resources/languages/zh/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/zh/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/zh/Zend_Validate.php b/vendor/ZF2/resources/languages/zh/Zend_Validate.php
index 3207375a3aa..37f134a5601 100644
--- a/vendor/ZF2/resources/languages/zh/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/zh/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-- 
GitLab